Tumgik
#page 7519
pesterloglog · 9 months
Text
Vriska Serket, Terezi Pyrope, Roxy Lalonde, Dave Strider, Arquiusprite, Kanaya Maryam, Karkat Vantas, Tavrosprite, Jake English, Rosesprite, John Egbert, Rose Lalonde, Jaspersprite
Act 6, page 7515-7545
VRISKA: Ok every8ody, time's up!!!!!!!!
VRISKA: Wrap up your convers8tions. Our tactical meeting is officially 8ack in order!
VRISKA: Alright, has everyone shut up yet?
TEREZI: 1 TH1NK SO
VRISKA: Gr8!
VRISKA: Let's not waste another second then. I'm diving right into this.
VRISKA: Everyone pay close attention, and try to keep up!
VRISKA: I'll start 8y descri8ing the exact n8ture of the threats we're dealing with, and go from there.
VRISKA: According to intelligence gathered during our trip along with some reconnaissance work on arrival, this session has four, possi8ly five major adversaries.
VRISKA: The Condesce of course, and three Jack Noirs of varying levels of danger.
VRISKA: Plus, there's a female prospitian of equivalent power to the strongest Jack. She's sort of an x-factor.
VRISKA: It's hard to accur8tely gauge her threat level, 8ut I'm not a8out to take any chances.
VRISKA: All these threats are just outside the incipisphere, en route to the session as we speak.
VRISKA: Once they arrive, all hell will 8reak loose. That's when endgame is officially go.
VRISKA: You only have a couple hours to prepare, so you need to listen to every word I say.
VRISKA: Victory will depend on following my plan to the letter!
ROXY: so.....
ROXY: wheres the condesce right now?
VRISKA: She's on Derse, preparing for the same critical convergence herself.
VRISKA: After our little prison raid caught her completely off guard, costing her some hostages and key points of leverage, we've essentially reached a temporary ceasefire 8y default while 8oth sides regroup.
VRISKA: This is not how she expected things would go.
VRISKA: We had the advantage of surprise that time, 8ut we won't 8e so lucky next time.
VRISKA: She's w8ting for the Jacks to get here just like we are.
VRISKA: Once they do, she'll instantly have the upper hand, and she knows this.
VRISKA: Her particular com8ination of a8ilities along with her supervillain-like cunning make her an EXTREMELY DANGEROUS part of this equation!
VRISKA: That's why we need a good strategy in place 8efore the shit hits the 8reeze 8lender.
DAVE: so in addition for waiting for way too many jacks to get here
DAVE: were also waiting for my bro too right
DAVE: who... gets here at the same time or...
VRISKA: Yes, the other Strider was 8anished to the periphery as well, and is in transit.
VRISKA: He'll arrive at the same time, give or take, and should 8e a gr8 tactical asset.
VRISKA: Sources tell me the dude is pretty good with a sword.
ARQUIUSPRITE: 🕶️--> That's me
ARQUIUSPRITE: 🕶️--> I'm the source
ARQUIUSPRITE: 🕶️--> I told her that, and it's true
VRISKA: Yes, thank you Arquius.
KANAYA: This Is Starting To Sound A Bit Complicated
KANAYA: How Are We Supposed To Keep Track Of All These Villains And Heroes Coming And Going When And Where
VRISKA: You're right, Kanaya.
VRISKA: At this point in the meeting, I think we could use some diagrams to help with the 8attleplans.
VRISKA: Karkat?
VRISKA: If you wouldn't mind.
KARKAT: I STILL HAVE NO IDEA WHY YOU PUT ME ON DRAWING DUTY.
KARKAT: I'M EASILY THE WORST ARTIST HERE.
KARKAT: AND IN A SETTING THAT INCLUDES DAVE, LET'S GET REAL. THAT'S NO SMALL FEAT.
VRISKA: I specifically assigned you to diagramming duty so that it would keep you occupied.
VRISKA: That way, you'd stand a chance of keeping your mouth shut while I talk strategy.
KARKAT: THAT'S WORKED OUT GREAT SO FAR, HASN'T IT?
KARKAT: WE'VE LOST HOW MANY STRATEGY-SECONDS TO ME COMPLAINING ABOUT DRAWING ALREADY??
VRISKA: Sure, 8ut I know that drawing requires a lot of concentr8tion from you.
VRISKA: Once you're in the zone, I expect you'll simmer down.
KARKAT: WOW, FUCK YOU!
KARKAT: YOU'RE PROBABLY RIGHT, BUT FUCK YOU NEVERTHELESS!
KARKAT: WHERE THE SHIT IS MY ART PENCIL. I HAVE SOME DRAWING TO DO.
VRISKA: Let's run down the threat list, with a full de8riefing on each threat.
VRISKA: We'll start with the 8ig fish herself, the former empress of our world, Her Imperious Condescension.
VRISKA: The only reason we've 8een a8le to temporarily neutralize her stranglehold on this session is 8y taking two major pieces away from her, Harley and Crocker.
VRISKA: Rest assured, she's already scheming to reassert her dominance, and if it weren't for my intervention here, I'd 8et everything I had on the sea witch.
VRISKA: She's spent centuries upgrading her a8ilities which now include 8OTH kinds of telekinesis. The simpler variety more common to rust 8loods, and the nasty kind which sometimes yellow 8looded mutants have involving all the fucking eye lasers and shit.
VRISKA: If that weren't enough, she has a mix of telepathic a8ilities too, like mine, plus the animal communion kind more typical of 8rown 8loods.
TAVROSPRITE: lIKE ME!
VRISKA: Yes Tavros, like you.
VRISKA: This means she can hijack animals AND trolls, assuming they aren't particularly resistant to influence, like me o8viously.
VRISKA: Humans I'm guessing are still off limits to her influence, unless they've got some animal 8lood in them, which is what makes Jade such a dangerous element here.
VRISKA: One of the mission critical priorities is to make sure she stays asleep. If she ever wakes up, and the Condesce takes control again, that's pro8a8ly game over for you guys.
VRISKA: Jade's first guardian a8ilities make her too much to deal with on top of everything else.
VRISKA: It's also possi8le that the Condesce may have some sway over the prospitian and one of the Jacks 8ecause of their part-dog n8ture too.
VRISKA: It's hard to say what their level of resistance is, so I really can't 8e sure.
VRISKA: Strategically, it's 8est to err on the safe side though, and presume this could 8e an issue.
VRISKA: This is why taking on the Condesce has to 8e a HUGE PRIORITY!
VRISKA: Ideally, you should 8e trying to kill or disa8le her as quickly as possi8le.
VRISKA: 8ut if that's easier said than done, then what you need to do is keep her OCCUPIED!
VRISKA: Throw everything you have at her. Whatever crazy powers you've got.
VRISKA: Just keep her 8usy!
VRISKA: Distracted enough 8y a 8unch of pesky kids so she won't have time to get clever with her powers.
VRISKA: This is the 8est defense against the off-chance she might 8e a8le to sway the dog Jack and prospitian, AND a failsafe in case Jade wakes up for whatever reason.
VRISKA: When it comes to killing her, I don't have much to advise.
VRISKA: There's no intel on her weaknesses or anything like that. In fact, I'd 8et she doesnt have any.
VRISKA: Like any powerful endgame 8oss, you just have to keep hammering away at her until she's dead.
VRISKA: Nuff said!
VRISKA: This 8rings us to the Jacks.
VRISKA: To differenti8, I'll give them nicknames.
VRISKA: There's Dog Jack, Lord Jack, and Ro8o Jack.
VRISKA: Let's talk a8out them in order of threat level.
VRISKA: Karkat, I'm going to need another shitty drawing.
VRISKA: This time, of Dog Jack and his prospitian counterpart, please.
VRISKA: Ah yes. I see you are intent on 8eing a wiggler a8out this, as we have all come to expect.
VRISKA: Whatever, I've 8een working within the confines of everyone's stupid limit8tions already, so I might as well work around yours as well.
VRISKA: There, perfect.
VRISKA: Dog Jack is easily the most powerful adversary of the 8unch, in terms of pure physical capa8ility.
VRISKA: The Condesce has the edge in guile and flexi8ility, and Lord Jack has a ton of offensive power too...
VRISKA: 8ut there's nothing quite like the first guardian a8ilities to give someone an overwhelming tactical advantage.
VRISKA: The a8ility to teleport anywhere in the session any time, or ANYONE anywhere any time, while having access to an inexhausti8le power supply from the green sun really makes it no contest, even against an otherwise awesome com8atant.
VRISKA: If it were just him you had to deal with, I wouldn't like your odds, honestly.
VRISKA: 8ut luckily for us, there's a major factor here which should mostly neutralize him during this huge melee, which is the prospitian.
VRISKA: Power-wise, she's a precisely even match for him.
VRISKA: And 8etter yet, she apparently can't stand the guy.
VRISKA: I still don't know what her real motives are, 8ut you know what they say. Enemy of my enemy and all.
VRISKA: So I say let her have at him, and if the opportunity presents itself, help her defeat him.
VRISKA: I will also give this 8it of advice.
VRISKA: If Jade ever wakes up, AND THE CONDESCE IS SUFFICIENTLY PREOCCUPIED, make sure Jade goes nowhere near the Condesce, and sic her on Dog Jack.
VRISKA: She's the only one here who's a8ilities are on par with his, so that's where they're 8est applied.
VRISKA: Got it? Good.
VRISKA: Next, Lord Jack.
VRISKA: Karkat?
KARKAT: HOW DOES THIS LOOK?
VRISKA: Gr8!
VRISKA: I think I can work with this.
VRISKA: Ah yes. Another true work of art has 8een made here today.
VRISKA: Anyway, this ugly customer you see here?
VRISKA: This is the Jack n8tive to the session we're in now.
VRISKA: Somehow he got possessed 8y, or like, INFUSED with...? Lord English's crazy, ridiculously destructive magical energy.
VRISKA: I have no idea why or how this happened, how it's theoretically even possi8le, or why we should actually care.
VRISKA: The fact of the matter is, it happened, and now we have to deal with this hideous rain8ow-eyed monstrosity.
VRISKA: Given what I have learned a8out Lord English's a8ilities, this will make his attacks quite lethal, and he will 8e EXTREMELY difficult to kill.
VRISKA: In fact, that fucking rain8ow energy might just give him the highest constitution ranking of any adversary, possi8ly making him the toughest one here to actually kill off.
VRISKA: The only reason he's not at Dog Tier threat level is 8ecause, for all his power, at least it's localized to wherever he happens to 8e.
VRISKA: He's a8out as slow as any of us lowly non-omnipotents.
VRISKA: He's not quite as relevant to keep occupied, or even to defeat, as the Condesce herself.
VRISKA: 8ut he's still going to 8e HUGE TROU8LE when he gets here.
VRISKA: You're going to need to stick some really good fighters on him.
VRISKA: My advice is also to SERIOUSLY prepare for casualties during that fight.
VRISKA: As the group's chief healer, Jane is going to need rapid access to the multiple fronts of this 8attle.
VRISKA: More on that l8ter.
VRISKA: That 8rings us to Ro8o Jack.
VRISKA: He's the Jack origin8ting from our session.
VRISKA: Remem8er him, Karkat?
VRISKA: We hatched a plan with him to take down the 8lack queen. Seems like so long ago, doesn't it?
VRISKA: Now apparently he's got some cy8ernetic upgrades?
VRISKA: Who the fuck knows how that happened, or for that matter, why or how he's on his way here now.
VRISKA: My mind 8oggles trying to even picture the amount of stupid shit he's 8een through 8etween now and when we knew him.
VRISKA: Put this on the ever lengthening list of gar8age that doesn't matter and no8ody cares a8out.
VRISKA: The fact is, we have no idea what his affili8tions are at this point, 8ut like I'm always saying...
VRISKA: 8est to just plan for the worst, and assume this is just another scru8 we've gotta kill.
VRISKA: He's the lowest on the threat level, though his various enhancements and accessories may pose more of a challenge than we 8argained for.
VRISKA: He's also traveling with a juju known for its high storage capacity, so he's possi8ly packing company.
VRISKA: May8e a LOT of company...
VRISKA: I won't get into that now though.
VRISKA: You're going to need to reserve a squad for dealing with this guy and whoever he's 8rought along for the ride.
VRISKA: It's a lesser priority, so I'd recommend an ensem8le of third-stringers.
VRISKA: No offense to whoever those 8rave souls may 8e!
VRISKA: Every lamewad has their place in an epic 8attle, and everyone's effort counts.
VRISKA: Eg8ert-looking kid, I'm looking at you.
JAKE: !
VRISKA: Possi8ly you too, Tavros.
VRISKA: May8e.
TAVROSPRITE: ,!
VRISKA: That covers the overall tactical situ8tion!
VRISKA: Gr8 jo8, Karkat.
VRISKA: Really, just an all around gr8, gr8 jo8. I mean that.
KARKAT: THANK YOU.
VRISKA: Now, listen...
VRISKA: We've got to keep these 8attles spread out across the session so you all don't start tripping on each other's toes, turning this into more of a clusterfuck than it already is.
VRISKA: That means you need to st8tion teams ready to intercept the Jacks wherever they're coming from.
VRISKA: You also need to launch your lightning-strike raid on the Condesce 8efore any of them get here.
VRISKA: As for your party's healer, like I said, she'll need to 8e highly mo8ile.
VRISKA: So what you'll need to do is lay out a network of key portals and transporters so she can make the rounds, and 8e in tight communic8tion with her.
VRISKA: One of you less relevant, more mo8ile folks should get on that now.
VRISKA: See? Scatter window portals like these around the various 8attle sites.
ROXY: yo did you loot my house or something...
VRISKA: Please don't interrupt.
VRISKA: Transportalizers will work too, if you can get them all hooked up right.
VRISKA: This is definitely 8usywork, 8ut it's also really important. So we need someone competent in charge of this.
ROSESPRITE: I think I can handle that.
VRISKA: Yeah?
ROSESPRITE: Yes.
ROSESPRITE: I'm quite mobile in this new form.
ROSESPRITE: Also I think my abilities will help with forecasting the optimal network to lay out, along with helping Jane coordinate her routes during battle.
ROSESPRITE: Plus, I have to admit.
ROSESPRITE: I kind of relish the idea of being a "less relevant" party member.
ROSESPRITE: Particularly since I think it is inherently true now.
VRISKA: Ok, Rose... um. Rosesprite?
VRISKA: That's gr8. You can volunteer for that jo8 if you want.
VRISKA: 8ut let's not get ahead of ourselves!
VRISKA: We'll 8e divvying up the roles momentarily.
VRISKA: 8ut, cool. We have you down for that. Again, it's critical.
VRISKA: The whole party will need to defend Crocker's life at all costs.
VRISKA: She CAN'T get sucked into any com8at!!!
VRISKA: If she dies, you could all 8e fucked.
VRISKA: 8e sure to fill her in on the logistics whenever Arquius has finished deprogramming her.
VRISKA: Everyone got it?
VRISKA: Awesome.
VRISKA: Since that pretty thoroughly covers the full tactical situ8tion, we can move on to the real strategizing.
VRISKA: NOW we can assign com8at roles. ::::)
JOHN: vriska, wait.
VRISKA: ????????
JOHN: before you go on, i just wanted to say...
JOHN: i'm really impressed with your strategic analysis so far!
JOHN: you really seem to be all over this. i wouldn't even know where to begin figuring all this stuff out.
JOHN: anyway, i'm glad we have you back on our side!
VRISKA: Aww, thanks John!
JOHN: just thought i'd say!
JOHN: i didn't want you to go through all this stuff for us, thinking it was going unappreciated.
JOHN: anyway, please continue!
VRISKA: You got it!
VRISKA: Now it's time to divide everyone into teams.
VRISKA: Let's go down the list of foes again, and assign party mem8ers to each 8attle.
VRISKA: Once again, starting from the top...
VRISKA: The Condesce.
VRISKA: We'll need a team to raid Derse again, 8ut this time for all the mar8les.
VRISKA: And remem8er, the raid has to start 8EFORE the rest of the action, to keep her from getting the upper hand.
VRISKA: And the party has to 8e at LEAST good enough to if not defeat her, keep her 8usy for a long time.
VRISKA: So who wants a piece of the sea witch?
ROXY: ME ROSE: ME.
VRISKA: Alright, I've got two takers from the Lalonde camp.
VRISKA: We'll need more though. Who else?
JOHN: i'll go!
VRISKA: You sure, John?
JOHN: i think so.
JOHN: from what you said, it sounds like this is the most important battle.
JOHN: if we don't keep her busy, everything could get messed up.
JOHN: i think i'd be good at that! i can use all my windy powers for distractions and such.
VRISKA: Ok. You're with the Lalondes then.
VRISKA: Make it count!
KANAYA: I May As Well Go Too
KANAYA: It Would Be A Shame If The Party Defeating The Woman Who Terrorized Our Planet For Ages Had No Representation From Our Species
VRISKA: Shame or not, I'm afraid that won't work Kanaya.
KANAYA: Why Not
VRISKA: You can't join their party. Well, not yet at least.
VRISKA: There's another critical role which you specifically need to play first.
VRISKA: We can't risk losing you in 8attle until it's complete.
KANAYA: What Is It
VRISKA: I'll explain l8ter! After the teams are set.
VRISKA: Ok, let's say Team Condesce is good enough for now, with John, Rose and Roxy.
VRISKA: Next foe: Dog Jack.
VRISKA: Like I said, we're 8anking on the prospitian keeping him 8usy, so he's not an immedi8te 8attle priority.
VRISKA: We won't design8 a team for him right now.
VRISKA: 8UT, as I mentioned, in the event Jade wakes up for some reason, she should 8e reserved exclusively for this fight.
VRISKA: That means someone needs to tell her, if not in person, then some other way.
VRISKA: Perhaps leave a reminder for her. May8e tied to her finger or something. :::;)
VRISKA: Others can join the fight against him if need 8e, once their targets have 8een dealt with.
VRISKA: Until then, 8etter to let the heavy hitters keep him in check.
VRISKA: Next: Lord Jack.
VRISKA: Who wants di8s on this guy?
DAVE: i guess thats me
VRISKA: Ok, Dave.
DAVE: there are all these rumors swirling around that ive gotta beat LE anyway
DAVE: which is probably bogus but w/e
DAVE: killing this guy at least would be the next best thing right
DAVE: so maybe if i do that i could like
DAVE: put the "prophecy" to rest
VRISKA: That logic sounds reasona8le to me.
VRISKA: For what it's worth, I never 8ought into the idea that you were supposed to 8e the one to kill English anyway.
VRISKA: So that's one down. Who else?
TEREZI: OK, WHY NOT
VRISKA: You sure, Terezi?
VRISKA: You're not immortal, remem8er. And this one's going to 8e tough.
TEREZI: YOU S41D W3 N33D GOOD F1GHT3RS TO GO 4T TH1S GUY
TEREZI: 4ND 1 TH1NK 1'M PR3TTY D3C3NT
TEREZI: 4T L34ST 4T ST4BB1NG TH1NGS
TEREZI: SO 1'LL GO
TEREZI: B3S1D3S...
TEREZI: *SOM3ON3* H4S TO W1TN3SS D4V3'S H3RO1SM, 1F H3 W4NTS TO B3 L3T OFF TH3 HOOK FOR TH4T PROPH3CY >:]
VRISKA: Hey, it's your decision!
VRISKA: Anyone else?
TEREZI: WH4T 4BOUT D4V3'S BRO?
TEREZI: 1 H34RD H3'S SUPPOS3D TO B3 HOT SH1T
DAVE: um
DAVE: yeah sure
DAVE: thats fine if uh
DAVE: youre comfortable volunteering someone who isnt here for a deadly battle
DAVE: its cool if you want to do that
VRISKA: Dave, come on.
VRISKA: As if it's not extremely likely he'd seek you out upon getting here anyway.
VRISKA: Why don't we just pencil him into the team as "Pro8a8ly"?
DAVE: ...........
VRISKA: Just 8e sure to de8rief him on the whole situation when he gets here.
VRISKA: Think you can handle that, Dave?
VRISKA: Ok, gr8!
VRISKA: Which reminds me...
VRISKA: What a8out you, Arquius?
VRISKA: How do you want to fit into this?
ARQUIUSPRITE: 🕶️--> I haven't decided yet
ARQUIUSPRITE: 🕶️--> I'm going to crunch some more numbers in the vast combat matri% I just compiled now, in the microblink of a nanosecond, to deduce the optimal strategic appropriation of my assets (i.e. muscles)
ARQUIUSPRITE: 🕶️--> Joining Real Dave in battle is semitempting, but I do not wish to horn in on Real Dirk's shit
ARQUIUSPRITE: 🕶️--> Instead I would prefer to blaze my own trail, with my own hooves
ARQUIUSPRITE: 🕶️--> I always wanted to do something really important and heroic
ARQUIUSPRITE: 🕶️--> I mean, aside from all the other stuff I have done like that, which is quite a lot
ARQUIUSPRITE: 🕶️--> But something quite grandiose, and perfectly unmistakable as a gesture turning the tide of fortune for all of e%istence
ARQUIUSPRITE: 🕶️--> This is what I have always desired
ARQUIUSPRITE: 🕶️--> Well, that is to say, both halves of me once had such an ambivalent desire, which was compromised by our respective internalized confli%
ARQUIUSPRITE: 🕶️--> But together, that desire is fully realized. No longer ambivalent
ARQUIUSPRITE: 🕶️--> Neigh, it is now fully bivalent. Perhaps even univalent
ARQUIUSPRITE: 🕶️--> I would like my gesture to shock everyone
ARQUIUSPRITE: 🕶️--> It must come from out of the b100, make virtually no sense, stun all involved, and have a lasting, profoundly unintelligible impact an all future and pseudofuture events
VRISKA:
ARQUIUSPRITE: 🕶️--> Does this answer your question
VRISKA: Oh!
VRISKA: Sorry, I was just temporarily mesmerized 8y your incredi8le spiel.
VRISKA: Needless to say, I a8solutely agree with your philosophy on heroic action and wanting to do something important.
VRISKA: In any case, you've earned the right to do whatever the fuck you want, just 8y dint of 8eing awesome.
VRISKA: End of story!
VRISKA: Ok, next...
VRISKA: We'll need to design8 a team for Ro8o Jack and his... entourage.
VRISKA: Alright, full disclosure. This is where things get kind of stupid.
VRISKA: Even talking a8out this guy and his crew is pro8a8ly a waste of good tactical analysis.
VRISKA: 8ut the fact is, he's going to 8e here, and you're going to have to deal with his 8ullshit.
VRISKA: I strongly recommend the dregs of your party get stuck with mop-up duty on this.
VRISKA: Really, I'm kind of laughing already. Oh man.
VRISKA: I really don't want to spoil too much fun for you guys, 8ut.
VRISKA: No, I shouldn't.
JOHN: what?
VRISKA: Ok, intelligence reports I have gathered, namely through a 8it of time hopping reconnaissance, suggests that Ro8o Jack may, I repeat MAY, 8e in transit with a 8unch of green time traveling idiots in that oven.
VRISKA: Don't quote me on that.
VRISKA: Anyway, if true, none of these 8ozos are particularly powerful.
VRISKA: They'll mainly just 8e a nuisance.
VRISKA: So who wants to deal with them? Hmmmmmmmm?
VRISKA: Hey kid.
VRISKA: Kid!
VRISKA: Yes, I'm talking to you again.
VRISKA: God damn it, what was his name again?
VRISKA: Joke?
TAVROSPRITE: vRISKA, sTOP,
TAVROSPRITE: iT'S JAPE, aND YOU KNOW IT,
VRISKA: Listen, Joke.
VRISKA: Joke! Snap OUT of it! I'm talking to you.
JAKE: Oh sorry.
VRISKA: This is a strategy session, Joke. Please stay alert.
VRISKA: Now do you think you can handle 8eing on this team?
JAKE: Um...
VRISKA: Awesome. That's the spirit.
VRISKA: This assignment should 8e right up your alley, kid.
VRISKA: Who else?
TAVROSPRITE: mE, i'LL DO IT,
VRISKA: Thanks for volunteering Tavros.
VRISKA: This fight is pretty well suited to your skillset too.
VRISKA: And you can join Joke here to help him get ready, 8ut there's one thing I need you to do 8efore the 8attle starts.
TAVROSPRITE: oH, rEALLY,
TAVROSPRITE: wHAT,
VRISKA: I'll explain to you l8ter in priv8. 8ut it's critical, and something only you can do.
TAVROSPRITE: oHHH!
TAVROSPRITE: tHAT MAKES ME, tHE FUNNY FEELINGS COMBINATION, oF SKEPTICAL, nERVOUS, aND EXCITED,
VRISKA: Good!
VRISKA: That's exactly how you should 8e feeling a8out it, trust me.
VRISKA: So anyone else want to step forward??
KARKAT: ARE YOU FUCKING WITH ME NOW.
VRISKA: Come again?
KARKAT: WELL, LET'S SEE IF I'M TALLYING THIS UP RIGHT.
KARKAT: JOHN AND LALONDES ONE AND TWO ARE ON TEAM CONDESCE.
KARKAT: THE STRIDER BROS AND PYROPE ARE ON THE LORD TEAM.
KARKAT: JADE, WHEN NOT ON NAP DUTY, IS ON THE DOG TEAM, EXCLUSIVELY.
KARKAT: THE MAYOR ISN'T DOING SHIT, BECAUSE I AM *PERSONALLY* SEEING TO IT THAT NOT A SINGLE POST-APOCALYPTIC TATTER ON HIS HEAD GETS HARMED.
KARKAT: CROCKER IS ON HEALING DETAIL, AND LALONDE THREE VOLUNTEERED TO SUPPORT THAT.
KARKAT: KANAYA HAS SOME VAGUE YET TO BE EXPLAINED MISSION TO DO, AND SO DOES TAVROS.
KARKAT: AND JOKE HERE JUST GOT SHUNTED OFF TO THE PEEWEE LEAGUE.
KARKAT: SO WHO THE FUCK IS EVEN LEFT, ASIDE FROM ME???
KARKAT: AND THE FUCKING CAT I GUESS.
KARKAT: ARE YOU SURE WE SHOULDN'T PICK A ROLE FOR ROSE'S FUCKING CAT LUSUS BEFORE MOVING ON TO THE *ABSOLUTE* BOTTOM OF THE BARREL, SOMETIMES REFERRED TO AS "THE VANTAS ZONE"?
VRISKA: Oh, gr8 point Karkat!
VRISKA: Hey there, kitty.
JASPERSPRITE: MEOW!!!!!
VRISKA: What would you like to do?
JASPERSPRITE: I would like to eat some tuna fish and cuddle with either rose or roxy or both! :3
VRISKA: Awwwwwwww!
VRISKA: Ok, that can 8e your very important jo8. Don't let us down!
JASPERSPRITE: Purr purr purr. ;3
KARKAT: THANK GOD WE SORTED THAT OUT.
KARKAT: NOW THAT WE'VE ESTABLISHED THE KITTY CAT IS HEADING UP THE FISH EATING OPERATION, I THINK WE CAN SAFELY PROCEED TO THE RUNG OF STRATEGIC IMPORTANCE DIRECTLY BELOW THAT.
KARKAT: THE INFAMOUS "WHAT IS KARKAT GOING TO DO?" RUNG.
KARKAT: AND SINCE EVERYONE ELSE HAS A JOB, AND MY SKILLS ARE RELATIVELY UNIMPRESSIVE, I'LL HAVE TO SIGN UP FOR TEAM DIPSHIT TOO.
KARKAT: HELL, EVEN THE KID IN THE BANANA HAMMOCK IS A GOD TIER AT LEAST.
KARKAT: SO I GUESS THAT MEANS I'LL BE TAKING ORDERS FROM HIM? SURE WHY NOT!
KARKAT: SECOND IN COMMAND TO A THIRD RATE HERO. SOUNDS ABOUT RIGHT TO ME.
VRISKA: Karkat, yes, you're a8solutely right that you 8asically suck, and that as a tactical resource you should 8e managed accordingly.
VRISKA: 8ut you aren't joining Joke's team, or doing any fighting for that matter.
VRISKA: Like Kanaya, there's another more pressing matter reserved for you.
VRISKA: In fact, it's the same as hers!
KARKAT: WHAT THE FUCK?
KARKAT: WHEN WERE YOU PLANNING ON TELLING ME THIS!
VRISKA: Karkat, I already alluded to this when you waltzed over, interrupted my conversation with Kanaya, and pretended you weren't flirting with me.
VRISKA: Remem8er?
KARKAT: OH. RIGHT.
KARKAT: WELL?? WHAT'S THIS "PRESSING MATTER"?
VRISKA: I'm getting to that!
VRISKA: Very soon, in fact. I just needed to get the teams squared away first.
KARKAT: OK WELL...
KARKAT: ARE THEY?!
VRISKA: Looks like it!
KARKAT: SO THAT MEANS JOKE...
KARKAT: FUCK. *JAKE* I MEAN.
KARKAT: REALLY IS A ONE MAN TEAM, DESIGNATED FOR ROBO JACK AND HIS OVEN BOZOS???
VRISKA: Apparently.
VRISKA: You ok with that, kid?
JAKE: UM................
VRISKA: You can do it.
VRISKA: Just 8elieve in yourself, or whatever the fuck.
VRISKA: When in dou8t, just remind yourself that 8attle isn't even particularly important.
VRISKA: And help could 8e on the way once some of the other 8attles start coming to some sort of resolution.
VRISKA: Just hang in there!
JAKE: O... okay.
VRISKA: Excellent!
VRISKA: That concludes the tactical planning part of this de8riefing.
VRISKA: It's all perfectly logical, right?
VRISKA: No questions or anything? Cool.
VRISKA: Really, I shudder to think what you num8skulls would 8e doing if I weren't around, like John just implied with his nice remarks.
VRISKA: He really did you all the 8iggest fucking favor in the history of time shenanigans 8y clo88ering me in the face three years ago.
VRISKA: You should all make him a gift 8asket when this is over to show your gratitude.
VRISKA: No need to thank me of course. I'm just doing my jo8 here. ::::)
VRISKA: Now!
VRISKA: Let's go over some really 8asic non-com8at endgame stuff, then we'll 8e ready to 8r8k.
VRISKA: First, a8out Kanaya and Karkat's "mission" I alluded to a minute ago. This is really important.
VRISKA: You 8oth listening??
KANAYA: Yes
KARKAT: NO.
VRISKA: Ok, well one out of two isn't 8ad. As long as Kanaya understands, that's mainly what matters, since she's the more important part of this equ8tion.
KARKAT: WOW, I'M FUCKING SHOCKED!
KARKAT: WHAT DO WE, OR, EXCUSE ME... WHAT DOES *SHE* HAVE TO DO?
VRISKA: You 8OTH have to go to Jade's planet and see Echidna.
VRISKA: Even though this session is a8out as far from "normal" as it can possi8ly get, the same 8asic rules apply.
VRISKA: Someone needs to seek an audience with her, and get her to agree to release the genesis frog.
VRISKA: Or, the tadpole that grows up to 8ecome the frog, which is the stage of development he's in at this point.
VRISKA: Remem8er, Kanaya? You had to do this on your planet, to get our frog released into Skaia.
KANAYA: Yeah
KANAYA: She Asked Me To Do Something Impossible
KANAYA: To Which I Replied
KANAYA: Thats Impossible
KANAYA: So She Ended Up Demanding That I Fight Her
KANAYA: So I Did
KANAYA: Which
KANAYA: Made Me Feel Sad
KANAYA: Id Rather Not Have To Do That Again
KANAYA: Will I Have To Do That Again
VRISKA: If that's what she wants, then yes.
KANAYA: Why Does It Have To Be Me Though
VRISKA: 8ecause SOMEONE has to!
VRISKA: Sources tell me this is the plan the Condesce had for you, 8efore we derailed all her shit.
KANAYA: You Keep Talking About All These Sources
KANAYA: Who Are All These Sources
KANAYA: Did Arquius Tell You This Too
VRISKA: No! Look, I've 8een 8usy, ok?
VRISKA: Inform8tion is everywhere if you know where to look.
VRISKA: Derse has a lot of agents on the inside who are wise to the old lady's plans.
VRISKA: Shaking the 8ushes for good intel isn't that complic8ted, it just takes a little effort!
VRISKA: Some people on this lily pad should may8e try looking into that some time.
KANAYA: If You Say So
VRISKA: Would you just can...
VRISKA: Would you just put a LID on it for a second, and listen?
VRISKA: Normally Jade would 8e the one to do this, 8ut at the time, Jade had 8ecome corrupted, so I guess Echidna wouldn't deal with her.
VRISKA: And now, Jade's asleep! Which is exactly how she needs to stay.
VRISKA: So that leaves the person Echidna requested in Jade's a8sence, which is you.
VRISKA: I am assuming 8ecause you were also a space player, so you'll 8e a8le to understand her gar8led nonsense language.
VRISKA: 8ut that's not all there is to it. She also requested you 8ring Karkat.
KARKAT: UGH.
KARKAT: WHY THE HELL WOULD SHE WANT TO SEE ME?
VRISKA: No idea!
VRISKA: Denizens are mysteeeeeeeerious.
VRISKA: May8e she wants a knight along? Or a 8lood player?
VRISKA: Or may8e she just has a 8one to pick with you in particular.
VRISKA: You know, since you and Kanaya were 8oth involved in the frog 8reeding stuff in our session, and, let's face it.
VRISKA: You kind of messed that up! You were pretty hasty and reckless a8out it, and the result was a defective frog.
VRISKA: Sure, there's more to it than that. Like pro8lems with the human session that were totally interrel8ted with ours due to cyclical time gar8age, 8ut you get the point.
VRISKA: Echidna pro8a8ly doesn't take kindly to people who are cavalier with the sacred frog duties. That's kind of her domain, like, the propag8tion of existence and all that.
VRISKA: So may8e you've got some stuff to atone for 8efore she agrees to let another precious frog out of her divine custody?
KARKAT: YOU'RE DOING THIS ON PURPOSE, AREN'T YOU.
KARKAT: TRYING TO MAKE ME FEEL BAD ABOUT SOME ANCIENT HISTORY, SO I'LL BE NERVOUS ABOUT THIS ENCOUNTER.
KARKAT: WELL I'LL SPARE YOU THE TROUBLE. I'M ALREADY NERVOUS! I DON'T WANT TO GO PROSTRATE MYSELF BEFORE A BABBLING SNAKE GODDESS EVEN UNDER IDEAL CIRCUMSTANCES.
VRISKA: Karkat, relax.
VRISKA: I am guessing this will just 8e a sort of formality.
VRISKA: That's how things always struck me with her, like... getting the 8lessing from a queen, or some huge mythical matriarch 8efore proceeding with some incredi8ly important event, or claiming a cosmic reward.
VRISKA: Or may8e you'll have to just kill her again? I don't see what difference it makes.
VRISKA: Really, who knows what her real purposes are? They're pro8a8ly totally unfathoma8le.
VRISKA: Echidna is kind of a 8ig Deal Denizen. One of the real heavy hitters, like that other guy... the really strong one with the ridiculous name.
VRISKA: She might even 8e the 8iggest deal. She's the mother of all denizens. I mean, not in a literal sense. Like, I really dou8t she physically spawned them all.
VRISKA: So if she wants you to do something, it's serious. And if you need to do something of massive cosmic significance, like release a frog that contains an entire universe in its 8elly, then 8y the same token, it has to go through her.
VRISKA: The other denizens are a 8unch of petty grum8ling riddle-merchants 8y comparison.
VRISKA: You should feel honored she even wants to see you.
KARKAT: HOW ARE WE EVEN SURE SHE HAS A FROG TO RELEASE??
KARKAT: WHO MADE THIS FROG? THE JOKERS FROM THIS SESSION?
KARKAT: I THOUGHT THEY SPENT MONTHS DOING NOTHING.
VRISKA: It's the same frog Jade made!
VRISKA: With Kanaya's help, remem8er?
VRISKA: Hell, you may have even 8een involved in that process too. I don't recall every single detail.
VRISKA: 8ut it fell in the forge on Jade's planet 8ack in the old session, and now Jade's planet is here.
VRISKA: Hence, the frog is here too. It's just 8een... let's say hi8ern8ting inside the planet for a few years.
VRISKA: Echidna kept it warm for us until we were ready. Which is now!
KARKAT: OK. YEAH, I REMEMBER NOW.
KARKAT: SO THE CONDESCE WAS GOING TO MAKE US DO THIS ORIGINALLY? WHY??
VRISKA: 8ecause her goal was pretty much the same as ours!
VRISKA: To win this game and cre8 a universe.
VRISKA: The 8attle taking place here isn't over WHETHER one will 8e created.
VRISKA: It's over who gets to control it when it's made.
VRISKA: Ideally, that should 8e us, rather than a genocidal fish dict8tor.
VRISKA: In fact, we don't want ANYONE to "control" it.
VRISKA: No8ody should control a universe. That's what 8ad guys try to do.
VRISKA: We just want it to 8e a nice place to live, and free of any controlling influence that will make life misera8le for the people who live there.
VRISKA: Having an attitude a8out the Ultim8 Reward that differs from that in any way was just ANOTHER thing we fucked up the first time around.
VRISKA: So let's just 8e clear on what we're fighting for here.
VRISKA: Got it?!
KARKAT: ...
KARKAT: YEAH
KARKAT: YOU'VE MADE YOUR POINT.
VRISKA: Next item:
VRISKA: Earth!!!!!!!!
VRISKA: When you enter the new universe, you're going to need a planet to live on.
VRISKA: Why not just resettle the one you all grew up on?
VRISKA: The Condesce kind of fucked it up though.
VRISKA: In your scratched universe, she spent a few centuries getting it ready for a new troll "paradise".
VRISKA: She flooded the whole thing. So when you get there, you'll need to skip ahead to some time far in the future, when the oceans have receded.
VRISKA: Should 8e liva8le 8y then. Hell, it may even 8e a pretty nice place!
VRISKA: Here John. Take this.
VRISKA: When the 8attle is over, make sure you give it to Jade.
JOHN: what is it?
VRISKA: It's Earth!
VRISKA: Remem8er how three years ago you told Terezi we needed your wallet, 8ut you didn't have it?
VRISKA: Well in the time since, we talked a8out it a lot, and figured this was most likely the reason she told you to give it to us.
VRISKA: It wasn't a 8ig deal, actually.
VRISKA: We spent some time deciphering the code for your wallet. It took a little while, and a few lucky guesses on the code digits, 8ut we eventually got there.
VRISKA: Then I just used it to upgrade my much cooler 8 8all modus.
JOHN: you hacked my dad's wallet??
VRISKA: Sure. Like I said, we had some time on our hands.
VRISKA: It is after all just a fucking wallet. It's not like it's some legendary item he got on some mythical dad quest.
VRISKA: I mean, he did 8UY the thing somewhere, right?
JOHN: um. yeah, i guess so.
JOHN: i dunno.
JOHN: i still think it's a pretty special thing.
VRISKA: Nope!
VRISKA: Sorry to 8e the 8earer of 8ad news. It is literally... just a wallet.
VRISKA: Anyway.
VRISKA: Then, 8efore I did the scouting work on this session, I rode the meteor through the g8, watched it crash on Earth, then just captchalogued the whole damn thing and got out of there.
VRISKA: No sweat!
VRISKA: Presuma8ly like Grim8ark Jade was supposed to, if she wasn't asleep.
VRISKA: Again, it was a pretty good plan, she just never saw me coming.
VRISKA: Sorry Condy, if you want your waterlogged little glo8e 8ack, you'll have to pry it from John's dead hands now.
JOHN: er.
JOHN: ...yeah.
VRISKA: Those are the important things to remem8er.
VRISKA: 8ut don't forget the 8asics.
VRISKA: Remem8er to finish 8uilding up your hives as far as they'll go.
VRISKA: Then deploy the grist rigs which will disperse your planets' hoards into Skaia, giving it the nutrients it needs to mature the frog.
VRISKA: This is Sgru8 101 stuff, 8ut I guess it 8ears repeating since most of you have never actually made it this far.
VRISKA: When the hoards are empty and Skaia is ready, then all you have to do is make sure someone's in position to ignite the forge.
VRISKA: Then everyone rendezvous right 8ack here on the lily pad to claim the Ultim8 Reward.
VRISKA: Which is represented 8y the hive shape thingy with a door on it that leads to the new universe.
VRISKA: Any questions 8efore we kick this into action?
JOHN: yes, i have one.
JOHN: vriska, what's YOUR part in all this, aside from making all these air tight plans?
JOHN: you've been making it sound like you won't be here when all this happens!
VRISKA: Of course I won't.
VRISKA: I'll 8e off doing something much more important than all this.
VRISKA: I'm traveling to the furthest ring to go kill Lord English.
JOHN: WHAT??
JOHN: wow.
JOHN: isn't that going to be, uh...
JOHN: hard?
VRISKA: Of course it will 8e.
JOHN: are you sure you can even...
JOHN: DO that?
JOHN: like, by yourself, i mean.
VRISKA: John, I'm not an idiot. I won't 8e diving into this 8lindly.
VRISKA: See, somewhere out there in the incomprehensi8le causal-stew of the furthest ring, there was once a plan that was coming together to defeat him once and for all.
VRISKA: It involved a secret weapon, an army, and all sorts of other shenanigans.
JOHN: yeah, this...
JOHN: sounds weirdly familiar.
VRISKA: Oh, I'm sure it does.
VRISKA: 8ut the point is, along the way, that plan stalled out.
VRISKA: It went nowhere 8ecause the party involved disintegr8ted and lost their way.
VRISKA: So someone needs to light a fire under that shit again, and I don't see anyone else stepping forward.
JOHN: how are you going to do that?
VRISKA: Let me worry a8out that.
VRISKA: You have your hands full enough as it is.
JOHN: so, is...
JOHN: is that it?
JOHN: is that the end of this cool strategy jam, slash fun reunion?
VRISKA: That's it!!!!!!!!
VRISKA: That's the whole situ8tion, my whole plan, and everything you need to do.
VRISKA: Good luck everyone!
TEREZI: *HUM4N "GOLF" CL4P*
VRISKA: Thanks, Pyrope!
KARKAT: ALRIGHT, SO WHAT NOW?
KARKAT: KANAYA, I GUESS WE HEAD TO, WHAT WAS IT?
KARKAT: LOJADE?
KARKAT: LIKE RIGHT NOW? SINCE I GUESS THE CLOCK IS TICKING.
KANAYA: Lofaf
KANAYA: And Yes
JOHN: right. and we're supposed to go after the condensce really soon, too. right?
ROSE: Condesce.
ROSE: And yes.
JOHN: but not like... RIGHT away? there are still a couple hours for us to prepare.
JOHN: which we should use! to come up with a fighting strategy.
ROXY: yeah!!!
JOHN: i wish jade and nanna could be awake for this.
JOHN: i really want to talk to them, and let them in on all the cool stuff we're about to do.
JOHN: i guess they have to stay asleep for a while, though. oh well.
JOHN: hey, jake!
JAKE: Huh?
JOHN: want to come make plans with us?
JOHN: we can help you figure out how to deal with robot jack, and whatever hooligans he is bringing!
JAKE: Oh!
JAKE: Yes.
JAKE: Thanks john.
JAKE: May... maybe.
JOHN: ok!
TEREZI: H3Y D4V3
TEREZI: W3 SHOULD PROB4BLY WORK OUT 4 F1GHT1NG STR4T3GY TOO
TEREZI: S1NC3 1T SOUNDS L1K3 W3'V3 GOT 4 R34L N4STY ON3 TO D34L W1TH >:]
DAVE: yeah
DAVE: but
TEREZI: WH4T
DAVE: dunno
DAVE: it feels weird to make some battleplans when one of our team members still isnt here
TEREZI: W3LL, 1 TH1NK W3 C4N 4T L34ST OUTL1N3 TH3 STR4T3GY, R1GHT?
TEREZI: F1GUR3 OUT HOW W3'LL 4PPRO4CH 4 V1LL41N W1TH H1S P4RT1CUL4R STR3NGTHS 4ND W34KN3SS3S
TEREZI: 4ND 4SSUM3 OUR TH1RD M3MB3R W1LL B3 R34DY TO F1GHT 1F W3 T3LL H1M TO
DAVE: yeah you know im sure if teen hardass strider shows up with his sword and shades and shit and we say
DAVE: hey dude look bad guy go kill
DAVE: im sure the guy will be more than willing to oblige
DAVE: its just
DAVE: man
TEREZI: WH4T!
DAVE: it feels wrong
DAVE: planning "around" him
DAVE: like hes a weird hypothetical battle mannequin
TEREZI: FROM TH3 TH1NGS 1 H4V3 H34RD 4BOUT H1M, FROM YOUR OWN P3RSON4L MOUTH
TEREZI: TH4T 4CTU4LLY SOUNDS L1K3 4 PR3TTY 4PT D3SCR1PT1ON TO M3
DAVE: no!
DAVE: its
DAVE: its more complicated than that
DAVE: and im supposed to...
DAVE: be getting ready for this huge deadly battle which is SO much more intense than anything i ever did
DAVE: even like 3 years ago back when i was actually doing adventure shit instead of watching dane cook movies
DAVE: and somehow be all geared up for that
DAVE: AND meet my teen bro for the first time
DAVE: and say oh there you are thats cool
DAVE: lets fight this random nigh indestructible asshole
DAVE: and then
DAVE: hug bump or something?
DAVE: how do i deal with all this
DAVE: i think i could end up getting us all killed and none of you are taking this seriously
VRISKA: Ok Strider, I've heard enough.
DAVE: ??
VRISKA: I have 8een more than patient, and more than accommod8ting.
VRISKA: 8ut your hangups regarding your ancestor are starting to 8order on pathetic.
KARKAT: HEY!
KARKAT: WHY DON'T YOU CAN IT.
VRISKA: Karkat, stay out of this.
KARKAT: NO, I WON'T.
KARKAT: NOT IF YOU ARE GOING TO START TRASHING PEOPLE WITH RESPECT TO THEIR SENSITIVE ISSUES IN A MANNER THAT IS *WAY* OVER THE LINE AS FAR AS THE BASIC GROUND RULES OF GOOD NATURED SHIT TALKING GOES, GROUND RULES ON WHICH I *HAPPEN* TO BE AN EXPERT.
KARKAT: EITHER MAKE SURE YOUR TRASH MOUTHED INVECTIVE IS CRITICALLY CONSTRUCTIVE, OR SHUT UP!
VRISKA: Who said I wasn't 8eing constructive?!
VRISKA: God.
VRISKA: I cut him all the slack in the world on this, 8ut I can see it isn't doing him, or any of us, any good at all.
VRISKA: I can see I'm going to have to expedite matters.
VRISKA: Go figure. Leave it all to Vriska, ONCE AGAIN.
DAVE: what
DAVE: what the fuck are you even going to do
VRISKA: I told you.
VRISKA: I'm expediting matters.
1 note · View note
Text
5 Things You Should Know Before Hiring a Plumbing Contractor
Tumblr media
When you need a new faucet or pipe fixed, you might be tempted to head to the yellow pages and look up “plumbing services.” But this is a mistake. Here's why: if you call around and talk to different plumbing companies, you'll likely hear conflicting advice on what the issue is and how much it will cost to fix it. This can be unsettling for a homeowner who just wants her sink to drain without being left with a huge plumbing bill at the end of the job.
How long does it take for a plumber to install a toilet?
The average length of time required to install a new toilet is between one and two hours. However, if there's more than just installing the fixture itself, such as cutting into your walls or flooring, then it could take longer than expected. If you're planning on getting your new toilet installed in the next week or so, make sure you book an appointment in advance so that you don't end up waiting too long without one!
How can you know if the plumber is an expert?
It's important to remember that not all plumbers are created equal. Some may have more experience than others, and some may be more skilled at certain types of work. If you're not sure how long a plumber has been working in the business or what kinds of projects they've completed, ask for references from previous customers. You can also look up reviews on sites like Yelp or Angie's List to see what other people had to say about their experiences with a particular company or individual.
Should you get a second estimate?
If you need work done in your home, it's always a good idea to get at least two estimates for the job. It's important to compare apples with apples when shopping around for quotes. Keep in mind that some plumbers include only the specific parts of their service that they're quoting. Other companies might not include labor costs in their quotes, so be sure to ask about this when getting estimates from different companies.
How do you know if the plumber has sufficient experience?
How do you know if the plumber has sufficient experience? You can ask them about their previous jobs and see if they have references from previous customers. Also, make sure that they are licensed by the state and insured for their services. This way, if something goes wrong with your pipes or other plumbing issues, they will be able to fix it without causing further damage or costing you extra money down the road.
Is there a warranty on the work?
A good plumber will stand behind his or her work and offer warranties on parts, labor, and materials. A warranty doesn't cost anything extra; it's just an assurance that if something goes wrong with your plumbing system, it will be fixed quickly and at no cost to you. If a plumber won't offer warranties on their services, walk away immediately — they aren't interested in doing quality work.
Takeaway: Just remember that any contractor you choose to hire should be licensed, bonded, and insured. You should never pay for the full job upfront and should always review your contractor's paperwork before signing anything. Also, keep an eye out for warning signs to make sure you don't get scammed by a fly-by-night company.
Are You Looking for a Plumbing Company in San Tan, Valley, AZ?
Tumblr media
Are you looking for a plumber San Tan Valley, AZ? Look no further! We are a family-owned and operated business. We’re also certified, licensed, and insured. Our team of experts can handle all plumbing services and drain services in Phoenix and surrounding areas. Our plumbers are reliable, honest, and affordable.
Az Express Plumbing 974 E Poncho Ln, San Tan Valley, AZ 85143 480-771-7519
2 notes · View notes
zirhlikuzgun · 2 months
Text
January's crew - Page 29
,,,
[18721] {7489} ♂ Kyle Jenssen
[18722] {7490} ❤️ ♀ Ybbi Jenssen
[18723] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18724] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18725] [¯\_(ツ)_/¯ newborn babies]
[18726] {7491} ♂ Kirk Jenssen
[18727] {7492} ❤️ ♀ Yrina Jenssen
[18728] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18729] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18730] [¯\_(ツ)_/¯ newborn babies]
[18731] {7493} ♂ Kipper Jenssen
[18732] {7494} ❤️ ♀ YBelia Jenssen
[18733] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18734] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18735] [¯\_(ツ)_/¯ newborn babies]
[18736] {7495} ♂ Ketil Jenssen
[18737] {7496} ❤️ ♀ Ysa Jenssen
[18738] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18739] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18740] [¯\_(ツ)_/¯ newborn babies]
[18741] {7497} ♂ Ernest Molina
[18742] {7498} ❤️ ♀ Diamond Molina
[18743] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18744] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18745] [¯\_(ツ)_/¯ newborn babies]
[18746] {7499} ♂ Earl Molina
[18747] {7500} ❤️ ♀ Dugsy Molina
[18748] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18749] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18750] [¯\_(ツ)_/¯ newborn babies]
[18751] {7501} ♂ Espre Molina
[18752] {7502} ❤️ ♀ Dawn Molina
[18753] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18754] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18755] [¯\_(ツ)_/¯ newborn babies]
[18756] {7503} ♂ Estor Molina
[18757] {7504} ❤️ ♀ Deborah Molina
[18758] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18759] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18760] [¯\_(ツ)_/¯ newborn babies]
[18761] {7505} ♂ Khunch Molina
[18762] {7506} ❤️ ♀ Flo Molina
[18763] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18764] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18765] [¯\_(ツ)_/¯ newborn babies]
[18766] {7507} ♂ Kabo Molina
[18767] {7508} ❤️ ♀ Fannery Molina
[18768] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18769] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18770] [¯\_(ツ)_/¯ newborn babies]
[18771] {7509} ♂ Kamil Molina
[18772] {7510} ❤️ ♀ Fuchsia Molina
[18773] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18774] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18775] [¯\_(ツ)_/¯ newborn babies]
[18776] {7511} ♂ Kurt Molina
[18777] {7512} ❤️ ♀ Fiona Molina
[18778] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18779] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18780] [¯\_(ツ)_/¯ newborn babies]
[18781] {7513} ♂ Turquey Jenssen
[18782] {7514} ❤️ ♀ Daphne Jenssen
[18783] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18784] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18785] [¯\_(ツ)_/¯ newborn babies]
[18786] {7515} ♂ Thyli Jenssen
[18787] {7516} ❤️ ♀ Draicy Jenssen
[18788] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18789] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18790] [¯\_(ツ)_/¯ newborn babies]
[18791] {7517} ♂ Tuxin Jenssen
[18792] {7518} ❤️ ♀ Duppy Jensen
[18793] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18794] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18795] [¯\_(ツ)_/¯ newborn babies]
[18796] {7519} ♂ Trevor Jenssen
[18797] {7520} ❤️ ♀ DHuski Jenssen
[18798] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18799] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18800] [¯\_(ツ)_/¯ newborn babies]
[18801] {7521} ♂ Clyde Molina
[18802] {7522} ❤️ ♀ Moon Molina
[18803] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18804] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18805] [¯\_(ツ)_/¯ newborn babies]
[18806] {7523} ♂ Connor Molina
[18807] {7524} ❤️ ♀ Myffi Molina
[18808] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18809] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18810] [¯\_(ツ)_/¯ newborn babies]
[18811] {7525} ♂ Curtis Molina
[18812] {7526} ❤️ ♀ Meourr Molina
[18813] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18814] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18815] [¯\_(ツ)_/¯ newborn babies]
[18816] {7527} ♂ Cylan Molina
[18817] {7528} ❤️ ♀ Mahmub Molina
[18818] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18819] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18820] [¯\_(ツ)_/¯ newborn babies]
[18821] {7529} ♂ Lux Jenssen
[18822] {7530} ❤️ ♀ Oxana Jenssen
[18823] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18824] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18825] [¯\_(ツ)_/¯ newborn babies]
[18826] {7531} ♂ Lesley Jenssen
[18827] {7532} ❤️ ♀ ORyal Jenssen
[18828] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18829] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18830] [¯\_(ツ)_/¯ newborn babies]
[18831] {7533} ♂ Luke Jenssen
[18832] {7534} ❤️ ♀ Oshley Jenssen
[18833] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18834] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18835] [¯\_(ツ)_/¯ newborn babies]
[18836] {7535} ♂ Loup Jenssen
[18837] {7536} ❤️ ♀ Orlgy Jenssen
[18838] [¯\_(ツ)_/¯ newborn friends and play/roommates]
[18839] [¯\_(ツ)_/¯ newborn cousins and siblings]
[18840] [¯\_(ツ)_/¯ newborn babies]
,,,
0 notes
theda-rison · 4 years
Text
Camp Nano July 2020 - Results, Discussion, and Conclusion
the Like, wow, Scoob! 
Camp Nano July 2020 is done, and here are some thoughts:
I always knew that writing a comic script was going to be a learning experience - I’ve never written a comic script so it really couldn’t be anything except for a learning experience - but hoooooo boy, was it ever!
Before starting I couldn’t find anything on how long comic scripts normally are; I don’t know why, that just seems information that isn’t really shared? (If anyone knows of a resource, please send it to me!) I’m guessing it has a lot to do with there just being less comic writers than there are say, book writers and movie writers. That’s probably what happens when your interests are niche in some way, it’s just harder to find anything about them.
FORTUNATELY, I have the fancy library-bound volumes of The Sandman, and there’s excerpts of the scripts in the back. Which like… thank you @neil-gaiman​, or whoever made that decision, because being able to look at an actual script and see how it’s formatted and what’s included has been the biggest help. Even the “How to Write a Comic Script!” videos I found on YouTube didn’t have example scripts which... I don’t know, I don’t get it. Please include examples, comic YouTubers. I am confusion.
Now is the time for a sexy graph, because we are the kind of people who keep Excel spreadsheets of word counts and make graphs for fun.
Tumblr media
Anyway, let’s look at…
youtube
[Good. I was listening to As The World Falls Down by David Bowie over and over, and now this is stuck in my head again. I don’t know why I do these things to myself. Also, I love Peter Tork’s face during some of the “AAAHHHH”s lol]
Tumblr media
I can’t remember if I stated this before or during Camp at any point, but my goal was 60k words. I dislike aspiring for un-round numbers like “1667″ every day. Any number I could possibly pick is arbitrary, but for some reason the classic Nanowrimo number of 1667 seems even more arbitrary. “2000″ is a much better number. And, I can generally write 2000 words in two hours before running out of steam, so it works out well. It also divides better.
Having said that, you might be thinking, “Theda, the end Actual number on your graph is a lot closer to 90k than it is 60k,” and you would be right, good eyes. Were I Brandon Sanderson and you were one of my students, I would toss you a gummi bear. As it is, you’re not my student and I have no gummi bears and I’m not even Brandon Sanderson… so life is just upsetting I guess.
[But I am back to listening to As The World Falls Down, so I suppose it all works out.]
Back to the graph: The Actual. Look at this wavy-fucking-scalloped-fucking progression. Look at it. I can’t tell if it makes me happy or angry or what, but I know it gives me some kind of feeling. I think I like it from a purely aesthetic point of view, but from the point of the view of the person who made it, it annoys me.
I had a couple of days where I - in my infinite stupidity - didn’t really elaborate on what was supposed to happen in some of the scenes in my scene list and so I spent my “Writing!” time (as it’s labeled in my planner) not writing, but looking at the page cursing myself for not having written any directions for me, a directionless person.
You may also notice that the Goal bars suddenly jump up on the 24th day,. That’s because - in my infinite wisdom - I redid my goals after reaching 60k. It just makes more sense to me to be like, “Well, I punched that goal in the face. Let’s try and go WAY overboard,” because I have the Too Much gene and as Henry Rollins says: “Don't do anything by half. If you love someone, love them with all your soul. When you go to work, work your ass off. When you hate someone, hate them until it hurts.” I wouldn’t say that’s a personal philosophy so much as a Thing I Am Compelled To Do Or I Will Die.
But that’s just me.
As for the trend line, I prefer it looking more steep because that’s way more gratifying, but that’s what I get for writing parts of my scene list like, “That’s okay, Future Me will take care of it!” Past Me, you are a dick and you need to stop doing these things. You are a bastard.
Now for the table! 
Tumblr media
[I’m sorry if that’s very small.]
And this time I’m showing you the actual table I use to write down my words. Complicated? Yes. Sexy? Very yes. A little annoying? Also yes. Do we get a little worried that she works too hard and refuses to take a vacation? We do, but we also know that she does it because she loves her work, and we love and support her and bring her snacks throughout the workday to keep her going. What a great table.
Tumblr media
First of all: Yes, my first writing block is at 4am. It’s because I have a day job and if I write from 4-6 I can use my brain right when it’s freshly slumbered instead of using it for nonsense at work all day and being unable to write and aggravated because my mental capacity is nil and I no longer know what words are. In an ideal world I would be able to write all day but, here we are.
You might notice there’s a lot of 0’s in the 4am block, especially in the fourth week, and that’s more so because - in my infinite infiniteness (infinity?) - I am secretly an ice giant (but like, smaller) and it’s summer and the northern hemisphere is Too Hot and I literally will not be able to sleep at night until about December. Until then, I am forced to understand what it’s like to be a jacket potato for half of the year so I can empathize with their starchy pain because this is, for whatever reason, Important.
Tumblr media
It me. (Recipe)
Anyway,
My record day was 7519 on the 10th, which is just sexy and fun and cool and everything we want, and my lowest was a big fat 0 on the 16th.
I felt super motivated for reasons I don’t remember on the 10th. This is because I didn’t have my planner yet and was not keeping notes anywhere else at that time. (It’s an undated Daily Passion Planner, in case you’re also a slut for planners and wish to know ;) ). I think I was trying to do a 10k day just for funzies? Which, technically, at 2k words in 2 hours I should be able to do 10k in 5, but cell phones exist (and are too distracting), and until I shed my corporeal form I still have to do things like “make food and eat it,” and “get up to pee,” and “experience all the vagaries and horrors of human existence.” I’m hoping it clears up soon. 
The 16th was the day that Future Me took Past Me by the hand and said, “My good bitch, you need to stop doing that thing where you leave shit for me because you run out of motivation or executive function or whatever the fuck is happening where you decide you don’t want to do something anymore, seemingly at random. You deciding to leave school before the day even started because you were bored may have been cute when you were a kid - and also annoying for everyone around you, and just alarming that time they had to pry your hands off the door molding as you held on to it and screamed - but as an adult you are both the cause of and the person who has to deal with this bullshit, and you need to stop.”
On the 16th I went to the Shrine of the Self (sorry, I’ve been reading a lot of manga lately) and made an offering for forgiveness, and then hunkered down and added a TON of notes and partially written scenes to my scene list. You can see how much that helped; it’s almost like having direction is actually useful, lol.
BUT, despite all that direction and despite punching my goal in the face, breaking it’s glasses, and taking it’s lunch money, the script is not finished!
Here’s some math as of the 23rd:
There are 124 points in my outline On the 23rd, I had completed 44 of those points, at 363 pages or 59,601 words 124 / 44 = 2.81 Now we check: 44 * 2.81 = 123.6 (close enough) So as of the 23rd, the projection for completing the script was: 363 * 2.81 = 1,020 pages 59,601 * 2.81 = 157,479 words
Now, I don’t know what the fuck that means because I don’t really do numbers, but at the time of the 23rd it looked an awful lot like I wasn’t going to finish this Camp project. And uh… hey, that was correct.
So I’m going to be continuing Camp Nano July 2020, but also in August 2020, over about 20 more days (providing I hit my goal every day.)
So:
IF -> I need to get up to 158,000; 158,000 - 86,000 = 72,000 words need to be written. (I'm rounding the total up because I canNOT imagine this script being somehow smaller than that at this point, and I’m rounding my Camp total down because who cares about 72 words?) I divided 72,000 from a few numbers until I got a word goal I was okay with, that I think I can do, here’s that one: 72,000 / 20 days = 3,600 words a day (This would mean I can either do 2k in the morning and then 1600 later, or the reverse. You know, whatever way I feel spicy that day.) THEN -> I need to write 3,600 words a day for 20 days to (hopefully) finish this script before work picks up at the end of August.
And then I’ll chill from the end of August - October (except for maybe some short stories or essays. I have a lot of Thoughts and they need to be purged from my brain for my own good). And then I’ll use Nanowrimo Classic (November) to edit this fucker.
SO… that’s some stuff.
As I said at the beginning this endeavor was only ever going to be a learning experience. Having to write 158k words total doesn’t scare me, the longest thing I’ve written yet was something like 190k words. Trying to finish it before the end of August is the daunting part. Especially since being able to be creative right now just keeps making my brain puke out more ideas, and then there’s too many ideas and I’m just writing them all down and hopefully I can get to them later.
Anyway, good job on Camp Nano July 2020 everyone! We did it!
And if you didn’t do it: don’t worry, you’ll do it next time :D
6 notes · View notes
salahananse · 4 years
Photo
Tumblr media
SPIRITUAL MOVEMENT is a non-denominational 2HR extravaganza of spiritual & uplifting music curated to allow people of ALL spiritual beliefs to express themselves through movement. The music will be delivered by our movement motivation specialist & guru, SALAH ANANSE! Join us each and every Sunday from 1PM-3PM! ZOOM INFO: Meeting ID: 812 7463 7519 Password: MOVEMENT ZOOM is only to joint the party on video. Please listen through Twitch or IG. You will need 2 devices (2 Phones, Phone & computer, phone & ipad, etc.) Brought to you by: www.ARTICULATEATA.org Join them for: ARTICULATE ATL 8/1/2020 &PM-9PM Broadcasting on these networks: Facebook Live- DJ/Producer Salah Ananse Page YouTube- Salah Ananse Channel Twitch- Salah Ananse Channel Instagram- @salahananse #gospelmusic #gospelhouse #spirituality #spiritualmovement #afro #afrohouse #deephouse #soulfulhouse #deephousemusic #soulfulhousemusic #salahananse #afriqueelectrique #atlwkndr #housedance #afrohousedance #afrodance (at Afrique Electrique/ Auraluxe Studios) https://www.instagram.com/p/CDZLX2ghlPJ/?igshid=jnjq6lg6aoqk
0 notes
friendsofjesus · 6 years
Link
Join us for today’s Our Daily Bread Devotional 
0 notes
buythennow-blog · 5 years
Text
Boys Brown Leather Buckle Suspenders -- Perfect for a Ring Bearer or Page Boy Outfit, Family Photo Shoot, 1st Birthday or Cake Smash - Mini Swag Textiles | Bow Ties & Hair Bows for Children
https://buythennow.com/?p=7519 Boys Brown Leather Buckle Suspenders -- Perfect for a Ring Bearer or Page Boy Outfit, Family Photo Shoot, 1st Birthday or Cake Smash - Mini Swag Textiles | Bow Ties & Hair Bows for Children - https://buythennow.com/?p=7519
0 notes
luxus4me · 7 years
Link
Smashing Magazine Feed http://j.mp/2hR7XXw
When a user of your application has forgotten their password, it can and should be reset securely. To accomplish a secure password reset, I will demonstrate how to use JSON Web Tokens (JWT) to generate a URL-safe token. The JWT contains encoded information about the user and a signature that, when decoded, is validated to ensure that the token has not been tampered with.
Once the JWT is validated, your application can securely allow the user to generate a new password, instead of sending them their forgotten one.
“Why Can’t I Just Send The User Their Password?”
There was a time when your password was stored in your favorite website’s database just as you typed it. In fact, it still seems to occur far too often. An entire website is dedicated to telling people whether their email address or username has been exposed.
In those days (and I use the past tense loosely), when a user forgot their password, they would arrive on a page that asked for their username or email address. The website would then send them an email “reminding” them of their password. This should be a red flag to you, as both a user of the website and as a developer. Either your password is stored in plain text or it can be decrypted, instead of having the much stronger, more secure one-way encryption.
Because (secure) passwords cannot be decrypted, that leaves us with one of two common choices when a user forgets their password:
Generate a new, temporary password and send it via email.
Generate an email that contains a one-time-use link within the contents of the email, which will take the user to a page where they can enter a new secure password.
Both options send out an email, which in the long term should not be considered a secure storage medium. With the first option, the password is shown in plain text. If the user were to leave this email in their inbox as their method of remembering their password (especially because they didn’t choose it), it would be almost as insecure as writing down their password on a sticky note and leaving it beside their computer. OK, not that bad, but you get the idea.
Another concern with option one is that a malicious user who knows their email address could easily lock out a user from the website by resetting their password. If the malicious user repeated this over and over again, it would make it almost impossible for the user to ever log in again because their password would never remain the same.
Password-Reset Process Overview
The goal of this tutorial isn’t to learn how to secure your users’ passwords in your database; you’ve already done that! This tutorial will show you how to reset the password of a user who has forgotten theirs by generating a special link that enables them to securely reset their password. The link will look similar to the following example:
http://localhost:3000/resetpassword/1/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjF9.uKe3CzH_g6oHxlFstQ1BL_Q8_zJKPyJ0dUvZkJsRKBg
Contained within this link is a special JWT that is used to securely validate the user who is trying to reset their password.
By the end of this tutorial, I will have walked you through creating an application that contains the following functionality:
We’ll have a form that accepts the email address of a user who has forgotten their password.
We’ll create a link with a JWT token embedded in the URL. The user will click this link and be allowed to reset their password.
We’ll create a page for resetting the password. This page will require the token and will decode it to ensure it is valid.
When the token has been successfully validated, a form will be displayed allowing the user to reset their password.
The following is an application diagram that demonstrates what the user does and how the server processes and responds to each action initiated by the user.
Application diagram of password-reset workflow
I mentioned earlier that email should not be considered secure for long-term storage. To help prevent this issue with option two, the link contained in the email is to be used once. Once the user has clicked the link and changed their password, if they (or a malicious person) were to click the link again, it would not be valid and the user would be unable to change their password. The user would, thus, be forced through option two again: generating a new email with a new one-time-use link.
This solution also prevents the secondary negative side effect of option one. If a malicious user were to attempt to constantly reset the user’s password, the original password would be unaffected and the user would never be locked out.
Before creating the application, let’s better understand what JWTs are and learn how to create, encode and decode them.
What Are JSON Web Tokens?
A JSON Web Token (JWT), in its simplest form, is a URL-safe string that contains an encoded JSON object. JWTs are an open industry standard that are fully described in RFC 7519, which contains an immense amount of detail, specifically regarding how JWT claims function to ensure the security of a generated token. Feel free to peruse the full RFC specifications at your leisure.
Let’s look at an example token:
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjF9.uKe3CzH_g6oHxlFstQ1BL_Q8_zJKPyJ0dUvZkJsRKBg
Notice that the token contains two periods (.) separating the three pieces of the outputted token, those three pieces being the following:
header The header contains information that identifies what the hashing algorithm is, so that it can be used to properly decrypt and validate the signature.
payload This contains the information you wish to send with your JWT. Note that the payload is not secure and can be decoded without a secret key. JWTs are not meant to send sensitive information, such as passwords or credit card numbers.
signature The signature combines the encoded header and the payload with a secret key and securely encodes it using the hashing algorithm defined in the header — for example, HMAC with SHA-256.
To summarize, each time you generate a token:
the header will remain constant (assuming you do not change the hashing algorithm);
the payload will remain constant when the payload to encode is the same;
the signature will encrypt these two pieces of information based on the hashing algorithm with a secret key. This means that if you do not generate a unique secret key or change the payload, then the signature will also remain the same.
Encoding And Decoding JWTs
We are going to create a new application to demonstrate the basics of encoding and decoding tokens. Once we have a solid understanding of JWTs, we are going to recreate the application and I’ll demonstrate how to securely reset a user’s password.
To begin, please ensure you have Node.js installed. If you do not have it installed, I suggest visiting the download page and selecting the appropriate installer for you.
Our new application will be named “passwordreset.” In a command prompt, I ran the following commands to create a basic application. Ensure that you start in the current working directory of where you wish to host your Node.js application.
mkdir passwordreset cd passwordreset npm init
The npm init process asks a lot of questions to help you customize your final package.json file. In my case, I have left everything as their defaults.
Is your pattern library up to date today? Alla Kholmatova has just finished a fully fledged book on Design Systems and how to get them right. With common traps, gotchas and the lessons she learned. Hardcover, eBook. Just sayin'.
Table of Contents →
Creating Our First JWT
To make generating JWTs easy, we are going to use an existing npm package named JWT Simple, which will obfuscate a lot of the complexities of encrypting and decrypting a token.
To install the package, in your command prompt where your application resides, enter the following command:
npm install jwt-simple --save
In this first code example, I have created a new index.js file, which creates a JavaScript object that I encrypted into a JWT:
var jwt = require('jwt-simple'); var payload = { userId: 1 }; var secret = 'fe1a1915a379f3be5394b64d14794932'; var token = jwt.encode(payload, secret); console.log(token);
Let’s look at what is happening. The application begins by including the JWT Simple module. We then create a payload object. This object is what we will be encoding inside the token. We have created an object that contains a single property, named userId. I’ve used a hardcoded value of 1.
A token needs to be encrypted (and decrypted) with a secret key. I’ve generated a random string that will be used each time (in this sample application).
With the prerequisites set, we are finally able to create our token. This is done by calling the encode function from the JWT Simple module. This function accepts our payload and the secret key. The result of this function is our URL-friendly token, which contains our encoded header, payload and signature. The final line outputs our token to the console.
Running our application will output the following:
node index.js eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjF9.uKe3CzH_g6oHxlFstQ1BL_Q8_zJKPyJ0dUvZkJsRKBg
As you might have observed, this is the same token from earlier that I broke apart and whose three parts I described (header, payload and signature). Let’s now update our index.js file to decode the token and log it to the console:
var decode = jwt.decode(token, secret); console.log(decode);
Now, when we run the application, we receive the following output:
node index.js eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjF9.uKe3CzH_g6oHxlFstQ1BL_Q8_zJKPyJ0dUvZkJsRKBg { userId: 1 }
Yep, our token was successfully decoded and contains our userId property, with the correct value of 1!
If the token was tampered with and any of the three parts were not able to be decoded and decrypted, then the JWT Simple module would throw exceptions.
Resetting The User’s Password
Let’s put our JWT knowledge to good use and create the final application, allowing the user to reset their password. To focus on the one-time-use password-reset link, we will not implement a database or an email. Nevertheless, our application will contain the following functionality, with several comments about where the application could be enhanced to integrate those features:
The application will display a form that accepts the user’s email address.
It will handle the form’s POST with the user’s email address.
This will create a link, with a JWT token embedded in the URL. The user will click this link and be allowed to reset their password.
The application will create a password-reset page. This page will require the token and will decode it to ensure it is valid.
If successful, a form will be displayed allowing the user to reset their password.
The application will handle the form’s POST with the user’s new password.
This page will also decode and validate the token before saving the new password.
It’s now time to create the application to reset the user’s password, leveraging JWTs to validate the user throughout the process.
To handle the HTTP communication, we are going to use the Express module. We will also be using the BodyParser module to parse the content from our form’s POSTs.
These can be installed by running the following commands in your project’s working directory:
npm install express --save npm install body-parser --save
We will be pseudo-coding the spots where we would be leveraging a database and sending emails, in order to keep this article focused on how JWTs are used throughout the password-reset process. I am going to repurpose my previously created index.js file for the final application.
The following code examples will all be subsets of my full index.js file, allowing me to incrementally demonstrate the process that I am building.
The first thing we need to do is include the required modules and create a web server that allows the user to reset their password:
const express = require('express'); const bodyParser = require('body-parser'); const jwt = require('jwt-simple'); const app = express(); app.use(bodyParser.urlencoded({ extended: false })); app.listen(3000, function () { console.log('Node started on port 3000!') });
The first three lines include the modules required to serve the web pages, parse our forms and encode and decode our JWTs.
The next set of lines set up Express to listen on port 3000 for HTTP requests, and they initialize the BodyParser module to decode standard form data.
With our web server set up, the next set of code will display a form that asks the user for their email address. This will begin the password-reset process:
app.get('/forgotpassword', function (req, res) { res.send('<form action="/passwordreset" method="POST">' + '<input type="email" name="email" value="" placeholder="Enter your email address..." />' + '<input type="submit" value="Reset Password" />' + '</form>'); });
This page can be accessed via http://localhost:3000/forgotpassword. The form it creates will POST to passwordreset with the user’s email address. Our basic form looks as follows. Once the user has entered their email address and submitted the form, our application needs to handle it:
app.post('/passwordreset', function (req, res) { if (req.body.email !== undefined) { var emailAddress = req.body.email; // TODO: Using email, find user from your database. var payload = { id: 1,        // User ID from database email: emailAddress }; // TODO: Make this a one-time-use token by using the user's // current password hash from the database, and combine it // with the user's created date to make a very unique secret key! // For example: // var secret = user.password + ‘-' + user.created.getTime(); var secret = 'fe1a1915a379f3be5394b64d14794932-1506868106675'; var token = jwt.encode(payload, secret); // TODO: Send email containing link to reset password. // In our case, will just return a link to click. res.send('<a href="/resetpassword/' + payload.id + '/' + token + '">Reset password</a>'); } else { res.send('Email address is missing.'); } });
Quite a bit is going on here, so let’s break it down:
We ensure that the POST’s body contains the email property. If it doesn’t, then a basic error message is returned to the user.
Store the email from the POST’s body in a local variable, emailAddress.
Now our first pseudo-code occurs. I’ve placed a TODO message that says you should search your user database for a valid user with the email address supplied.
Next, we generate the payload for the token. My payload consists of the user’s ID and email address.
To make this token a one-time-use token, I encourage you to use the user’s current password hash in conjunction with the user’s created date (in ticks) as the secret key to generate the JWT. This helps to ensure that if the user’s password was the target of a previous attack (on an unrelated website), then the user’s created date will make the secret key unique from the potentially leaked password.
With the combination of the user’s password hash and created date, the JWT will become a one-time-use token, because once the user has changed their password, it will generate a new password hash invalidating the secret key that references the old password.
Because we don’t have a database, we are simply using a static string.
The token is then generated using our payload and secret key.
The final bit of pseudo-code occurs, to send the password-reset link to the user’s email address in an email.
To continue focusing on how tokens are being used, let’s return the link to the browser. This can be clicked to finish the password-reset process. This link would be the same link that the user clicks in the email they received.
In all cases where you send an email to the user, the response should indicate that an email has been sent to the user and instruct them to click the link in the email.
When the user receives the email, they will click the link that takes them to the password-reset page. This page accepts the user’s ID and token as URL parameters (which were set in the link generated in the previous code example). The following code will handle this page. Upon successful decoding and validation of the token, a form is displayed allowing the user to set their new password:
app.get('/resetpassword/:id/:token', function(req, res) { // TODO: Fetch user from database using // req.params.id // TODO: Decrypt one-time-use token using the user's // current password hash from the database and combine it // with the user's created date to make a very unique secret key! // For example, // var secret = user.password + ‘-' + user.created.getTime(); var secret = 'fe1a1915a379f3be5394b64d14794932-1506868106675'; var payload = jwt.decode(req.params.token, secret); // TODO: Gracefully handle decoding issues. // Create form to reset password. res.send('<form action="/resetpassword" method="POST">' + '<input type="hidden" name="id" value="' + payload.id + '" />' + '<input type="hidden" name="token" value="' + req.params.token + '" />' + '<input type="password" name="password" value="" placeholder="Enter your new password..." />' + '<input type="submit" value="Reset Password" />' + '</form>'); });
Similar pseudo-code from the previous example has been included in this example to help secure the application:
Using the ID from the URL parameters, we fetch and validate that the user exists in our database.
We decode the token from the URL parameters. To ensure it is a one-time-use token, I encouraged you in the previous example to encode it with the user’s current password hash in combination with the user’s created date (represented in ticks); thus, it should be decoded with that same hash.
This is how it becomes a one-time-use token. Once the user has successfully changed their password, if they attempt to use the same token again, the token would not decode properly because the password hash would be different for that user.
It would be a good idea to gracefully handle any errors that occur while decoding the token.
Finally, a new form is returned that places the ID and token as hidden form fields and that includes a form field to accept the new password.
This is an example of our basic form for the user to reset their password.
The final part now is to handle the form’s POST with the user’s new password:
app.post('/resetpassword', function(req, res) { // TODO: Fetch user from database using // req.body.id // TODO: Decrypt one-time-use token using the user's // current password hash from the database and combining it // with the user's created date to make a very unique secret key! // For example, // var secret = user.password + ‘-' + user.created.getTime(); var secret = 'fe1a1915a379f3be5394b64d14794932-1506868106675'; var payload = jwt.decode(req.body.token, secret); // TODO: Gracefully handle decoding issues. // TODO: Hash password from // req.body.password res.send('Your password has been successfully changed.'); });
The first part of this code is nearly identical to the previous example where the pseudo-code fetches the user and decodes the token with their current password hash, and the user’s created date is converted to ticks.
Notice the minor change in accessing the user’s ID and token. In the previous example, we used req.params. In this example, we are using req.body. The difference is that the first example was a GET request with the variables in the URL. This example is a POST request in which the variables are in the form.
The final TODO is for you to hash the user’s new password once the token has been validated.
This completes our sample application, which uses a single JWT to allow the user to change their password if they have forgotten it.
Additional Password-Reset Security Measures
Our application focuses specifically on securing the password-reset form by generating and validating a special link embedded with a JWT.
This is just the tip of the iceberg to ensure that the entire password process is more secure. Below is a list of several other enhancements that could further secure your website:
Limit the number of password-reset attempts to prevent a malicious user from giving your end user a negative experience of flooding their inbox with password-reset emails.
Always indicate success when the user enters their email address in the forgotten-password page.
Ensure that your website uses HTTPS to prevent any plain-text communication between the user and server when they are entering or resetting their password.
Ensure that the user’s new password is secure and is not the same as their last password.
Implement a CAPTCHA — the “Are you a human?” test — on both the forgotten-password and password-reset pages. Some websites even implement the CAPTCHA test on the log-in screen.
Implement forgotten-password security questions, where the user must answer a security question (that they’ve previously created) before an email is ever sent to reset their password.
“How Else Can I Use JWTs?”
By now, I’ll bet you are addicted to creating and consuming JWTs! Now you want to use them more. Here are a few examples of how else I have used them:
Single sign-on A friendly third-party website would generate a JWT with information that your website would require to authenticate the user in your application. You and the friendly website would privately share the secret key used to encode and decode the token.
Information exchange Similar to single sign-on, you or the friendly website would generate a token with a privately shared secret key that contains the information you wish to send or receive. Be sure not to share sensitive data!
Tokens required for the “OAuth dance” Note that, because a generated JWT is a string, it can be decoded by a server other than the one that generated it. For example, you might generate a token with your Node.js server, and I could consume it with my PHP application as long as we use the same secret key and hashing algorithm!
Conclusion
Almost every day, we hear about a new security leak. And, let’s be honest, locks only keep out honest people. This means that, as developers, we need to try harder to make better locks. A JWT provides a URL-safe token that, when generated securely, makes for a more secure password-reset process by ensuring that a malicious user cannot easily generate their own token.
This article focused on the password-reset process by securing the password-reset flow with a URL-safe token that is validated with a signature. If you haven’t already done so, I suggest enhancing your processes further by reviewing the additional password-reset security measures and adding the ones that work for you.
If you have any further security processes, be sure to leave a comment below to help your fellow developers ensure that their password policies are more secure.
(al)
http://j.mp/2A6zlLO via Smashing Magazine Feed URL : http://j.mp/2hR8etw
0 notes
mwardcommunications · 8 years
Photo
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
Hey Mary Ward! If you are interested in purchasing your Semi Formal photo you can order it right from our tumblr page!  Fill out this form to place your order! https://docs.google.com/forms/d/e/1FAIpQLSdMxJGLwPQYwy0C4XZ3pbyjtDppAMMF4pbwTqZjKJsp9WT_VA/viewform?c=0&w=1 The cost is $5 for a 5x7 picture and $2 for every additional print of the SAME PHOTO. Orders are due no later than MONDAY MARCH 6TH at 12pm!
0 notes
deunoposteoficial · 4 years
Text
Look Loterias 21h – Resultado Jogo Do Bicho Goiás Das 21 Horas 08/09/2020 8 de setembro de 2020 – terça-feira
Resultado Jogo do Bicho da Look Loterias de hoje das 21 horas:
Prêmio Resultado Grupo 1º 7519 05 – CACHORRO 2º 3553 14 – GATO 3º 4916 04 – BORBOLETA 4º 6555 14 – GATO 5º 5782 21 – TOURO
Soma: 28325
SUPER 5: 09 15 16 11 23
<style> .information{padding:20px 10px!important} a{color: #00597a;} table { margin: 0 auto; width: 100%; display: inline-table; background: #f9f9f9; border-top: 0px; font-size: 13px; overflow: hidden; text-align: left; } td{} tr:nth-child(even) {background: #fff} tr:nth-child(odd) {9} th, td { padding: 8px; } td {border-bottom:0px solid!important;} th, td{border:0px} thead{font-size: 13px; text-transform: uppercase; background: #909090; color: #f3f3f3;} tfoot{border-right: 1px solid #909090; background: #eee; border-top: 1px solid #909090; display: block;font-size: 12px; } .pull-left { float: left!important; } .pull-right { float: right!important; } figure { margin: 0px 0px!important; border: 1px solid #909090!important; box-shadow: 0px 5px 7px #ccc;} h3 { font-size: 1.8rem; background: black; color: #fff; padding: 5px; margin-bottom: 0px; } p{padding: 0px 10px;} h2{padding: 0px 10px;font-size:20px!important} a {text-decoration:none;} page-moblets-list-detail .content p { font-size: 13px;} </style>
youtube
Jogo do Bicho: Confira agora Look Loterias 21h – Resultado Jogo Do Bicho Goiás Das 21 Horas 08/09/2020 no Deu No Poste.
Categorias Jogo do Bicho LK Goiás, Look 21 horas, Look Loterias Goiás
Navegação de post
source https://deunopostehoje.com/look-loterias-21h-resultado-jogo-do-bicho-goias-das-21-horas-08-09-2020-8-de-setembro-de-2020-terca-feira/
0 notes
souqbladek1 · 5 years
Link
https://ift.tt/2JABQtR جهاز كشف الذهب والكنوز والعملات المعدنية Impact من شركة جولد رش لاجهزة كشف الذهب والمعادن والكنوز نقدم لكم احدث الاجهزة المتطورة في البحث عن الذهب والمعادن والكنوز بمواصفات عالمية وبحودة عالية ومجربة وبضمان ثلاث سنوات وبي أسعار مناسبة ومميزة تواصلو معنا وتابعونا دائما لمعرفة الجديد والاسعار في عالم الاجهزة ❖جهاز كشف العملات والكنوز IMPACT يعد احد أفضلالأجهزة حول العالم حيث إنه يأتي مدعوما بخاصية ترددات البحث المتعددة التي لا تتوفر في اي جهاز اخر ولكن مع جهاز امباكت توجد كل هذه الترددات ضمن جهاز واحد لأول مرة. ❖تدعم أجهزة كشف العملات والكنوز امباكت 12 وضعا مخصصا للبحث حيث صممت هذه الأوضاع لمختلف الحالات والظروف والتضاريس لإستكشاف أنواع متعددة من الأهداف مثل الكنوز الذهبية و النقود و المعادن الحديدية النادره وفي جميع أنواع التضاريس المختلفة مثل الأراضي الصخرية و الترب الزراعية والرمليه والطفيلية و حتى على البحار والشواطئ والإنهار ❖كل هذا يجعل من جهاز كشف الذهب والعملات والكنوز امباكت جهاز متكامل يجمع أكثر من جهاز كاشف للمعادن ضمن جهاز واحد سهل الإستخدام و خفيف الوزن وللعديد من المستخدمين خبره وتقييم له ويتضمن الجهاز ثلاثة ترددات بحث مختلفة مع ميزة تحديث البرنامج الموجود في الجهاز وتحديث الإعدادات والضبط وفق اخر التحديثات التي يتم إنزالها عبر الموقع الرسمي للجهاز عبر الشبكه العنكبوتية الإنترنت وكل ذلك عن طريق توصيل الجهاز بي حاسوبك الشخصي ❖يتميز الجهاز بتصميم عصري فخم مع خفة في الوزن وسهولة الفك والتركيب والحمل التي دائما ما يشكل هما للمستكشف ويتميز أيضاً بالسهولة في تغيير الإعدادات واختيار إنظمة البحث وخيارات اخرى عبر التصميم المختصر للقوائم وأيضاً من ميزات الجهاز إنه يدعم سماعات الرأس اللاسلكية مميزات وتقنيات جهاز كشف الكنوز والعملات المعدنية والدفائن Impact ❖خيارات الموازإنه الأرضية حيث يتلائم طبق الجهاز مع بيئة الأرض المستكشفه للحصول على أفضل نتائج البحث بدقه ❖كفاءة وعمق عاليين ❖وجود تحديثات للجهاز عن طريق الإنترنت ❖سماعه لاسلكيه ❖وجود 12 نمط بحث ❖ثلاث اعماق للبحث بحيث يتمكن المستكشف من اختيار العمق المناسب بناءا على موقع البحث ❖الاهتزاز عند إكتشاف هدف ❖وجود كشاف ضوئي على الجهاز لتسهل عمليه البحث ليلا لطلب الاجهزه والاطباق او لمزيد من المعلومات والاستفسارات لا تترددوا في الاتصال بنا للأتصال أو الواتس اب 00971507740209 00971506099456 #وحش_الذهب_1000 #GOLD_MONSTER1000 #جي_بي_اكس_4500 #GPX_4500 #جي_بي_اكس_5000 #GPX_5000 #جي_بي_زد_7000 #GPZ_7000 #اس_دي_سي_2300 #SDC_2300 #سي_تي_اكس_3030 #CTX_3030 #انفيبيو_ملتي #Anfibio_Multi #ايه_يو_جولد_فايندر #Au_Gold_Finder #سي_اف_اف7 #CF77_Coin_Finder #ديب_هنتر_ثري_دي #Deephunter_3D #جولد_كروزر #Gold_Kruzer #ايمباكت #Impact #اينفينو_برو #Invenio_pro #جولد_رش #Gold_Rush #نحن_الافضل #We_are_the_best
0 notes
souqbladek1 · 6 years
Link
https://ift.tt/2wBA5F3 بدلة الساونا للرجال والنساء متوفرة للرجال و النساء تساعد خسارة الوزن من خلال العمل على حرق الدهون زيادة التعرق مما يقوم بطرد السموم خارج الجسم خصر مطاطي و ايضا حول كاحل القدم سهلة الحمل والتخزين تغسل باليدين اهتمامنا بعملائنا يبدأ من لحظة التواصل معنا فنحن نسعى جاهدين لنحوزعلى رضاكم وأن نكون دوماً عند حسن ظنكم. أننا متواجدون لتقديم المساعدة في حال للتواصل مع موظفة خدمة العملاء لشراء وطلب المنتج من داخل مصر 01017233477 01144072233 01208615248 فون & واتساب 01017233477 للاتصال بنا من خارج مصر 00201017233477
0 notes