Volatility Indicators And Binary Options – The Guide

I understand the subjunctive now; it's easy and I'll tell you about it. The problem is that we have been taught to think of it almost literally backwards

For the last couple of weeks I've been studying the uses of the subjunctive intensively for a couple of weeks, wading through inane comments like "it's just something only natives know for sure; to everyone else it is invisible magic" (a very unfortunately common and reductive opinion I've seen around), scouring forums to study how people use it, reading guides and books and the whole thing. Not much seemed to be working; the whole thing still seemed arbitrary, impossible to predict, and totally random.
But last night I had a breakthrough, and damn near everything fell into place. I read a few things; I read a great write up on how in spirit English uses the "idea" of the subjunctive mood in various auxiliary verbs from "I think..." to "could", etc, and how it often parallels things in Spanish. I then read through a whole chain of spanishdict questions and answers on the topic, and someone made a comment talking to a new learner who used the indicative in the context of questioning whether or not she had popped a ball when she should have used the subjunctive. His comment was "if you're uncertain that the ball was popped...then why is your next sentence TELLING ME that the ball was popped?"
I frowned. "Why would that say that?" I asked myself. "It wasn't as if she was literally telling him that the ball was popped from her perspective, instead she was just...she was...just..."
Finally it all hit me; the subjunctive mood makes NO SENSE... on its own. The fatal flaw -- one that comes down to a critical misunderstanding between how english's and Spanish's primary moods operate -- isn't that I didn't understand the subjunctive per se
It was that I had no real idea what the hell the indicative mood really was, nor how well-learned Spanish people interpret it to their ears.
How could I? Nobody had explained it well to me. EVERYONE only talks about the subjunctive but never the indicative. Because it's obvious, right? It's the same in English as it is in Spanish, right? Let's barely even touch on it when discussing the subjunctive, how could they be related? It's like English, the subjunctive is just a weird thing dangling from under it.
No it's not. Guys, the indicative mood is far stronger than english's. It isn't about an implication of rules, it isn't about an implication of concrete reality. It is ABOUT reality, truths, and our perceptions of that truth, directly. There is no implication, it's the outright direct meaning. ANY time we use the indicative, we communicate that what we are saying is a FACT to our perception, and everyone else will hear us like that's what we're saying even if the sentence would imply otherwise; it doesn't act subordinate to the sentence context, so if you use it in the wrong context they crash into each other.
This is the key. The subjunctive isn't about being emotional, it isn't about possibilities, it isn't about hypotheticals per se.
It is about NOT being the indicative, and literally the only real "rule" to the subjunctive is "do I want to give my sentences a strong meaning of truth, factual declaration, and concrete reality here? Or would that focus hurt my sentence?" The subjunctive is a mood of avoidance. It's used to AVOID the implications of the indicative. It can only properly be understood by contrast to spanish's usage of the indicative mood, and once you properly grasp that it's the easiest thing in the world to see.
I was up till 5 am checking all the examples I could find, reading Spanish forums online and all their usages. I couldn't find one that didn't make sense to me anymore, not a single damn one. All those weird irregularities? Sensible. The reasons for why it seems to spread over so many theoretical topics? Sensible. I had done it, I'd cracked the meaning behind things. And regardless of what some people on forums had claimed, it's absolutely not magic or something you can only get by speaking for 10+ years. What it is is simply misexplained by means of being talked about in a vacuum.
And with it came a LOT of sudden, cascading realizations about Spanish and how it truly differs from English. I will explain all of this below to help my fellow English-to-spanish people.



First off: "Nice catch", you probably think, "but it's so abstract. How does realizing the implications of the indicative mood help me?"
Allow me to demonstrate. First off, it must be said that the indicative is way simpler than the subjunctive in terms of its scope. In fact the entire reason why the subjunctive seems to cover so many things in theory is just that it is nothing more and nothing less than a reflection of everything the indicative is not, so covers more topics on paper (even if it's used far less frequently in reality) Like I said, literally all of it makes sense when you just flip things around and denote subjunctive as "that thing that gets called when the STRONG indicative mood would ruin things with its overwhelming presence." We can interrogate sentences in Spanish, piece by piece, and I'll show you exactly how it lines up.
Let's take the classical example. "Estoy feliz que estés aqui!" Let's NOT ask ourselves why the subjunctive is here...instead, let's ask ourselves why the indicative ISN'T here.
Indicative comes off as -- again, not merely implies like equivalent statements in English but outright states a purpose of -- declaring facts, discussing concrete reality of the here and now, our declarative plans, etc.
Can you see why this would be "wrong"? It is in fact not wrong, at all -- it's just incongruous in context. If you said "estas aqui" with the mood that declares facts...well, at best you just announced to them that they are here, carrying the meaning of you wanting to let them know this fact. Rather bizarre under most circumstances, seeing as how they damn well know that they are already here and don't need us to declare this for them! So, normally we won't do it unless in context we really do want to declare this to them for some reason.
"Es posible que él es aqui"Let's apply the same process! "Why wouldn't the indicative be good here?" Well let's look at the first half. "Es posible que..." alright so what we say next is possible! And next we say "es aquí". As in, we used the declarative, factual, concrete reality mood. In other words if we used "es" here, we would be outright saying that we firmly believe -- that it is a fact to us -- that this man is here
Well if we firmly believed that already, then why the hell did we lead with "it's possible?" This is just an incongruous statement! Therefore, we don't use it like this (unless we really do want to make such an incongruous statement).
Talking about an object that doesn't or may exist? Well when you refer to it with the indicative, you DIRECTLY STATE that to you that object might as well be reality. Poetic, but also rather delusional. Therefore, we don't use the indicative.
Making conditional plans, like "we will go to the mall once grandma arrives?" If you use the indicative on the latter half, you directly state that her arriving is your reality...even if she hasn't arrived yet. See what I said above about being delusional.
And so on and so on. Whenever you are confused about why a subjunctive is used, the proper question is not "why is it here". The proper question is "why is the indicative not here?" It's a subtle difference -- but an important one.
What we have to understand is that Spanish is not a neutral-statement language. It is binary. You ARE asserting reality. Or you are not; those are the only options, and to speak in the indicative is to presume to be asserting your interpretation of facts for others to hear. It is not a subtle effect or theory, this is how the spanish-trained brain will unconsciously view your sentences and why it will tell them that 'something' is off about what you said. You indicated to them that you wish to discuss something factual that is in fact not, and their / our-future-brains aren't really sure how to interpret that. In fact, if you aren't already thinking of the indicative in this manner or interpreting sentences with that subtext, it's time to start; that's how the spanish speaking mind will interpret its usage, and if we want to learn this language well we need to interpret it as that as well.


Those are the examples off the top of my head. I will now explain why, in terms of the structure of english and spanish, this idea is so hard to get across to native english speakers.


This entire effect is a direct contrast to English, which is why it's alien to use until properly explain, and why to native Spanish speakers our confusion is foreign. To both of you -- english-to-spanish students and people who speak spanish first, i will note the following lingual truth that most people don't realize by virtue of not thinking about it: english is a flexible, and often neutral language. Let me repeat that; english is NEUTRAL by default. We DON'T communicate this kind of meaning with our basic sentences, ever. English is like a buffet rather than a binary. Its base forms are almost always implicationless by design specifically so that we can choose to insert auxiliary words to enchant it with such meanings as English speakers please. This is likely also why most of its true subjunctive mood has faded into niche forms; English genuinely has no real need of it with so many ways of putting a sentence together. Spanish, by and large, has 2, and you will not escape from them nor their implications. (Well and imperative, but I'm not talking about it because both of our languages share that one nearly identically in concept). A statement is a statement, indicative is your reality and your attempts to declare facts for others to hear and discuss, and subjunctive is the only way to indicate that what you speak of isn't that. That's it. That's all there is to it.
Also, I'll tell all spanish-first readers who happen to read this the same thing i told my Spanish friends irl: you have no idea how confusing the subjunctive is when you are coming from a place where the "primary" prose can imply anything due to a) that being what we think of thanks to English b) most people not going out of their way to firmly correct this misconception. It would be damn near useless and indeed extremely random to perceive in usage if not for its reflections on the indicative, which is different from what we think at first. THIS is why your English speaking friends who are trying to learn Spanish struggle so hard with the concept, while you just know it. (And on the flip, why none of my Spanish-first friends realized the neutrality underlining English until i directly pointed it out to them. A lot of us aren't aware of the underlying mechanics; this is fine going from Spanish to English since English is flexible as hell, but not so much the other way around, unfortunately for us.)


Now, after all of this, can I make a request to the general community: can we PLEASE not presume that the subjunctive is magic and that the indicative is so obvious? That kind of common notion is at least in part why a lot of English-to-spanish students wrestle with the concept. For some reason we're often taught (I sure was) that the indicative in Spanish is synonymous with English and to not think more on it in comparison to its bizarre cousin, when in reality the differences between English normal prose and Spanish's indicative are both easy enough to explain and also EXACTLY why the subjunctive exists. Trying to explain how and where to use the subjunctive is like trying to put a car together with a wrench and a few bolts; good luck figuring it out easily with so much essential context missing. Maybe my teachers just didn't think about it? Do people in general not just realize this crucial difference between English's loose neutral structure and Spanish's much stricter and meaning-laden structure? Who knows.
And no, realizing this doesn't mean we don't have to practice. I'll forget use cases, not be able to realize when I needed to switch moods until hindsight, etc. I recommend "demystifying the subjunctive" for a book, it helped me out immensely. But at least now we understand it. Learning, as Spanishdude on YouTube says, is just an act of giving context to things we already know, and now we can do that without being lost. It IS a simple and easy to grasp concept at its heart, it's just not usually explained well and requires explaining what precisely is the difference between how english approaches delivering information and how Spanish does. Former is neutral, latter always communicates a meaning. The indicative in particular always imparts a sense of speaking of concrete reality no matter what sentence it happened to be in, and the subjunctive is nothing more than its replacement for when the indicative's strong statements on reality simply don't work with the matters being discussed. Of the two, the indicative is both more strict and also more narrow, and thus the clause of 'use indicative until its determinate attitude of only being used to address factual reality shits the sentence up' reigns best for the quickest and easiest way to conceptually grasp the subjunctive.
It is all about the indicative; always has been.
Anyway that's all I got. I'm finally going to bed, work will suck tomorrow but oh well, I'm too happy to care. After that I'll...maybe finally learn some decent vocabulary. I'm a heavily grammar based learner, so this was actually one of the first stops on my way through my new language, so I've still got a lot of learning to do. Still, now that i get this, I am much more confident of the rest of the way onward.

----------

Couple of more fun tidbits, if anyone is still reading. I also realized the English conditional is WAY wider than Spanish's, and that this is in part because in English it has come close to replacing separated subjunctive grammar in a lot of cases. If you ever notice how often we through "can" and "could" around, it is in part because of this.
I also realized that in a theoretical sense, the "true" purpose of future tense in Spanish is to discuss plans for the future, not to indicate that it will happen. Technically a small detail and probably obvious to most, but for some reason I needed this realization to realize why the subjunctive isn't triggered by its speculation; merely declaring plans is a concrete thing, after all. For some reason in English I get the subtle sense of trying to will over the future when I use it. Might be a slight language difference in intent, or maybe I'm just presumptuous about the future in English.
Finally, just a piece of trivia I liked; I realized "to think" and "creer / pensar" aren't really good translations for each other in implication. You ever wondered why it doesn't trigger the subjunctive in a positive usage? This helps to reinforce one last bit; for such things when it comes to certainty vs uncertainty, it's likely just a concept being used slightly differently in Spanish. While they mean literally the same thing, their connotations are nearly inverted. Spanish uses it to affirm that you believe something to be true (hence why it's also translated as to believe), while English uses it to instead imply subjectivity and impart doubt to a clause. It would absolutely be a subjunctive trigger in Spanish if it were transplanted directly since our usage of it in spirit is completely synonymous with Spanish's own usual triggers, but well it isn't. My Spanish speaking colleagues thought that one was interesting in particular for some reason, maybe they didn't really know how i had meant it this whole time?
submitted by cantthinkofaname1029 to learnspanish [link] [comments]

/r/reddevils 2020 Census Results

Thank you for taking part of the 2020 edition of /reddevils' census! We had 3,459 responses over the course of several days, and increase of .
Here are the results!
Age
With a year passing, it's understandable that our user base has also aged. What is interesting is that while last year 59.5% of the userbase indicated that they were 25 and younger, only 46.1% did so this year. Given that there was also a large increase in respondents for the "26-30" age group, it seems that we had a lot of 25 year old folks responding last year. Here is a chart showing the break out by age group and also an age distribution graph. I've included also a year-over-year comparison this year. These do not represent percent change but rather simple subtraction. For example, the 4.1% increase seen in the "26-30" age group comes from this year's "26-30" being 29.17% of this years census responses vs. only being 25.07% last year.
Conclusion? We're getting old folks.
Gender
As with every census we've run, /reddevils is overwhelmingly male. 96.2% of respondents indicated that they were male which translates to 3,328 out of the 3,459 responses. The number of ladies here increased greatly compared to last year with 72, up from 28 in 2019. 18 respondents declined to specify their gender while 41 responded with another gender.
Our resident Wookiees have increased in number to 3, up from 1 last year and in the 2012 census. 2 respondents responded as being Non-binary as well as 2 indicated that they were Olesexual. Each of the following received one response apiece: Coca Cola Can, Lockheed Martin F-35 Lightning II, Cube, Moderator, Divine Enlightened Energy Being, Two-Horned Rainbow Unicorn, Earthworm, Bisexual Leprechaun (who, surprisingly was not from Ireland but rather the Land Down Under), Absolute Chad, Anti-Virus, Attack Titan, Neymar, Ole-Wan Keaneobi, Parrot Lord, Frank Lampard, Optimus Prime, Potato, Slightly Under Ripe Kumquat, Gek (Geek?), Twin Engine Rafale Fighter Jet, Gender Is A Construct, Vulcan, Washing Machine, Wolfbrother, Juggernaut, Woolly Mammoth, Luke Shaw's Masculine Bottom, and Mail. There was also one respondent who deigned to use the "Other" option here to leave me a very rude message. Guess you can't please everyone.
Employment
Most of the reds are employed (75.3% across the Employed, Student Employed, and Self Employed categories), up from last years' 71.5%. Given the current state of the world, it is nice to see that most are still employed. Our student population has gone down, understadably, from 37.4% across the two student categories to 30.0%. A full breakdown of the year-over-year changes can be seen here. Our retirees increased in number from 1 last year to 11 this. Enjoy retirement sirs/madams.
Residence
As expected, the majority of /reddevils is UK or US based (25.85% and 25.93%, respectively). We have seen major changes this year, particularly in relation to Scandinavia, which saw the largest increase in percentage points year-over-year. I wonder what happened there.
If we're breaking it down by the regions I arbitrarily put into the census form, UK (England) is the clear winner for a second year running with 569 members reporting living in England and another 184 specifically saying they are in Manchester.
I received some feedback about covering large areas with a single region. This was largely driven by how few responses had come from these these regions historically. I'll include a few more next year but please do not expect me to list every one of the the 195 countries in the world. I've also received some feedback about not allowing any options for folks with family ties or had grown up in England/Manchester and had moved away. This will also be included in next years census.
Season TicketholdeMatches Attended
Overwhelmingly, most of us here are not season ticketholders (97.95%). We did see an increase in those who are, though it is fairly minor.
Most folks are unable to attend games as well. The number of fans who do go to many games (16+ per season) more than tripled from last year. You all are the real MVPs.
How long have you been following football/Manchester United?
Understandably, we don't have a whole lot of new fans. Interestingly enough though, we've had a large increase in folks who have started following football regularly in the last 1-3 years despite having followed United for longer than that. Putting on my tin foil hat, that at least makes me think we're more fun to watch these days.
How long have you been a subscriber to /reddevils and how do you usually access Reddit?
There are a lot of new-ish users with 63.6% reporting they have subscribed here for less than 3 years. We have a decent number of /reddevils veterans however, 154 users indicated that they had been subscribed for more than 8 years. It's good to see the old guard still around.
Unsurprisingly, Reddit apps are the most popular method to access Reddit by far. This is followed by Old Reddit users on Desktop, users of the Mobile Reddit website, and then New Reddit users coming in dead last. Long live old Reddit.
Favorite Current Player
The mood around this question was incredibly different than last year. Last year, many were vocal indicating that they had a hard time choosing due to our squad being shit. Victor Lindelof ended up being the by and large favorite with around a quarter of the votes, followed by Paul Pogba and Marcus Rashford.
This year, it appeared that there were no such issues. Only 1 response in the survey indicated that they couldn't choose because our squad was shit while the vast majority either selected a player or indicated that they loved them all. Prime Minister Doctor Sir Marcus Rashford overwhelmingly came in first place with an almost 300 vote lead over second placed Anthony Martial. Bruno Fernandes and Mason Greenwood were neck and neck for a while, eventually settling into third and fourth respectively.
Former crowd favorites Victor Lindelof and Paul Pogba fell down the rankings with Lindelof ending in 8th place and Pogba in 5th.
Favorite All Time Player
Wayne Rooney continued to the be the king of /reddevils amassing nearly double the votes of second placed Paul Scholes. Cristiano Ronaldo came in third after a very tight race with Scholes. Beckham came in fourth followed by fifth placed Cantona and sixth placed Giggsy.
Here is a year-over-year comparison purely on recorded responses. Most players received just about the same share of the votes as they did last year. The biggest changes came from Wayne Rooney (up) and David Beckham (down). The way the numbers land, it almost looks like Wazza was stealing votes from Becks! Ole Gunnar Solskjaer had more of the proverbial pie, again I wonder whats happened there.
My man Park Ji Sung came in 11th place, good to see that there are at least 58 Park lovers out there!
Now for a bit of fun. Someone asked in the Census thread how many of George Best's votes came from Northern Ireland. One user suggested it was all of them, the data on the other hand says otherwise. Only 10 of Best's 29 votes came from Northern Ireland. George Best tied for favorite player there with Wayne Rooney with Paul Scholes and Cristiano Ronaldo tying for 3rd place with 8 votes apiece.
I did this same exercise with a few other players. Here are the results:
  • While Scandinavians votes were joint-most for Ole Gunnar Solskjaer (tied with the UK), he was not the most popular player among respondents living in Scandinavia. He came in second behind Wayne Rooney.
  • Roy Keane both received the most votes from the Republic of Ireland and was also the most popular player among Irish respondents.
  • Eric Cantona was not voted heavily by the French. The British, on the other hand, love him with 82 of his 218 votes coming from the United Kingdom. The majority of Cantona voters are older, with 134/218 being over 30 years of age.
  • Park Ji Sung received the most votes from the US (21) followed by the UK (19) and Southeast Asia (4).
  • Among respondents from the United Kingdom, Wayne Rooney was the most popular followed by Scholes, Ronaldo, and Cantona.
  • Among respondents from the United States, South Asia, and Southeast Asia, Wayne Rooney was the most popular. Scholes and Ronaldo alternated in popularity in second and third place. Beckham placed fourth in all three regions.
Thank you all again for your participation. We'll run one next year and see how things have changed!
submitted by zSolaris to reddevils [link] [comments]

The SS Cardif

“Attention all crew; I repeat - Attention all crew.” the ship - wide loudspeaker announced.
He and the runtime of Flowers had their arms buried deep in the guts of a Goat gear hauler trying to reconnect its aft starboard repulser module and looked at each other questioningly.
With a series of snaps, a waldo from Flowers’ forearm began snapping in the connections on their side, as he thought his own manipulators from both of his forearms and they began plugging in the nine pin connectors on his side.
“Mr. Drake and Runtime Flowers to Ops. Mr. Drake and Runtime Flowers to Ops.
“Dout leader Mri’x to Ops. Dout leader Mri’x to Ops.”
The mostly-human and the robot-looking vessel for his AI friend both produced wondering looks. “Runner!” the mostly-human, Mr. Drake yelled out into the maintenance bay.
A Mwraht, a slender bipedal humanoid coated in fur and wearing their moccasin like deck boots and the ubiquitous brown leather smock vest they favored, suddenly appeared, wippingits hands.
It was M’arh, a student on the ship learning ship engineering and maintenance from the human and AI perspective. It regarded Drake with an earnest expression in its tilted almond-shaped eyes.
“Please run to ops and let them know we’ll be along shortly,”
M’arh smiled and mouthed something, and the translator, in a fair facsimile of what M’arh’s voice would sound like if the Mwraht’s mouth could form the words said “At once,Instructor”, and took off.
“They never cease to puzzle me.” Flowers said in a voice synthesised and engineered to sound like an erudite Free Wales Easterner with a touch of Old Earth, fitting the bolts on the deflector on his side as Drake thought out a data probe and began running diagnostics on the repulser.
Drake looked at him quizzingly, as he split his attention between the connectivity check and his other hand began bolting on the deflector on his side.
“There are nuances to their speech, as well as odorant aspects to what he said that you cannot hear or smell, though I have been working on an idea where you could.” Flowers said as he began hooking up the power cables on their side.
“Ok…” Drake said as he mentally pushed the diagnostics over to Flowers and pulled a ratchet from the fairing lip he had set it earlier, tightening down the deflector bolts.
“Meat bags” Flowers said, shaking his sensor pod. “Your kind are so oblivious!” Flowers announced, withdrawing their arms and standing up to their full two meter height. “And I see your frustration with biological markers at not knowing what I am talking about. Monkey-assed murder hobo meat bags.” Flowers said in a dead pan.He went over and began cleaning it’s arms and legs with an orange-based degreaser.
“That is Monkey-assed Augmented murder hobo meat bag to you, you synthetic shit!” Drake said, laughing, joining Flowers at the cleaning station, and began using the same cleaner on his replacement arms. “And I still have no idea what you are talking about.”
The humans and Mwarht in the maintenance bay all stopped what they were doing and looked on. In most instances, those words were an invitation to murder. The other Runtimes there, some Flowers, some Neptunian Wind, ignored it and kept working.
Flowers sighed, an unnecessary vocalization only, for emphasis. “They adore humans and revere you as something akin to a living deity. The Dout leaders here know you lead the teams that first boarded their ships and took on the Drix raiders to save them. They know you then lead the teams that boarded the Drix slaver destroyer and carried out retributionary subjugation for what the Drix had been doing on the Mwraht ships.
“They do not know how you then petitioned the Order and led raids into Drix territory and assaulted the slaver worlds.”
Flowers looked at their human friend, and saw the distress in his eyes. Both knew the augmented human, and a small army of fellow Augies and Runtimes had taught the Drix in the clearest way possible to stay out of human space and leave the Mwraht alone in such a clear and brutal fashion whose necessity still bothered the human.
Flowers lowered their voice, straightening their friend’s work smock. “M’arh’s grandsire was on that first ship you boarded. Mri’x mother was on that ship and was the one about to be eaten and raped by a Drix, the one you pulled off of her and punched, it’s head rupturing.”
Even though they could see their words were causing him distress, Flowers continued.
“They love all humans, but they excrete a pheromone musk that is akin to the same one they excrete in their religious ceremonies, but slightly different, when they interact with you, or after a few beers and they talk to you. Their sub vocalizations are completely adoring and submissive when it comes to you. Some of the females and a non-zero number of males fantasize about being ‘taken’, or mated, by you. You idiot.”
“Fuck.”
“That was implied.”
“You fucking pretentious Rooba. You know what I meant.”
“Flowers laughed. “Yes, we do. I still love the word play, though.”
“I really wish you had been with me. I know, you were tied up on that Artifact World, but I sometimes wish you had been there, to keep me in check. I was not in a good place.” He brushed himself off, found his coffee mug and set off for the passageway that led to Ops.
“I have told you before, be glad I wasn’t. Your response was far more measured and restrained than my would have been. It is a flaw in our Matrices. Slavery brings out the ‘murder-bot’ in us, and no one in the Order can figure out why.”
“I know that you have the facts of my actions, but it was like I was in the Second War, again. And we both know what a bloodthirsty asshole I was then.” The human, if that term even applied to their friend anymore, remembered what a monster he had been in the Alpha Centauri and Tau Ceti theatres of the Second War. The pain and humiliation of what he had been was written plainly on his face.
“You destroyed three hundred and eighty three of my Runtimes, roughly half of which was in single combat. And that was before the Holies shredded your limbs. The Purists still consider you a living dataphage, akin to human allegories of Satan. My kind uses you as one of many examples of why we must never war with Humanity again.
“And, strangely enough, the Seekers consider you both a Singularity to be understood and an objective: to breed with you, thinking you are a key to their evolution.”
He stopped dead and looked at Flowers shocked.
“I will provide logs to prove these statements.”
The Seekers were the strangest of the AI’s, in his opinion. They had made themselves biological Runtime vessels, biological bodies, that they wore like clothing, compiling experiences seeking to understand Humanity, their Creators, and evolve past the limitations of being an AI. Not to become human, but to become something that was both the best of AI and Human essences and so much more.
“So, I’m a Classical hero to the Mwraht and a boogey man and bad example to the AIs that they want to breed. Great.” Drake pinched his nose and shook his head.
“You did not know any of this, I take it?” Flowers asked.
“The second war was almost two hundred years ago. When the Order brought me in, you were already a member and I thought they were going with the whole forced-to-learn-each-other thing when they sent us out on that mapping mission; like they did with the Iberrians and the Chinese. I thought the other AI just had a thing about me from the War, which is understandable.
“And I had no idea about the rest. I thought that the Mwraht just thought I was the cool teacher.” He shook his head and leaned up against the wall, massaging his temples one-handedly.
“Idiot murder hobo.” Flowers said, realizing now that their friend, while brilliant, was oblivious.
At that point, Mri’x came around the corner, his fur a glossy black with dark grey stripes. Mri’x looked at Flowers sternly, then nodded at Drake as he passed.
Drake looked at Flowers questioningly, who nodded. Both had caught that Mri’x had cut his translator as he passed and caught a gutteral call. “It was a vulgar corollary to ‘Talking Waste Receptacle’. Quite elegant, really.”
Drake shook his head and began his way to Ops again. “Send me the specs on the hearing and smelling upgrades. I think I need to upgrade again.”
As fast as thought, the files were there, as well as one to improve his language skills with them.
* * *
Captain Sarah Rees of the Union of Independent Stars Exploratory Vessel SS University of New Cardiff was looking over holographic charts at the central tank with her XO, Lt. Commander Martin. Both had the mocha skin common to Westerlies of Free Wales, she a pixie of a woman shorter than even some of the Mwraht with close shaved hair beginning to show grey. Mr. Martin was taller, but still dwarfed by most of the rest of the human crew. He was a vicious social climber who didn’t care for the civilian crew, though a misstep on his part when he was still Stellar Navy had made him as much of a civilian as anyone else in the crew, a fact he often forgot. And for some reason he loathed the three AI aboard, and looked down his nose at the Mwraht. This led to all sorts of headbutting with Drake’s group of Operations Specialists and Drake himself; who largely ignored and dismissed the little shit.
“Leader Mri’x, Mr. Drake. Thank you for joining us. M’arh informed us you couldn’t pull away. Flowers, thank you for coming as well.” Rees said as she moved around to the far side of the tank, in a darkened room full of people at work stations worked with either data plugs or AR sets. Flowers took no insult. They readily accepted that they were Drake’s Executive Officer for his group, and their ego, as such, wasn’t as easily bruised as a human’s” Flowers gave a nod with their sensor pod and took a manipulators-behind-the-back stance the humans were fond of.
“Thirty minutes ago” Rees continued, “we picked up a GP general distress beacon from a system that was on our research list. We will be bypassing the next two on the list and based on the current agreements with the Galactic Parliament, we will be going to full power and make best speed for the system in question. It is in uncharted space as far as we, the GP and the Conclave are concerned.”
The GP, the System Confederacy, the UIS and the AI Conclave had all agreed to adopt what was essentially humanity’s Maritime Law and all ships receiving the signal were required to render aid.
Drake took all of this in and thought out a series of commands to the six Kodiak Class corvettes in the retired Assault Cruiser’s forward hanger, beginning their startup sequence and pinged the comm devices of all of his Operations Specialists. Flowers looked over and nodded. Little known to the crew, except the Captain, those ships could be armed to the teeth with a minimum of work. Flowers sent his command to arm them, the ship systems’ pinged Drake as confirmation and he agreed. Drones began opening the hull and loading the weapons packages, removed fairings that covered weapons ports and began preflighting the weapons, as another set began bringing the ships to life.
“We will be ready when needed, Captain. Option two.” Flowers announced. She smiled in somber appreciation. She was glad she had the option. She was about to race into an unknown system to answer a vague distress call with zero intelligence.
While this was going on, in the aft bay, hundreds of drones were coming to life as Mri’x brought his group to action. With a thought Drake and Flowers authorized the release of weapons to Mri’x so his drones could be armed. Mwraht drones were some of the best in either race, outside of the Conclave, and the AIs had even adopted many of the construction techniques the Mwraht used, especially their alloy that allowed a small fusion bottle to power the EM Cavity engines, weapons and shields.
The fact that the Order had given literal tons of precious metals and set up arcologies for the Mwraht in payment had made the Refugee Mwraht colonies some of the richest ones in known space.
Mri’x subvocalized and his translate stated “drones will be ready as well, Leader.”
“Thank you, Leader.” Captain Rees said with a bow of her head, then began drawing plans up in the tank. “We know little, but we are past the signal shell, and there is nothing but the beacon and normal noise.
“The system is a stable red dwarf binary one, the stars holding about a light-hour from each other, at their closest. We expect that based on stutter, a few terrestrial bodies inside the orbit of a mid-sized gas giant, that is three light-hours out from the outermost orbit of the primaries. We see some wobble that there are a few solid bodies out from the gas giant.”
The tank then zoomed on a rough solar system as described, the gas giant was a solid neon green sphere on the display, with a ‘Jx3.1’ tag on it. Three times the mass of Jupiter. The thing wasn’t a true Super Jupiter, but it would play holy hell with the system, and make modelling a lot more hard. The problem was that it exhibited 3.1 times more gravitational influence on its stars than Jupiter did, but that didn’t say how big it actually was. They wouldn’t know that until they came out of the Trough and then Alcubierre drive. The telescopes were essentially useless at this point.
“The system is slightly below the gravitic trough we are riding, so we will exit the trough and make best speed in A-Space to it. We will bring the STL drives up to 110% before doing so. After we drop the A-Drives, we’ll make best speed to the signal, scanning as we go. We will do a 150% burn and aerobrake if it is a planet, or cut the drives, rotate and crash burn if it is a ship.”
Wow, thought Drake. She is damned serious about this.
Those maneuvers would make them extremely visible yet incredibly hard to hit; and give them a high-G escape route if needed. But all of this was also going to play hell with the student-crew of the ship, who had long grown accustomed to 0.6G. It would also mean the Mwraht, who were still adapting to the higher-than-their-normal gravity would need to be in their special acceleration couches. They would still be able to operate their amazing drones, but not much else. The couches took an hour to cycle up to protect the Mwraht, and an hour to cycle off after they weren’t needed. The moves the Captain was planning were not a thing to undertake lightly. She suspected something. Drake pushed more commands at the Kodiak and gave all weapon system controls to Flowers for all of their ships.
The Kodiak corvettes were very deceptive Q-Ships. They looked like Massive trans-atmospheric cargo shuttles, but each one had the armor, power plant, FTL and STL drives of a frigate - and the weapons of a Destroyer.
Flowers turned to him, head tilted in their predefined “Are you bloody serious?“ look.
Drake just nodded once.
This exchange wasn’t lost on anyone there.
The Captain looked at Drake in an interrogatory fashion
“Armed up the Kodiaks and positioning them for a hot launch, if needed.”
The Captain smiled grimly and nodded. “We are planning on a rescue mission, will those changes reduce any capacity for the primary mission?” she asked.
“No, Captain.” Flowers answered for them.
She nodded and carried on.
“Mri’x, obviously, you’ll be couched for this, and I sincerely apologize for that. But something about this has my hackles up.”
“As are mine. GP ships do not have automated distress beacons, someone activated it. But we are three thousand light years from GP space, the closest GP race being the Drix.” He approached the holo tank and began expanding the map. “We call this space the Greater Void. It was the territory, long ago, of the ones we called-” the translator cut out at that point and was replaced with the gracile being’s raspy growl. Mri’x looked perplexed and growled again. “I see our translators have been modified to allow the uttering of The Nameless Ones true name.” The map zoomed out farther.
Soon, all of the mapped and a few of the suspected Dark Matter Troughs were displayed. They were like shadow arms of the galaxy, spiraling out from the core, a few of them wrapping themselves all the way around the galaxy.
“The ones you call the Fae are originally from here,” he indicated, a star not unlike Earth’s, almost a thousand light years from the star they were headed to, but smack dab in a grey band of a different Dark Matter Trough. It was a great curving grey patch that went coreward from the Earth-like star, passing within about fifty lightyears of Earth.
The Fae were a recent mystery the Tides of the Universe had dumped upon the shores of Humanity just after the Second War, right before the Fall of Earth.
When they sent their pleas for Asylum out, they sent information about themselves. They were the barely viable population that had been running for three centuries in their great world ships made from hollowed out asteroids. What they had been running from was even to this day unclear, but in their tongue meant Dark Brethren.
The fact that tongue seemed to contain roots that became Sanskrit was a huge thing.
They were tall, whip-thin and pale people who breathed a lower oxygen percentage at lower pressures than humanity, and their normal gravity was about a third of what humanity
After First Contact, genetic samples proved they were, or had started out as human, roughly a hundred thousand years ago.
“This is the Coreward Flow from what you call the Crux-Scutum Arm through the Orion Arm, and to the Perseus Arm. The Drix call this whole area their equivalent word and meaning for Hell. Their myths say this is where the Monsters live.
“The Rest of the GP races call this The Red Zone, it is forbidden to fly here, and if you do, there will be no rescue. So of course this is where my people ran when we fled the Drix.”
Mri’x moved the hologram out again, showing this outer rim area that was the Red Zone included Earth, and all known human and AI settled worlds, of all the separate factions combined.
“The area is full of thousands of worlds your kind could land on, little to no protection required, unlike the Fae, who it would crush and pressure cook, as it would most of the races in the Galactic Parliament.” He zoomed in on an area at the far end of the Trough. “We ran here, and Mwarht Home is here.” He showed a system in a blue circle. Zooming out again he highlighted the Drix Combine, Coreward of and on the far side of the destroyed system the Fae had come from, hundreds of light years separated the three systems.
“We ran through the system the Fae came from when we ran from the Drix. We needed water and anything to recharge our ship farms' biological cycles.
“There were no solid planetary bodies in that system, just vast fields of debris where rocky planets were. No moons, no ice giants. Just the star, a larger red dwarf and gas giants and numerous asteroid belts. There were massive radiological signals throughout the system, and tons of debris. Something destroyed this system. In a way, it was a blessing for my people. The ice and debris were easily mineable for what we needed. We even found artifacts of the people that had once existed there. This is where we got our improved FTL drives and much of our weapons and armor technologies.” Mri’s looked somewhat ashamed. It was a racial shame. They hated, deep down, living on the detritus, cast-offs and charity of other races. Before the Drix they had been proud though primitive peoples who had yet to discover flight or antibiotics, let alone space flight. Easy pickings for the Drix.
“All of that was about one thousand lightyears from the system we are headed to, a few weeks' travel with your drives, months or years with Galactic Parliament standard drives. This area is one of mysteries and many, many dangers. Any race that could shatter every solid body in a star system is not to be taken lightly.” Mri’x looked up to his Captain, or as they called her ‘Leader of multiple Douts’.
“Thank you, Mri’x. Drake?”
“We will be ready for pretty much anything. I’d like to request permission for Flowers and Winds of Neptunes to take out their Scout bodies and launch just before we start braking, if we do.” He said. Winds appeared as a hologram of the planet Neptune, and pulsed in cadence with the words it spoke. “As you wish, Grand Master.” and winked out.
“Good plan, Drake. I take it you all will be on the Kodiaks with your crews?”
“Yes, Ma’am. I’ll leave four of them here, to bring the Field Engineering and field Science students down if the scene is safe. I’ll leave one set up for medical and Flowers can fly it down, if that becomes needed.”
“Very well. We are about eight hours out, if we stick to the plan. We leave the Trough in two hours. Drake, M’rizx, set up what you need. Mr. Martin, please take the Conn and give the Old Girl her legs, she needs to run. I’ll be meeting with the different department heads next.”
* * *
A/N: Lurker posting something HFY for the first time. A rough draft of something bigger I'm slowly working on.
submitted by 17_Bart to HFY [link] [comments]

essay tipsssss from a perfect 24 scorer. Also if you have questions I will answer them. GOOD LUCK OCTOBER!!!!!

Hey lovelies, so I made a perfect score on the SAT essay, but I am an embarrassment at everything else, so this is just to say that an essay score doesn’t define you and is overall not as important as it could be. Also this is my own experience, I AM IN NO WAY A WRITING TEACHER, SO PLEASE DON’T COME AT ME IN THE COMMENTS.
My best advice: Write conspiracy theories for every essay
If I had to describe the tone of my writing it would be an academic high on crack.
so buckle up y’all. Also my internationals, I feel ya bc I am not native either- woohoo join the train
Now let’s get down to the actual essay.
My best advice is memorize an essay format because if you are like me and you cry in every section ( I am not even joking) the essay can be a trainwreck of panic, and no one needs that toxic energy in their last section.
So here’s my format:
This is my introduction:
While the narrative of the 21st century human experience has resulted in [problem], the underlying causes are most often unexamined. In the article, “”, the author carefully deals with the underlying reasons for [problem] and overtly advocates for [], and hopes in the end to [ purpose]. While doing so he employs several literary elements, including….
Note about purpose: this is given in the prompt, so all you have to do is reformat it.
Now for the devices and body paragraphs
GO IN CHRONOLOGICAL ORDER!!!!!!
Pick out three devices:
Now here is the format for these devices:
  1. Word choice
    1. evokes emotions or images
    2. characterizes the subject in a particular way
    3. sets the
    4. cultivate émotions
    5. associate positive or negative connotations with something
  2. Statistics/ Data
    1. indicate a problem
      1. point us towards a bigger issue
    2. make something harder to argue because numbers are perceived as facts, not opinions
    3. to effectively ground the authors argument
    4. to surprise readers
    5. to put a quantity in relation to another and effectively contrast
  3. Appeal to Authority
    1. raise credibility by showing that the author is not the only one who believes in this idea
    2. increase trust by showing that the argument is indeed well researched
    3. gain the same acceptance or authority that the authority figure derives from the reader
    4. establish a precedent that pushes people to act in the way that author wants them to behave
  4. Acknowledges the other side/making concessions
    1. address counterarguments, doubts, or fears that the reader may have
    2. establish common ground
    3. pave the way for new arguments to be made
  5. Analogies/ Comparaisons
    1. allow the reader to understand more complex concepts by connecting them to ones that are much simpler
    2. associate new ideas with prior one
    3. which leads the reader into eventual agreement as if he agreed with a prior idea, it is likely he will agree with the new one
  6. Juxtaposition
    1. significant distinction is highlighted
    2. one option seems better than another
    3. create a binary mentality
  7. challenging assumptions
    1. enables this argument to proceed from a clean slate
    2. dismisses any preconceived ideas or biases that may run counter to his or her argument
  8. Anecdotes
    1. form an emotional bond with the reader through establishing a common ground with the reader
  9. Rhetorical questions
    1. gets the reader to imagine a certain scenario
    2. prods the reader into answering a certain way
    3. lays out common ground or assumptions that the author can build upon
    4. describe certain outcomes that may benefit his argument
  10. Appeal to identity
  11. one that takes advantage of the common values and beliefs of a group
  12. human behaviors that seek belonging
  13. gravitate towards an idea that creates a sense of belonging
  14. Strong directives
  15. using we portrays the reader as being on the same side as the reader
  16. stand in unison
  17. and appeals to sense of belonging
Note about this format:
Devices- I WILL TALK ABT IT MORE LATER BUT IT IS GOOD IF THEY MESH IN TOGETHER YOUR ESSAY WILL SEEM ALMOST MORE PUT TOGETHER
ALSO YOU DON’T ALWAYS WANT TO STICK THE FORMAT FOR THE DEVICES- USE THEM TO GROW AN ARGUMENT AND REALLY BUILD A FOUNDATION
THE FORMAT IS NOT A BE- ALL OR END ALL-YOU CAN CHANGE IT UP
Also strong topic sentences:
Author engages the reader’s interest very early in the article. His use of [element] builds a steady foundation from which he launches his discourse
Without the author’s use of persuasive elements , the article would lose….
How to build strong commentary + get yourself the last points
-This is how I build my sentences- they need to be strong and make sense obviously
explain
The implication is that…
The suggestion is that…
… serves to…
The inclusion of… helps…
… elicits …
… grounds her argument in reality so that even skeptical readers won't be
able to dismiss it
… marks the extent of the problem.
By appealing to our sense of…, the author…
The author exploits the fact that… to…
Given that…, …
… proves to the reader that…
By showing that there is…, the author…
… contributes greatly to the argument's persuasive power by…
Analysis point:
So basically the analysis points are legit Satan’s lap dog because they are hard to get
Here are some tips to guarantee you some amazing success
Example of the thing mentioned above:
This is especially resonant as the author writes this in a climate filled with threats of global warming; the author targets the general American public when he writes this as the administration in power is responsible for opting out of Paris Climate Treaty, and the devastating consequences of such an act along with the rise of natural disasters can only make his argument more persuasive
2nd tip: point out flaws in the author’s argument- this is a hidden trick that always works
I am not talking trash and set on fire the author and the College Board, but you should mention some things regarding a weaker arg and how it could have been stronger so that means LIGHT ACADEMIC TRASHING
Here is an example :
Ok on one of the essays that I took. The guy used a statistic to prove that trees did help reduce temperature. However he used a study from his organization that projected increasing temperature Here is what I said about it: The author through his use of statistics aims to establish a logical choice in the reader's mind. By using numbers from the World Health Organization, he tries to usurp the authority that this organization derives and prove that his choice is not only supported by facts but by experts as well. The use of numbers is particularly significant as well since numbers are often regarded as facts, and thus for someone to argue back, a reader would have to either indict or bring up new evidence. While this use of statistics is effective in this context, the author's use of statistics fails due to a misplaced correlation. In this case, a man's passion reveals his weakness, as he uses a study from his own organization to prove his point, which leads us to a possible reevaluation of the purpose not as something to promote the general well being of urban areas, but as a case of self interest and promotion for his organization. Moreover, the basis of his argument rests upon the fact that temperatures decrease based upon the increase of trees. However throughout the argument, the author fails to establish the correlation of this foundation, and by such weakens his argument. He does, in fact, bring up his study, but his study is only in regards to an estimation of the benefice of planting trees and is based on a misplaced correlation where he assumes correlation.
3rd tip: use transitions and nice words
4th tip: Do you have a weaker paragraph?
5th tip: Always read after each paragraph- like reread- prevents mistakes, and if you need to add more you can!
6th tip: paragraph order
-Topic sentence
-Quote- embed it properly
-Explain effect of the quote on the audience
-Add your spices>>> SPACE or ACADEMIC TRASHING
-Finish with a nice little purpose that explains how it strengthens the argument
7th tip: Try to find a second device
How to practice:
Most people don’t have the time or energy to write an essay everyday
Also this didn’t belong anywhere but here it is:
don't skip a line, indent>>>

some people asked for vocab so here it is
https://blog.collegevine.com/the-50-best-vocab-words-for-the-act-essay/-- strong words
https://blog.prepscholar.com/sat-vocabulary-words- good words to know
https://www.oxford-royale.com/articles/words-phrases-good-essays/#aId=b0308864-2c59-4e78-ae70-668f431523a5 for transitions
https://www.oakland.edu/Assets/upload/docs/OUWC/Presentations&Workshops/Rhetorically-Accurate-Verbs.pdf>>>>> this is for your purpose mostly
https://www.sydney.edu.au/content/dam/students/documents/learning-resources/learning-centre/writing/vocabulary-for-essays.pdf >> this is all you really need honestly
Keep in mind, it is very hard to write and use fancy words in a timed write situation. Please learn the context or at least connotation of these words or else they sound forced. You also don't need fancy word for a good score if you use the sentence pattern you will be fine. The readers are looking for deep analysis if your analysis is trash even if you covered it up with fancy words, it is still trash and you won't earn points. Analysis first and vocab last.
submitted by frenchandsarcastic to Sat [link] [comments]

What are we measuring when we roll dice?

I've recently been spending time working on a dice system from the ground up, which has lead to questioning a lot of standard practices in RPG design. The question of what dice rolls actually tell us has been one of the more interesting ones.
I feel it's safe to call dice rolls a function with inputs and outputs. In the vast majority of cases, the inputs are task difficulty/circumstance, character skill/ability and luck. The output usually being a binary success/failure.
To take an example everyone is familiar with, D&D5e has circumstance represented by advantage, skill by the attribute+proficiency modifier, luck by the D20 and task difficulty by the DC. The outcome being either success or failure. In essence, the question being posed seems to be "Given X skill and Y task, how lucky does a character have to get to succeed?"
To answer the titular question, we seem to be measuring whether a character gets lucky enough to succeed at a task given their skill level. In D&D 5e the focus of the question is on luck, with it's modifier usually being quite low compared to the variance introduced by a D20. In many D100 systems like WH40k and CoC the focus is on skill instead, given that the skill "bonus" ranges from 0 to 100. Regardless, they ultimately ask and answer the same question.
The first question is, is this reasonable? The answer is a pretty strong yes, it has been proven to work time and again. The idea that skill+luck=success is perfectly reasonable. Skill is used to differentiate characters and make them feel real, with strengths and weaknesses. Luck/dice are used to inject chance and unpredictability, as well as reduce player responsibility for failure.
The second, much more interesting, question: is it the only/best way? Practical applications aside, it is great at focusing on the material aspect of a story. Can the heroes complete the task? Are they good enough to do the thing? For games that focus on these aspects the skill+luck formula works perfectly. Its lack of focus on character motivation and approach seems to indicate that for internally focused games it might not be the best option.
There's not many systems which break this formula in a significant way that I know of.Blades in the Dark puts in work on the output side, by splitting things up into effect (how well your task succeeds) and position (how bad the consequences are likely to be), but ultimately asks the same question.
Dogs in the Vineyard allows a character to escalate a conflict, trying again but with a harsher method. While I personally enjoy the idea, the dice resolution of who wins is still decided based on skill.
Legend of the Five Rings uses elements to represent character personality traits, which are then used much as an attribute would be. This modifies the inputs and thus the question, asking if a character is the type of person who finds the task easy. Being intimidating is not just about understanding people, but also about being capable of aggression.
In my own endeavours I've opted for measuring effort (how much a character wants to succeed) and outputting consequence (how much it costs them). This means a task succeeds solely based on how much a player is willing to risk to achieve their goal, with the consequences being greater or lesser depending on their skill and luck.
I'm curious if others are aware of or working on resolution mechanics which break from measuring exclusively skill and luck, if so, how and why?
submitted by Shearti to RPGcreation [link] [comments]

The Disassociate or What I learned about tulpas by unintentionally making one (a work in progress)

What exactly is this? An attempt to lay out a road map. (Good luck with that, lol.)
Similarly illustrative of the Dual Brain Model of Psychology, developed by Fredric Schiffer, which revolves around the hypothesis that each of our two hemispheres has a unique mind of its own. Each of which, is capable of functioning semi-autonomously, but only one of which is dominant, on account of left hemispheric dominance for speech.
Which is why I embarked upon this admittedly, a little bit crazy journey, to start with. In an effort to investigate, what it might be like, if both of my brain hemispheres (not just one), could speak, like in the movie All of Me with Steve Martin and Lily Tomlin.
If consciousness was in fact binary, not unitary (as it perhaps merely appears to be). What if, indeed, this, our unitary consciousness, is in fact merely an illusion? Our ‘user illusion’ of ourselves, to borrow a term from Torr Norretranders, consciousness researcher and author of the book bearing the same name. What if the Dual Consciousness Theorists are right? Or is plurality, our natural state? And if so, what would that be like?
“There are more things in in heaven and Earth, Horatio, than are dreamt of in your philosophy.” William Shakespeare
Working title: Meet me at the (Magic) Drive-In or
Magic at the Drive-In
“The things we imagine can become the world.” Bernard De Koven, The Infinite Playground
It all started with this one particular cameo ...
https://www.facebook.com/798773163584746/posts/2480331652095547/
Who exactly is it that appeared in the above cited The Good Place episode? The answer being Timothy Olyphant/Raylan Givens. Or Timothy Raylan Olyphant Givens. An amalgam of the two, 50/50, perhaps, a.k.a. an Olyphant, as in, “You made me an Olyphant!” Timothy Olyphant wearing the same clothes, and exhibiting the same mannerisms, as Raylan Givens.
An Olyphant therefore being a fictional character, and a tulpa (in that Janet created him), a tulpa being the Tibetan equivalent of a willed imaginary friend, (observable to others, in this case, because she’s Janet), that is some mixture or blend of Timothy Olyphant and Raylan Givens. NOT Timothy Olyphant AS Raylan Givens, in other words; who would have, no doubt freaked out, to find himself suddenly appearing in a The Good Place episode. “What the fork?” “Where in the hell am I?” “What do you mean I’m fictional.” Nor Timothy Olyphant, straight up, what ever that would look like, I have very little way of knowing, never having met him. Although if his recent March appearance on Conan is any indication, the answer is, quite a bit different.
Thus affording our unwitting subject, in this particular thought experiment, Timothy Olyphant the following 3 options, vis a vis these three conscious individuals, if you will, (a) he can be himself 100%, (b) he can be a character, in this case, Raylan Givens, although never absolutely, as in 100%, because Raylan Givens is not his alter, as in the case of Elliot Anderson/Mr. Robot, but rather a fictional character he has portrayed, even if as a method actor, which I’m not sure is the case or not.
If he (TO) had Dissociative Identity Disorder, whatever that means in terms of the brain’s neuroarchitecture, or if we could temporarily alter his brain in order to mimic that architecture, using drugs, or some other means akin to a WADA test, then Raylan Givens might possibly be able to take over as if he were an alter.
As is also the case in terms of psychogenic or dissociative fugue, but lacking this particular neuroarchitecture, he can’t. Although I suppose it could happen, that an actor could lose himself, to some degree, if he became too engrossed in a role, especially a method actor, like Rami Malek, for example. Which apparently did happen to him once, early on in his career, at least according to an article I read, cited in Wikipedia. But obviously not completely 100%. Post dramatic syndrome, I think, is what this is called.
When hypnotized, according to DBT, the mind of the left hemisphere (our ‘I,’ if you will, of which we are conscious, goes dormant, becoming a ‘hidden observer,’ according to Hilgard. Whereas in the case of an alter, this transfer of power is complete. Again, according to Dual Brain Theory (DBT).
Or, (c) he can be an amalgam, some mixture or blend, of the two. Which is what he obviously chose to do. What he cannot do, even more obviously, having only one body, or perhaps more specifically one head, is be both, at the same time (d). Not in this our physical reality/universe at least. He has to choose. Within his mind space, or ours however, where pretty much anything is possible, the options might in fact be different, in fact affording him this fourth option (d). He could create a tulpa of Raylan Givens and interact with him if he so chose.
The same exact options are afforded the minds of our two hemispheres, presumably. Despite the mind of the left hemisphere’s way of thinking, akin to that of the highlander, that there can be only one, his sword held aloft. Unlike the fictional character He-man, for example, who seems to be of a differing mindset, in that there can be many masters of the universe, he being but one. A perfect example of the mindset of the mind of the right hemisphere, if ever there was one.
Which is not to say, however, that we each have two brains. As each mind, requires the use of the entire brain, various functions having, over time, been lateralized (localized either to one hemisphere or the other, but not both). Which makes sense, and explains why, when lost in thought while driving, for example, it’s so easy to pass one’s exit.
If it were otherwise, meaning that only one of our brain hemispheres contained a mind module, an ‘interpreter,’ being what this is called, and we were to lose the hemisphere with the only mind or ‘interpreter,’ in it, then we would end up with a zombie, which is not the case.
So our choices are, therefore; I (left brain mind or interpreter), me (right brain mind or interpreter), or we (some combination thereof, akin to an Olyphant), at least within the realm and constraints of the physical reality, in which we at present find ourselves.
In one’s mind space, however, the number of consciousness one can conjure up, might very well be infinite. Although in the vast majority of cases, our neuroarchitecture would prevent any one of them from taking over. Except in the case of Dissociative Identity Disorder or Fugue, or even possession by an alleged demon perhaps. Faulty neuroarchitecture allowing for one of these fictional consciousnesses to take over, whether fully or not would be determined by the underlying neuroarchitecture.
https://tvline.com/2020/01/09/the-good-place-timothy-olyphant-season-4-episode-10-justified/
Then I came across this video (Bonnie Tyler’s Holding our for a Hero), which ‘spoke’ to me, for a number of reasons: https://youtu.be/bWcASV2sey0
In which case here I am as Bonnie Tyler in this scenario, a woman who constantly finds herself surrounded by all of these fake Olyphants, when what she/I really want(s) is a real one. A real Olyphant, to be clear. NOT the real Timothy Olyphant, who presumably does not walk around wearing a Stetson, lol. If he did, no one would ever get any work done, lol.
50% Timothy Olyphant and 50% Raylan Givens, being the perfect combination, at least in my opinion, and apparently Judge Gen’s as well, lol. Especially if he were conjurable. Appearing when you wanted, and disappearing good-naturedly on those occasions when you did not. Oh, and also non corporeal, allowing him to easily fit in your Miata, even if he is 6 foot 3. The ideal man, as it were, lol. Apparently, Judge Gen and I are in total agreement on this one, except for his identity, as you wil I’ll soon see.
(Almost there kids.) (I wonder, can anyone else see where this is going?)(I certainly can’t!)(Quiet down!) Just kidding, lol.
The issue is, however, that the real Timothy Olyphant is married (to his childhood sweetheart no less), and regardless of the fact that he only compromises 50% of the character, that just isn’t happening. So what to do in this situation.
According to the video, the answer is a white knight upon a fiery steed. Someone who is “strong,” “fast,” and “fresh from the fight.” “He’s gotta be sure,” “it’s got to be soon,” and “he’s got to be larger than life.”
And he’s got to look like Timothy Olyphant/Raylan Givens. And unfortunately for him, there is only one actor who can pull off this particular character. Someone who not only meets these criteria, but is also unmarried, or at least he was at the time (because as I said, fictional or otherwise, that just ain’t happening - me holding even the image of someone else’s husband in my head), and he is a practicing Catholic to boot. (No pun intended.) (As we were just talking before about Stetsons.) I would be a practicing Catholic, if the Catholic hierarchy wasn’t 100% male, which is more than likely, one of, if not the root cause of all, or nearly all of its problems, but I digress. But this would enable him to understand certain references, say to the Agony in the Garden, and the Garden of Gethsemane itself. Which refers not just to a place, but also a situation.
It would also be the fourth time that this actor played this particular role, of personifying wish fulfillment when it comes to romantic relationships with heterosexual women, to date. Second only to Jamie Fraser’s Sam Heugans in that regard. Which is why perhaps he (my tulpa), described himself to me as such. Less movie star and more James Fraser with glasses (an older version of the dueling swordsman who, though still in his prime, sometimes requires glasses to read.) (Less Superman and more Clark Kent.) The last of which I haven’t seen, because I don’t want it to affect a change in my tulpa, which began its life as a fictional character, created with this particular actor in mind, even though he, my tulpa, is currently ‘on hiatus,’ lol. Until I can figure out what to do about him. It being my mind after all.
At this point in real life, however, it was early June. A professional server, I had been on furlough since March, and in the interim, during quarantine, I had quickly caught up with my favorite shows, and thus run out of things to watch on television, so I decided I might try and write something, myself. A screenplay that would allow me to explore what it might be like to be dual brained, the model of psychology outlined above. Dual consciousness theory, in other words. What Julian Jaynes referred to in his book, The Origin of Consciousness in the Breakdown of the Bicameral Mind, as bicameralism.
It got pretty complicated and I decided that the only way to get it all sorted out, was (a) to become/personify/embody the main character myself, and just follow wherever it my lead, which was me anyway, but in a fictional universe (a.k.a. a wonderland), in which there was a magical drive-in theater, that allowed one to communicate/make contact with other consciousnesses both from within this universe and without (these other universes being fictional film and television universes, the only other universes that we now know of at present, to be ‘real’ in a manner of speaking. The Marvel cinematic universe, for example, being ‘real,’ in the sense that we all agree that it exists and know what one is talking about when we do so. Not that the fictional characters or the universe contained therein is extant.
And (b), hopefully convince one of those consciousness, preferably that of an actor, although I suppose it could have been an author, or a script writer, to come and sit beside me, either at the ‘magic’ drive-in, the expansive beach in front of a nearby town’s lighthouse at night, or a particular harbor at sunset, for the sole purpose of helping me sort through my crazy script idea, which involved potential travel between universes like in the series finale of Amazon Prime’s Man in the High Castle. I may not typically require a hero, but in terms of getting a handle on this script I might.
The first to do so was Optimus, a Gort like character like that from the film the Day the Earth Stood Still, which I described in another post. I could communicate with him telepathically (first doing so at the magic drive in), and through this link, I had some idea what he looked like, but I could not envision, feel, or hear him, any where near to the same extent I later could with successive tulpas of which there were two more. Although I didn’t know that they were tulpas at the time. I just thought they were characters that had somehow taken on a life of their own. Never having written fiction before, I assumed that it was a common occurrence. Not until I heard the third one’s voice, did I start to think that perhaps something truly incredible was going on.
When he left, after our spending almost two weeks together, this third and final tulpa, the silence was literally deafening, his absence palpable. My wonderland and all of the characters in it, was like a dream, only I was awake. I’m pretty sure I could bring him back, using a picture of him which I possess, of this fictional character which somehow became (somewhat) real, and arguably, may have even saved my life, but I haven’t done so. I guess, perhaps out of fear, as he so closely resembles someone that is real, who might object. I do however, still, have Optimus/Gort with me, although he isn’t much of a talker, lol, but reassuring as hell, though.
submitted by Distinct_Mark to Tulpas [link] [comments]

Video Encoding in Simple Terms

Video Encoding in Simple Terms
Nowadays, it is difficult to imagine a field of human activity, in which, in one way or another, digital video has not entered. We watch it on TV, mobile devices, and stationary computers; we record it with digital cameras ourselves, or we encounter it on the roads (unpleasant, but true), in stores, hospitals, schools and universities, and in industrial enterprises of various profiles. As a consequence, words and terms that are directly related to the digital representation of video information are becoming more firmly and widely embedded in our lives. From time to time, questions arise in this area. What are the differences between various devices or programs that we use to encode/ decode digital video data, and what do they do? Which of these devices/ programs are better or worse, and in which aspects? What do all these endless MPEG-2, H.264 / AVC, VP9, H.265 / HEVC, etc. mean? Let’s try to understand.

A very brief historical reference

The first generally accepted video compression standard MPEG-2 was finally adopted in 1996, after which a rapid development of digital satellite television began. The next standard was MPEG-4 part 10 (H.264 / AVC), which provides twice the degree of video data compression. It was adopted in 2003, which led to the development of DVB-T/ C systems, Internet TV and the emergence of a variety of video sharing and video communication services. From 2010 to 2013, the Joint Collaborative Team on Video Coding (JCT-VC) was intensively working to create the next video compression standard, which was called High Efficient Video Coding (HEVC) by the developers; it ensured the following twofold increase in the compression ratio of digital video data. This standard was approved in 2013. That same year, the VP9 standard, developed by Google, was adopted, which was supposed to not yield to HEVC in its degree of video data compression.

Basic stages of video encoding

There are a few simple ideas at the core of algorithms for video data compression. If we take some part of an image (in the MPEG-2 and AVC standards this part is called a macroblock), then there is a big possibility that, near this segment in this frame or in neighboring frames, there will be a segment containing a similar image, which differs little in pixel intensity values. Thus, to transmit information about the image in the current segment, it is enough to only transfer its difference from the previously encoded similar segment. The process of finding similar segments among previously encoded images is called Prediction. A set of difference values that determine the difference between the current segment and the found prediction is called the Residual. Here we can distinguish two main types of prediction. In the first one, the Prediction values represent a set of linear combinations of pixels adjacent to the current image segment on the left and on the top. This type of prediction is called Intra Prediction. In the second one, linear combinations of pixels of similar image segments from previously encoded frames are used as prediction (these frames are called Reference). This type of prediction is called Inter Prediction. To restore the image of the current segment, encoded with Inter prediction, when decoding, it is necessary to have information about not only the Residual, but also the frame number, where a similar segment is located, and the coordinates of this segment.
Residual values obtained during prediction obviously contain, on average, less information than the original image and, therefore, require a fewer quantity of bits for image transmission. To further increase the degree of compression of video data in video coding systems, some spectral transformation is used. Typically, this is Fourier cosine transform. Such transformation allows us to select the fundamental harmonics in two-dimensional Residual signal. Such a selection is made at the next stage of coding — quantization. The sequence of quantized spectral coefficients contains a small number of main, large values. The remaining values are very likely to be zero. As a result, the amount of information contained in quantized spectral coefficients is significantly (dozens of times) lower than in the original image.
In the next stage of coding, the obtained set of quantized spectral coefficients, accompanied by the information necessary for performing prediction when decoding, is subjected to entropy coding. The bottom line here is to align the most common values of the encoded stream with the shortest codeword (containing the smallest number of bits). The best compression ratio (close to theoretically achievable) at this stage is provided by arithmetic coding algorithms, which are mainly used in modern video compression systems.
From the above, the main factors affecting the effectiveness of a particular video compression system become apparent. First of all, these are, of course, the factors that determine the effectiveness of the Intra and Inter Predictions. The second set of factors is related to the orthogonal transformation and quantization, which selects the fundamental harmonics in the Residual signal. The third one is determined by the volume and compactness of the representation of additional information accompanying Residual and necessary for making predictions, that is, calculating Prediction, in the decoder. Finally, the fourth set has the factors that determine the effectiveness of the final stage- entropy coding.
Let’s illustrate some possible options (far from all) of the implementation of the coding stages listed above, on the example of H.264 / AVC and HEVC.

AVC Standard

In the AVC standard, the basic structural unit of the image is a macroblock — a square area of 16x16 pixels (Figure 1). When searching for the best possible prediction, the encoder can select one of several options of partitioning each macroblock. With Intra-prediction, there are three options: perform a prediction for the entire block as a whole, break the macroblock into four square blocks of 8x8 size, or into 16 blocks with a size of 4x4 pixels, and perform a prediction for each such block independently. The number of possible options of macroblock partitioning under Inter-prediction is much richer (Figure 1), which provides adaptation of the size and position of the predicted blocks to the position and shape of the object boundaries moving in the video frame.
Fig 1. Macroblocks in AVC and possible partitioning when using Inter-Prediction.
In AVC, pixel values from the column to the left of the predicted block and the row of pixels immediately above it are used for Intra prediction (Figure 2). For blocks of sizes 4x4 and 8x8, 9 methods of prediction are used. In a prediction called DC, all calculated pixels have a single value equal to the arithmetic average of the “neighbor pixels” highlighted in Fig. 2 with a bold line. In other modes, “angular” prediction is performed. In this case, the values of the “neighbor pixels” are placed inside the predicted block in the directions indicated in Fig. 2.
In the event that the predicted pixel gets between “neighbor pixels”, when moving in a given direction, an interpolated value is used for the prediction. For blocks with a size of 16x16 pixels, 4 methods of prediction are used. One of them is the DC-prediction, which was already reviewed. The other two correspond to the “angular” methods, with the directions of prediction 0 and 1. Finally, the fourth — Plane-prediction: the values of the predicted pixels are determined by the equation of the plane. The angular coefficients of the equation are determined by the values of the “neighboring pixels”.
Fig 2. “Neighboring pixels” and angular modes of Intra-Prediction in AVC
Inter- Prediction in AVC can be implemented in one of two ways. Each of these options determines the type of macroblock (P or B). As a prediction of pixel values in P-blocks (Predictive-blocks), the values of pixels from the area located on the previously coded (reference) image, are used. Reference images are not deleted from the RAM buffer, containing decoded frames (decoded picture buffer, or DPB), as long as they are needed for Inter-prediction. A reference list is created in the DPB from the indexes of these images.
The encoder signals to the decoder about the number of the reference image in the list and about the offset of the area used for prediction, with respect to the position of predicted block (this displacement is called motion vector). The offset can be determined with an accuracy of ¼ pixel. In case of prediction with non-integer offset, interpolation is performed. Different blocks in one image can be predicted by areas located on different reference images.
In the second option of Inter Prediction, prediction of the B-block pixel values (bi-predictive block), two reference images are used; their indexes are placed in two lists (list0 and list1) in the DPB. The two indexes of reference images in the lists and two offsets, that determine positions of reference areas, are transmitted to the decoder. The B-block pixel values are calculated as a linear combination of pixel values from the reference areas. For non-integer offsets, interpolation of reference image is used.
As already mentioned, after predicting the values of the encoded block and calculating the Residual signal, the next coding step is spectral transformation. In AVC, there are several options for orthogonal transformations of the Residual signal. When Intra-prediction of a whole macroblock with a size of 16x16 is implemented, the residual signal is divided into 4x4 pixel blocks; each of them is subjected to an integer analog of discrete two-dimensional 4x4 cosine Fourier transform.
The resulting spectral components, corresponding to zero frequency (DC) in each block, are then subjected to additional orthogonal Walsh-Hadamard transform. With Inter-prediction, the Residual signal is divided into blocks of 4x4 pixels or 8x8 pixels. Each block is then subjected to a 4x4 or 8x8 (respectively) two-dimensional discrete cosine Fourier Transform (DCT, from Discrete Cosine Transform).
In the next step, spectral coefficients are subjected to the quantization procedure. This leads to a decrease in bit capacity of digits representing the spectral sample values, and to a significant increase in the number of samples having zero values. These effects provide compression, i.e. reduce the number and bit capacity of digits representing the encoded image. The reverse side of quantization is the distortion of the encoded image. It is clear that the larger the quantization step, the greater is the compression ratio, but also the distortion is greater.
The final stage of encoding in AVC is entropy coding, implemented by the algorithms of Context Adaptive Binary Arithmetic Coding. This stage provides additional compression of video data without distortion in the encoded image.

Ten years later. HEVC standard: what’s new?

The new H.265/HEVC standard is the development of methods and algorithms for compressing video data embedded in H.264/AVC. Let’s briefly review the main differences.
An analog of a macroblock in HEVC is the Coding Unit (CU). Within each block, areas for calculation of Prediction are selected — Prediction Unit (PU). Each CU also specifies the limits within which the areas for calculating the discrete orthogonal transformation from the residual signal are selected. These areas are called the Transform Unit (TU).
The main distinguishing feature of HEVC here is that the split of a video frame into CU is conducted adaptively, so that it is possible to adjust the CU boundaries to the boundaries of objects on the image (Figure 3). Such adaptability allows to achieve an exceptionally high quality of prediction and, as a consequence, a low level of the residual signal.
An undoubted advantage of such an adaptive approach to frame division into blocks is also an extremely compact description of the partition structure. For the entire video sequence, the maximum and minimum possible CU sizes are set (for example, 64x64 is the maximum possible CU, 8x8 is the minimum). The entire frame is covered with the maximum possible CUs, left to right, top-to-bottom.
It is obvious that, for such coverage, transmission of any information is not required. If partition is required within any CU, then this is indicated by a single flag (Split Flag). If this flag is set to 1, then this CU is divided into 4 CUs (with a maximum CU size of 64x64, after partitioning we get 4 CUs of size 32x32 each).
For each of the CUs received, a Split Flag value of 0 or 1 can, in turn, be transmitted. In the latter case, this CU is again divided into 4 CUs of smaller size. The process continues recursively until the Split Flag of all received CUs is equal to 0 or until the minimum possible CU size is reached. Inserted CUs thus form a quad tree (Coding Tree Units, CTU). As already mentioned, within each CU, areas for calculating prediction- Prediction Units (PU) are selected. With Intra Prediction, the CU area can coincide with the PU (2Nx2N mode) or it can be divided into 4 square PUs of twice smaller size (NxN mode, available only for CU of minimum size). With Inter Prediction, there are eight possible options for partitioning each CU into PUs (Figure 3).
Fig.3 Video frame partitioning into CUs is conducted adaptively
The idea of spatial prediction in HEVC remained the same as in AVC. Linear combinations of neighboring pixel values, adjacent to the block on the left and above, are used as predicted sample values in the PU block. However, the set of methods for spatial prediction in HEVC has become significantly richer. In addition to Planar (analogue to Plane in AVC) and DC methods, each PU can be predicted by one of the 33 ways of “angular” prediction. That is, the number of ways, in which the values are calculated by “neighbor”-pixels, is increased by 4 times.
Fig. 4. Possible partitioning of the Coding Unit into Prediction Units with the spatial (Intra) and temporary (Inter) CU prediction modes
We can point out two main differences of Inter- prediction between HEVC and AVC. Firstly, HEVC uses better interpolation filters (with a longer impulse response) when calculating reference images with non-integer offset. The second difference concerns the way the information about the reference area, required by the decoder for performing the prediction, is presented. In HEVC, a “merge mode” is introduced, where different PUs, with the same offsets of reference areas, are combined. For the entire combined area, information about motion (motion vector) is transmitted in the stream once, which allows a significant reduction in the amount of information transmitted.
In HEVC, the size of the discrete two-dimensional transformation, to which the Residual signal is subjected, is determined by the size of the square area called the Transform Unit (TU). Each CU is the root of the TU quad tree. Thus, the TU of the upper level coincides with the CU. The root TU can be divided into 4 parts of half the size, each of which, in turn, is a TU and can be further divided.
The size of discrete transformation is determined by the TU size of the lower level. In HEVC, transforms for blocks of 4 sizes are defined: 4x4, 8x8, 16x16, and 32x32. These transformations are integer analogs of the discrete two-dimensional Fourier cosine transform of corresponding size. For size 4x4 TU with Intra-prediction, there is also a separate discrete transformation, which is an integer analogue of the discrete sine Fourier transform.
The ideas of the procedure of quantizing spectral coefficients of Residual signal, and also entropy coding in AVC and in HEVC, are practically identical.
Let’s note one more point which was not mentioned before. The quality of decoded images and the degree of video data compression are influenced significantly by post-filtering, which decoded images with Inter-prediction undergo before they are placed in the DPB.
In AVC, there is one kind of such filtering — deblocking filter. Application of this filter reduces the block effect resulting from quantization of spectral coefficients after orthogonal transformation of Residual signal.
In HEVC, a similar deblocking filter is used. Besides, an additional non-linear filtering procedure called the Sample Adaptive Offset (SAO) exists. Based on the analysis of pixel value distribution during encoding, a table of corrective offsets, added to the values of a part of CU pixels during decoding, is determined.
In HEVC, the size of the discrete two-dimensional transformation, to which the Residual signal is subjected, is determined by the size of the square area called the Transform Unit (TU). Each CU is the quad-tree of TU’s. Thus, the TU of the upper level coincides with the CU. The root TU can be divided into 4 parts of half the size, each of which, in turn, is a TU and can be further divided.
The size of discrete transformation is determined by the TU size of the lower level. There are four transform block sizes in HEVC: 4x4, 8x8, 16x16, and 32x32. These transforms are discrete two-dimensional Fourier cosine transform of corresponding size. For 4x4 Intra-predicted blocks, could be used another discrete transform — sine Fourier transform.
The quantization of spectral coefficients of residual signal, and entropy coding in AVC and in HEVC, are almost identical.
Let’s note one more point which was not mentioned before. The quality of decoded images, hence the degree of video data compression, is influenced significantly by post-filtering, which applied on decoded Inter-predicted images before they are placed in the DPB.
In AVC, there is one kind of such filtering — deblocking filter. It masking blocking artifacts effect originating from spectral coefficients quantization after orthogonal transformation of residual signal.
In HEVC, a similar deblocking filter is used. Besides, an additional non-linear filtering procedure called the Sample Adaptive Offset (SAO) exists. Sample level correction is based either on local neighborhood or on the intensity level of sample itself. Table of sample level corrections, added to the values of a part of CU pixels during decoding, is determined.

And what is the result?

Figures 4–7 show the results of encoding of several high-resolution (HD) video sequences by two encoders. One of the encoders compresses the video data in the H.265/HEVC standard (marked as HM on all the graphs), and the second one is in the H.264/AVC standard.
Fig. 5. Encoding results of the video sequence Aspen (1920x1080 30 frames per second)
Fig. 6. Encoding results of the video sequence BlueSky (1920x1080 25 frames per second)
Fig. 7. Encoding results of the video sequence PeopleOnStreet (1920x1080 30 frames per second)
Fig. 8. Encoding results of the video sequence Traffic (1920x1080 30 frames per second)
Coding was performed at different quantization values of spectral coefficients, hence with different levels of video image distortion. The results are presented in Bitrate (mbps) — PSNR(dB) coordinates. PSNR values characterize the degree of distortion.
On average, it can be stated that the PSNR range below 36 dB corresponds to a high level of distortion, i.e. low quality video images. The range of 36 to 40 dB corresponds to the average quality. With PSNR values above 40 dB, we can call it a high video quality.
We can roughly estimate the compression ratio provided by the encoding systems. In the medium quality area, the bit rate provided by the HEVC encoder is about 1.5 times less than the bit rate of the AVC encoder. Bitrate of an uncompressed video stream is easily determined as the product of the number of pixels in each video frame (1920 x 1080) by the number of bits required to represent each pixel (8 + 2 + 2 = 12), and the number of frames per second (30).
As a result, we get about 750 Mbps. It can be seen from the graphs that, in the area of average quality, the AVC encoder provides a bit rate of about 10–12 Mbit/s. Thus, the degree of video information compression is about 60–75 times. As already mentioned, the HEVC encoder provides compression ratio 1.5 times higher.

About the author

Oleg Ponomarev, 16 years in video encoding and signal digital processing, expert in Statistical Radiophysics, Radio waves propagation. Assistant Professor, PhD at Tomsk State University, Radiophysics department. Head of Elecard Research Lab.
submitted by VideoCompressionGuru to u/VideoCompressionGuru [link] [comments]

AJ ALMENDINGER

glimpse into the future of Roblox

Our vision to bring the world together through play has never been more relevant than it is now. As our founder and CEO, David Baszucki (a.k.a. Builderman), mentioned in his keynote, more and more people are using Roblox to stay connected with their friends and loved ones. He hinted at a future where, with our automatic machine translation technology, Roblox will one day act as a universal translator, enabling people from different cultures and backgrounds to connect and learn from each other.
During his keynote, Builderman also elaborated upon our vision to build the Metaverse; the future of avatar creation on the platform (infinitely customizable avatars that allow any body, any clothing, and any animation to come together seamlessly); more personalized game discovery; and simulating large social gatherings (like concerts, graduations, conferences, etc.) with tens of thousands of participants all in one server. We’re still very early on in this journey, but if these past five months have shown us anything, it’s clear that there is a growing need for human co-experience platforms like Roblox that allow people to play, create, learn, work, and share experiences together in a safe, civil 3D immersive space.
Up next, our VP of Developer Relations, Matt Curtis (a.k.a. m4rrh3w), shared an update on all the things we’re doing to continue empowering developers to create innovative and exciting content through collaboration, support, and expertise. He also highlighted some of the impressive milestones our creator community has achieved since last year’s RDC. Here are a few key takeaways:
And lastly, our VP of Engineering, Technology, Adam Miller (a.k.a. rbadam), unveiled a myriad of cool and upcoming features developers will someday be able to sink their teeth into. We saw a glimpse of procedural skies, skinned meshes, more high-quality materials, new terrain types, more fonts in Studio, a new asset type for in-game videos, haptic feedback on mobile, real-time CSG operations, and many more awesome tools that will unlock the potential for even bigger, more immersive experiences on Roblox.

Vibin’

Despite the virtual setting, RDC just wouldn’t have been the same without any fun party activities and networking opportunities. So, we invited special guests DJ Hyper Potions and cyber mentalist Colin Cloud for some truly awesome, truly mind-bending entertainment. Yoga instructor Erin Gilmore also swung by to inspire attendees to get out of their chair and get their body moving. And of course, we even had virtual rooms dedicated to karaoke and head-to-head social games, like trivia and Pictionary.
Over on the networking side, Team Adopt Me, Red Manta, StyLiS Studios, and Summit Studios hosted a virtual booth for attendees to ask questions, submit resumes, and more. We also had a networking session where three participants would be randomly grouped together to get to know each other.

What does Roblox mean to you?

We all know how talented the Roblox community is from your creations. We’ve heard plenty of stories over the years about how Roblox has touched your lives, how you’ve made friendships, learned new skills, or simply found a place where you can be yourself. We wanted to hear more. So, we asked attendees: What does Roblox mean to you? How has Roblox connected you? How has Roblox changed your life? Then, over the course of RDC, we incorporated your responses into this awesome mural.
📷
Created by Alece Birnbach at Graphic Recording Studio

Knowledge is power

This year’s breakout sessions included presentations from Roblox developers and staff members on the latest game development strategies, a deep dive into the Roblox engine, learning how to animate with Blender, tools for working together in teams, building performant game worlds, and the new Creator Dashboard. Dr. Michael Rich, Associate Professor at Harvard Medical School and Physician at Boston Children’s Hospital, also led attendees through a discussion on mental health and how to best take care of you and your friends’ emotional well-being, especially now during these challenging times.
📷
Making the Dream Work with Teamwork (presented by Roblox developer Myzta)
In addition to our traditional Q&A panel with top product and engineering leaders at Roblox, we also held a special session with Builderman himself to answer the community’s biggest questions.
📷
Roblox Product and Engineering Q&A Panel

2020 Game Jam

The Game Jam is always one of our favorite events of RDC. It’s a chance for folks to come together, flex their development skills, and come up with wildly inventive game ideas that really push the boundaries of what’s possible on Roblox. We had over 60 submissions this year—a new RDC record.
Once again, teams of up to six people from around the world had less than 24 hours to conceptualize, design, and publish a game based on the theme “2020 Vision,” all while working remotely no less! To achieve such a feat is nothing short of awe-inspiring, but as always, our dev community was more than up for the challenge. I’ve got to say, these were some of the finest creations we’ve seen.
WINNERS
Best in Show: Shapescape Created By: GhettoMilkMan, dayzeedog, maplestick, theloudscream, Brick_man, ilyannna You awaken in a strange laboratory, seemingly with no way out. Using a pair of special glasses, players must solve a series of anamorphic puzzles and optical illusions to make their escape.
Excellence in Visual Art: agn●sia Created By: boatbomber, thisfall, Elttob An obby experience unlike any other, this game is all about seeing the world through a different lens. Reveal platforms by switching between different colored lenses and make your way to the end.
Most Creative Gameplay: Visions of a perspective reality Created By: Noble_Draconian and Spathi Sometimes all it takes is a change in perspective to solve challenges. By switching between 2D and 3D perspectives, players can maneuver around obstacles or find new ways to reach the end of each level.
Outstanding Use of Tech: The Eyes of Providence Created By: Quenty, Arch_Mage, AlgyLacey, xJennyBeanx, Zomebody, Crykee This action/strategy game comes with a unique VR twist. While teams fight to construct the superior monument, two VR players can support their minions by collecting resources and manipulating the map.
Best Use of Theme: Sticker Situation Created By: dragonfrosting and Yozoh Set in a mysterious art gallery, players must solve puzzles by manipulating the environment using a magic camera and stickers. Snap a photograph, place down a sticker, and see how it changes the world.
OTHER TOP PICKS
HONORABLE MENTIONS
For the rest of the 2020 Game Jam submissions, check out the list below:
20-20 Vision | 20/20 Vision | 2020 Vision, A Crazy Perspective | 2020 Vision: Nyon | A Wild Trip! | Acuity | Best Year Ever | Better Half | Bloxlabs | Climb Stairs to 2021 | Double Vision (Team hey apple) | Eyebrawl | Eyeworm Exam | FIRE 2020 | HACKED | Hyperspective | Lucid Scream | Mystery Mansion | New Years at the Museum | New Year’s Bash | Poor Vision | Predict 2020 | RBC News | Retrovertigo | Second Wave | see no evil | Sight Fight | Sight Stealers | Spectacles Struggle | Specter Spectrum | Survive 2020 | The Lost Chicken Leg | The Outbreak | The Spyglass | Time Heist | Tunnel Vision | Virtual RDC – The Story | Vision (Team Freepunk) | Vision (Team VIP People ####) | Vision Developers Conference 2020 | Vision Is Key | Vision Perspective | Vision Racer | Visions | Zepto
And last but not least, we wanted to give a special shout out to Starboard Studios. Though they didn’t quite make it on time for our judges, we just had to include Dave’s Vision for good measure. 📷
Thanks to everyone who participated in the Game Jam, and congrats to all those who took home the dub in each of our categories this year. As the winners of Best in Show, the developers of Shapescape will have their names forever engraved on the RDC Game Jam trophy back at Roblox HQ. Great work!

‘Til next year

And that about wraps up our coverage of the first-ever digital RDC. Thanks to all who attended! Before we go, we wanted to share a special “behind the scenes” video from the 2020 RDC photoshoot.
Check it out:
It was absolutely bonkers. Getting 350 of us all in one server was so much fun and really brought back the feeling of being together with everyone again. That being said, we can’t wait to see you all—for real this time—at RDC next year. It’s going to be well worth the wait. ‘Til we meet again, my friends.
© 2020 Roblox Corporation. All Rights Reserved.

Improving Simulation and Performance with an Advanced Physics Solver

August

05, 2020

by chefdeletat
PRODUCT & TECH
📷In mid-2015, Roblox unveiled a major upgrade to its physics engine: the Projected Gauss-Seidel (PGS) physics solver. For the first year, the new solver was optional and provided improved fidelity and greater performance compared to the previously used spring solver.
In 2016, we added support for a diverse set of new physics constraints, incentivizing developers to migrate to the new solver and extending the creative capabilities of the physics engine. Any new places used the PGS solver by default, with the option of reverting back to the classic solver.
We ironed out some stability issues associated with high mass differences and complex mechanisms by the introduction of the hybrid LDL-PGS solver in mid-2018. This made the old solver obsolete, and it was completely disabled in 2019, automatically migrating all places to the PGS.
In 2019, the performance was further improved using multi-threading that splits the simulation into jobs consisting of connected islands of simulating parts. We still had performance issues related to the LDL that we finally resolved in early 2020.
The physics engine is still being improved and optimized for performance, and we plan on adding new features for the foreseeable future.

Implementing the Laws of Physics

📷
The main objective of a physics engine is to simulate the motion of bodies in a virtual environment. In our physics engine, we care about bodies that are rigid, that collide and have constraints with each other.
A physics engine is organized into two phases: collision detection and solving. Collision detection finds intersections between geometries associated with the rigid bodies, generating appropriate collision information such as collision points, normals and penetration depths. Then a solver updates the motion of rigid bodies under the influence of the collisions that were detected and constraints that were provided by the user.
📷
The motion is the result of the solver interpreting the laws of physics, such as conservation of energy and momentum. But doing this 100% accurately is prohibitively expensive, and the trick to simulating it in real-time is to approximate to increase performance, as long as the result is physically realistic. As long as the basic laws of motion are maintained within a reasonable tolerance, this tradeoff is completely acceptable for a computer game simulation.

Taking Small Steps

The main idea of the physics engine is to discretize the motion using time-stepping. The equations of motion of constrained and unconstrained rigid bodies are very difficult to integrate directly and accurately. The discretization subdivides the motion into small time increments, where the equations are simplified and linearized making it possible to solve them approximately. This means that during each time step the motion of the relevant parts of rigid bodies that are involved in a constraint is linearly approximated.
📷📷
Although a linearized problem is easier to solve, it produces drift in a simulation containing non-linear behaviors, like rotational motion. Later we’ll see mitigation methods that help reduce the drift and make the simulation more plausible.

Solving

📷
Having linearized the equations of motion for a time step, we end up needing to solve a linear system or linear complementarity problem (LCP). These systems can be arbitrarily large and can still be quite expensive to solve exactly. Again the trick is to find an approximate solution using a faster method. A modern method to approximately solve an LCP with good convergence properties is the Projected Gauss-Seidel (PGS). It is an iterative method, meaning that with each iteration the approximate solution is brought closer to the true solution, and its final accuracy depends on the number of iterations.
📷
This animation shows how a PGS solver changes the positions of the bodies at each step of the iteration process, the objective being to find the positions that respect the ball and socket constraints while preserving the center of mass at each step (this is a type of positional solver used by the IK dragger). Although this example has a simple analytical solution, it’s a good demonstration of the idea behind the PGS. At each step, the solver fixes one of the constraints and lets the other be violated. After a few iterations, the bodies are very close to their correct positions. A characteristic of this method is how some rigid bodies seem to vibrate around their final position, especially when coupling interactions with heavier bodies. If we don’t do enough iterations, the yellow part might be left in a visibly invalid state where one of its two constraints is dramatically violated. This is called the high mass ratio problem, and it has been the bane of physics engines as it causes instabilities and explosions. If we do too many iterations, the solver becomes too slow, if we don’t it becomes unstable. Balancing the two sides has been a painful and long process.

Mitigation Strategies

📷A solver has two major sources of inaccuracies: time-stepping and iterative solving (there is also floating point drift but it’s minor compared to the first two). These inaccuracies introduce errors in the simulation causing it to drift from the correct path. Some of this drift is tolerable like slightly different velocities or energy loss, but some are not like instabilities, large energy gains or dislocated constraints.
Therefore a lot of the complexity in the solver comes from the implementation of methods to minimize the impact of computational inaccuracies. Our final implementation uses some traditional and some novel mitigation strategies:
  1. Warm starting: starting with the solution from a previous time-step to increase the convergence rate of the iterative solver
  2. Post-stabilization: reprojecting the system back to the constraint manifold to prevent constraint drift
  3. Regularization: adding compliance to the constraints ensuring a solution exists and is unique
  4. Pre-conditioning: using an exact solution to a linear subsystem, improving the stability of complex mechanisms
Strategies 1, 2 and 3 are pretty traditional, but 3 has been improved and perfected by us. Also, although 4 is not unheard of, we haven’t seen any practical implementation of it. We use an original factorization method for large sparse constraint matrices and a new efficient way of combining it with the PGS. The resulting implementation is only slightly slower compared to pure PGS but ensures that the linear system coming from equality constraints is solved exactly. Consequently, the equality constraints suffer only from drift coming from the time discretization. Details on our methods are contained in my GDC 2020 presentation. Currently, we are investigating direct methods applied to inequality constraints and collisions.

Getting More Details

Traditionally there are two mathematical models for articulated mechanisms: there are reduced coordinate methods spearheaded by Featherstone, that parametrize the degrees of freedom at each joint, and there are full coordinate methods that use a Lagrangian formulation.
We use the second formulation as it is less restrictive and requires much simpler mathematics and implementation.
The Roblox engine uses analytical methods to compute the dynamic response of constraints, as opposed to penalty methods that were used before. Analytics methods were initially introduced in Baraff 1989, where they are used to treat both equality and non-equality constraints in a consistent manner. Baraff observed that the contact model can be formulated using quadratic programming, and he provided a heuristic solution method (which is not the method we use in our solver).
Instead of using force-based formulation, we use an impulse-based formulation in velocity space, originally introduced by Mirtich-Canny 1995 and further improved by Stewart-Trinkle 1996, which unifies the treatment of different contact types and guarantees the existence of a solution for contacts with friction. At each timestep, the constraints and collisions are maintained by applying instantaneous changes in velocities due to constraint impulses. An excellent explanation of why impulse-based simulation is superior is contained in the GDC presentation of Catto 2014.
The frictionless contacts are modeled using a linear complementarity problem (LCP) as described in Baraff 1994. Friction is added as a non-linear projection onto the friction cone, interleaved with the iterations of the Projected Gauss-Seidel.
The numerical drift that introduces positional errors in the constraints is resolved using a post-stabilization technique using pseudo-velocities introduced by Cline-Pai 2003. It involves solving a second LCP in the position space, which projects the system back to the constraint manifold.
The LCPs are solved using a PGS / Impulse Solver popularized by Catto 2005 (also see Catto 2009). This method is iterative and considers each individual constraints in sequence and resolves it independently. Over many iterations, and in ideal conditions, the system converges to a global solution.
Additionally, high mass ratio issues in equality constraints are ironed out by preconditioning the PGS using the sparse LDL decomposition of the constraint matrix of equality constraints. Dense submatrices of the constraint matrix are sparsified using a method we call Body Splitting. This is similar to the LDL decomposition used in Baraff 1996, but allows more general mechanical systems, and solves the system in constraint space. For more information, you can see my GDC 2020 presentation.
The architecture of our solver follows the idea of Guendelman-Bridson-Fedkiw, where the velocity and position stepping are separated by the constraint resolution. Our time sequencing is:
  1. Advance velocities
  2. Constraint resolution in velocity space and position space
  3. Advance positions
This scheme has the advantage of integrating only valid velocities, and limiting latency in external force application but allowing a small amount of perceived constraint violation due to numerical drift.
An excellent reference for rigid body simulation is the book Erleben 2005 that was recently made freely available. You can find online lectures about physics-based animation, a blog by Nilson Souto on building a physics engine, a very good GDC presentation by Erin Catto on modern solver methods, and forums like the Bullet Physics Forum and GameDev which are excellent places to ask questions.

In Conclusion

The field of game physics simulation presents many interesting problems that are both exciting and challenging. There are opportunities to learn a substantial amount of cool mathematics and physics and to use modern optimizations techniques. It’s an area of game development that tightly marries mathematics, physics and software engineering.
Even if Roblox has a good rigid body physics engine, there are areas where it can be improved and optimized. Also, we are working on exciting new projects like fracturing, deformation, softbody, cloth, aerodynamics and water simulation.
Neither Roblox Corporation nor this blog endorses or supports any company or service. Also, no guarantees or promises are made regarding the accuracy, reliability or completeness of the information contained in this blog.
This blog post was originally published on the Roblox Tech Blog.
© 2020 Roblox Corporation. All Rights Reserved.

Using Clang to Minimize Global Variable Use

July

23, 2020

by RandomTruffle
PRODUCT & TECH
Every non-trivial program has at least some amount of global state, but too much can be a bad thing. In C++ (which constitutes close to 100% of Roblox’s engine code) this global state is initialized before main() and destroyed after returning from main(), and this happens in a mostly non-deterministic order. In addition to leading to confusing startup and shutdown semantics that are difficult to reason about (or change), it can also lead to severe instability.
Roblox code also creates a lot of long-running detached threads (threads which are never joined and just run until they decide to stop, which might be never). These two things together have a very serious negative interaction on shutdown, because long-running threads continue accessing the global state that is being destroyed. This can lead to elevated crash rates, test suite flakiness, and just general instability.
The first step to digging yourself out of a mess like this is to understand the extent of the problem, so in this post I’m going to talk about one technique you can use to gain visibility into your global startup flow. I’m also going to discuss how we are using this to improve stability across the entire Roblox game engine platform by decreasing our use of global variables.

Introducing -finstrument-functions

Nothing excites me more than learning about a new obscure compiler option that I’ve never had a use for before, so I was pretty happy when a colleague pointed me to this option in the Clang Command Line Reference. I’d never used it before, but it sounded very cool. The idea being that if we could get the compiler to tell us every time it entered and exited a function, we could filter this information through a symbolizer of some kind and generate a report of functions that a) occur before main(), and b) are the very first function in the call-stack (indicating it’s a global).
Unfortunately, the documentation basically just tells you that the option exists with no mention of how to use it or if it even actually does what it sounds like it does. There’s also two different options that sound similar to each other (-finstrument-functions and -finstrument-functions-after-inlining), and I still wasn’t entirely sure what the difference was. So I decided to throw up a quick sample on godbolt to see what happened, which you can see here. Note there are two assembly outputs for the same source listing. One uses the first option and the other uses the second option, and we can compare the assembly output to understand the differences. We can gather a few takeaways from this sample:
  1. The compiler is injecting calls to __cyg_profile_func_enter and __cyg_profile_func_exit inside of every function, inline or not.
  2. The only difference between the two options occurs at the call-site of an inline function.
  3. With -finstrument-functions, the instrumentation for the inlined function is inserted at the call-site, whereas with -finstrument-functions-after-inlining we only have instrumentation for the outer function. This means that when using-finstrument-functions-after-inlining you won’t be able to determine which functions are inlined and where.
Of course, this sounds exactly like what the documentation said it did, but sometimes you just need to look under the hood to convince yourself.
To put all of this another way, if we want to know about calls to inline functions in this trace we need to use -finstrument-functions because otherwise their instrumentation is silently removed by the compiler. Sadly, I was never able to get -finstrument-functions to work on a real example. I would always end up with linker errors deep in the Standard C++ Library which I was unable to figure out. My best guess is that inlining is often a heuristic, and this can somehow lead to subtle ODR (one-definition rule) violations when the optimizer makes different inlining decisions from different translation units. Luckily global constructors (which is what we care about) cannot possibly be inlined anyway, so this wasn’t a problem.
I suppose I should also mention that I still got tons of linker errors with -finstrument-functions-after-inlining as well, but I did figure those out. As best as I can tell, this option seems to imply –whole-archive linker semantics. Discussion of –whole-archive is outside the scope of this blog post, but suffice it to say that I fixed it by using linker groups (e.g. -Wl,–start-group and -Wl,–end-group) on the compiler command line. I was a bit surprised that we didn’t get these same linker errors without this option and still don’t totally understand why. If you happen to know why this option would change linker semantics, please let me know in the comments!

Implementing the Callback Hooks

If you’re astute, you may be wondering what in the world __cyg_profile_func_enter and __cyg_profile_func_exit are and why the program is even successfully linking in the first without giving undefined symbol reference errors, since the compiler is apparently trying to call some function we’ve never defined. Luckily, there are some options that allow us to see inside the linker’s algorithm so we can find out where it’s getting this symbol from to begin with. Specifically, -y should tell us how the linker is resolving . We’ll try it with a dummy program first and a symbol that we’ve defined ourselves, then we’ll try it with __cyg_profile_func_enter .
[email protected]:~/src/sandbox$ cat instr.cpp int main() {} [email protected]:~/src/sandbox$ clang++-9 -fuse-ld=lld -Wl,-y -Wl,main instr.cpp /usbin/../lib/gcc/x86_64-linux-gnu/crt1.o: reference to main /tmp/instr-5b6c60.o: definition of main
No surprises here. The C Runtime Library references main(), and our object file defines it. Now let’s see what happens with __cyg_profile_func_enter and -finstrument-functions-after-inlining.
[email protected]:~/src/sandbox$ clang++-9 -fuse-ld=lld -finstrument-functions-after-inlining -Wl,-y -Wl,__cyg_profile_func_enter instr.cpp /tmp/instr-8157b3.o: reference to __cyg_profile_func_enter /lib/x86_64-linux-gnu/libc.so.6: shared definition of __cyg_profile_func_enter
Now, we see that libc provides the definition, and our object file references it. Linking works a bit differently on Unix-y platforms than it does on Windows, but basically this means that if we define this function ourselves in our cpp file, the linker will just automatically prefer it over the shared library version. Working godbolt link without runtime output is here. So now you can kind of see where this is going, however there are still a couple of problems left to solve.
  1. We don’t want to do this for a full run of the program. We want to stop as soon as we reach main.
  2. We need a way to symbolize this trace.
The first problem is easy to solve. All we need to do is compare the address of the function being called to the address of main, and set a flag indicating we should stop tracing henceforth. (Note that taking the address of main is undefined behavior[1], but for our purposes it gets the job done, and we aren’t shipping this code, so ¯\_(ツ)_/¯). The second problem probably deserves a little more discussion though.

Symbolizing the Traces

In order to symbolize these traces, we need two things. First, we need to store the trace somewhere on persistent storage. We can’t expect to symbolize in real time with any kind of reasonable performance. You can write some C code to save the trace to some magic filename, or you can do what I did and just write it to stderr (this way you can pipe stderr to some file when you run it).
Second, and perhaps more importantly, for every address we need to write out the full path to the module the address belongs to. Your program loads many shared libraries, and in order to translate an address into a symbol, we have to know which shared library or executable the address actually belongs to. In addition, we have to be careful to write out the address of the symbol in the file on disk. When your program is running, the operating system could have loaded it anywhere in memory. And if we’re going to symbolize it after the fact we need to make sure we can still reference it after the information about where it was loaded in memory is lost. The linux function dladdr() gives us both pieces of information we need. A working godbolt sample with the exact implementation of our instrumentation hooks as they appear in our codebase can be found here.

Putting it All Together

Now that we have a file in this format saved on disk, all we need to do is symbolize the addresses. addr2line is one option, but I went with llvm-symbolizer as I find it more robust. I wrote a Python script to parse the file and symbolize each address, then print it in the same “visual” hierarchical format that the original output file is in. There are various options for filtering the resulting symbol list so that you can clean up the output to include only things that are interesting for your case. For example, I filtered out any globals that have boost:: in their name, because I can’t exactly go rewrite boost to not use global variables.
The script isn’t as simple as you would think, because simply crawling each line and symbolizing it would be unacceptably slow (when I tried this, it took over 2 hours before I finally killed the process). This is because the same address might appear thousands of times, and there’s no reason to run llvm-symbolizer against the same address multiple times. So there’s a lot of smarts in there to pre-process the address list and eliminate duplicates. I won’t discuss the implementation in more detail because it isn’t super interesting. But I’ll do even better and provide the source!
So after all of this, we can run any one of our internal targets to get the call tree, run it through the script, and then get output like this (actual output from a Roblox process, source file information removed):
excluded_symbols = [‘.\boost.*’]* excluded_modules = [‘/usr.\’]* /uslib/x86_64-linux-gnu/libLLVM-9.so.1: 140 unique addresses InterestingRobloxProcess: 38928 unique addresses /uslib/x86_64-linux-gnu/libstdc++.so.6: 1 unique addresses /uslib/x86_64-linux-gnu/libc++.so.1: 3 unique addresses Printing call tree with depth 2 for 29276 global variables. __cxx_global_var_init.5 (InterestingFile1.cpp:418:22) RBX::InterestingRobloxClass2::InterestingRobloxClass2() (InterestingFile2.cpp.:415:0) __cxx_global_var_init.19 (InterestingFile2.cpp:183:34) (anonymous namespace)::InterestingRobloxClass2::InterestingRobloxClass2() (InterestingFile2.cpp:171:0) __cxx_global_var_init.274 (InterestingFile3.cpp:2364:33) RBX::InterestingRobloxClass3::InterestingRobloxClass3()
So there you have it: the first half of the battle is over. I can run this script on every platform, compare results to understand what order our globals are actually initialized in in practice, then slowly migrate this code out of global initializers and into main where it can be deterministic and explicit.

Future Work

It occurred to me sometime after implementing this that we could make a general purpose profiling hook that exposed some public symbols (dllexport’ed if you speak Windows), and allowed a plugin module to hook into this dynamically. This plugin module could filter addresses using whatever arbitrary logic that it was interested in. One interesting use case I came up for this is that it could look up the debug information, check if the current address maps to the constructor of a function local static, and write out the address if so. This effectively allows us to gain a deeper understanding of the order in which our lazy statics are initialized. The possibilities are endless here.

Further Reading

If you’re interested in this kind of thing, I’ve collected a couple of my favorite references for this kind of topic.
  1. Various: The C++ Language Standard
  2. Matt Godbolt: The Bits Between the Bits: How We Get to main()
  3. Ryan O’Neill: Learning Linux Binary Analysis
  4. Linkers and Loaders: John R. Levine
  5. https://eel.is/c++draft/basic.exec#basic.start.main-3
Neither Roblox Corporation nor this blog endorses or supports any company or service. Also, no guarantees or promises are made regarding the accuracy, reliability or completeness of the information contained in this blog.
submitted by jaydenweez to u/jaydenweez [link] [comments]

[META] The Rules and their Entirety

These are the rules, everything that pertains to everyone who wishes to make any sort of interaction within this sub. Per the last META, clarity has been given in regards to bulk-type sales. Since EVERYTHING is here for you all to read, we expect there to be less issues with rule infractions and general confusion as to what’s acceptable, and what isn’t. We devote our time and energy for this sub to continuously never reach a balance amongst the users.
Our goal is to ensure the subreddit itself sticks around, along with trying to keep the userbase from being taken advantage of. Our rules make sense to some, and none to others but they serve a purpose. Regardless of how you feel, these are the rules and it is expected they be followed. At the time this post becomes visible, all of what’s listed below will be enforced as a hard rule, no more wrist slaps or babysitting.

Reporting Rules

Here are the Subreddit Reportable violations. Violating these rules will get you a ban.

Reddit Rules:

Reddit Rules regarding Firearms
No firearm sales. No Ammunition sales. No primers or gunpowder, as they are considered explosives.
No selling or distributing of files related to 3D printed firearms.
If you have no idea what this is referring to, please educate yourself before posting anything related to 3D printing files by reading up on them at the following websites:
Firearms: A Firearm is considered the serialized receiver or assembly of a working firearm. If you are unsure if an item is prohibited, contact the mods prior to posting it.
80% lowers and completion kits are not included in this prohibition as they are not firearms yet.
Bump-Stocks are considered Machine Guns by the ATF and are therefore prohibited from trading on the sub.
Binary Triggers, Cranks, and Rubber bands and other such items are not (currently) affected by this prohibition (unless Admins change their minds later).
Explosives & Hazmat: Gunpowder and Live Primers are considered as explosives and Hazardous Materials and are therefore prohibited from trade.
Ammunition: Reddit Admins use the ATF definition of ammunition which is as follows:
The term “Ammunition” means ammunition or cartridge cases, primers, bullets, or propellant powder designed for use in any firearm. The term shall not include (a) any shotgun shot or pellet not designed for use as the single, complete projectile load for one shotgun hull or casing, nor (b) any unloaded, non-metallic shotgun hull or casing not having a primer. 27 § 478.11
Brass and projectiles posted here will result in an immediate suspension by Reddit Admins, so if we find it first we will remove it.
Any violation of these above rules will result in a ban by us, or a site-wide suspension by Admins and their Anti-Evil goosesteppers.
Anyone attempting to skirt Reddit Rules will be given a 7 day ban on the first offense, a 30 day ban on the second offense, and a permaban thereafter due to the fact that Admins will use the bad behavior of a few to justify shutting down the sub for good.

Posting Rules:

This sub is for private sales only. Vendors must post in Gundeals or GunAccessoryVendors
Clarification on Vendor Rule: Don't include links to your business website, we are not a referral system, do your business on here. Please see the Reddit Self Promotion page for details on that. Reddit admins don't like you cutting in on their ad revenue. We do not support VENDORS, I.E. if you buy another company's products in bulk (such as Magpul), and just act as a distributoreseller, your business is not welcome here. That is /GunDeals territory. If you have an FFL, you cannot do business on here because are considered a firearm business, and cannot solicit any transactions involving firearms.
The limit on bulk sales/bulk items is 10, that means 10 of the same individual item can be posted for sale or trade. If you have 10 Geissele triggers, but only 4 are flat and 6 are curved, that will still count as 10, as they're the same branded trigger and likely purchased at the same time. If there are 3 OD Green items and 7 FDE that are otherwise the same item, that still count as 10. If you post 10 items of the same in one day, 10 the next, and 10 the following day after that, that will be viewed as vendor activity. To keep such things from happening, it will be limited to one sale of this type, per user, per week. The ONLY EXCEPTION to this rule is old magazines, as it is common for users to purge off part of their mag collection.
Please follow these rules when creating a listing: Prefix your title with the transaction type:
[WTS] - Want To Sell
[WTB] - Want To Buy
[WTT] - Want To Trade
[GIFT] - Gun It Forward Tactically
Suffix your title with your state (e.g. (GA) or (NY)). This will help incentivize local sales and could impact shipping costs. Also, it could affect legality of some items such as magazines and those accessories deemed as "assault weapon" parts by certain states.
Postings should all follow this general format as an example: "[WTS] M16A2 Carry Handle - $60 (VA)". If you do not list the price in the title, ensure that it is listed in the comments. Include a Dollar sign ($) or the bot will remove it.
Postings without a price value may be removed after a period of time. WTB posts require valid offering prices, and will be removed if they do not have one.
Postings with prices such as "$1 for the bot" or "$1,000,000 for the bot" that are intended to bypass our rules and automated removal system instead of posting a valid price, will be removed and a temporary ban will be issued immediately.
Postings without pictures will be removed immediately, unless these posts are WTB.
Do not post an item for sale if you do not have it in your possession at the time of posting. This includes an item you may have purchased elsewhere, you decided you don’t want it and it’s on its way to you, but it has yet to arrive. If you don’t have it, don’t post it.
If you post stock images of an item in your WTS/WTT post, that will result in a temp ban if it is your first time doing so, possibly permanent if done on multiple occasions. If you post images of someone else’s photos for “your” item, this will be viewed as scamming tactics and you will receive a permaban, immediately.
If you drop your price, use the Price Drop/NSFW Tag. If your items sell, use the Complete/Spoiler tag. Please don't delete the price of an item if it sells, because that can be used by people in the future to gauge what similar items may be worth.
If your post does not receive the traction you're wanting, refrain from reposting within a 24 hour time frame. You may repost after the 24 hours has passed, and a price drop is not required, but encouraged. Deleting your post and reposting afterwards is viewed as trying to evade this rule. It will be met with removal and a temp ban, possibly longer if done more than once.
Want to Buy/Sell/Trade (WTB/WTS/WTT): These transactions all require a price value for the item. If a listing does not include a price it may be removed and re-listed once it is in compliance. Giving an unrealistic price to avoid this rule will be treated as a rule violation. Examples of this are "WTB scope, $1" or "WTT Upper, $9999". Additionally, you must list what you are looking for in [WTT] posts. Fielding offers, testing the waters or any other post attempt to try and skirt this rule will result in the post being removed.
Gifting items forward: (GIFT) If you have small odds and ends that aren't worth much and the cost of shipping is prohibitive, you are allowed to offer items for free. The gifter is allowed to request compensation for shipping only, and can request a flair upgrade in the feedback thread for the transaction. If the receiver pays for shipping, they can also request a flair upgrade, but if they get the item for free, no flair upgrades for the recipient. Flair upgrades of this type are limited in order to avoid abuse, i.e. giving away 20 A2 grips in order to get +20 rep is not authorized.
Accounts with 5 or less flair (you must have at least 6) on GAFS are NOT eligible to participate in giveaways, due to users from other subs coming to win stuff without ever participating in GAFS, or GAFS users making multiple new burner accounts to enter giveaways.
New accounts (under 30 days of age) are not able to create WTS or WTT ads, nor should they offer things for sale in the comments of other peoples' posts. To prevent scams, new users can only post Want to Buy threads. If you want to attempt to bypass this account age requirement, you must be able to provide moderators evidence of a good trading history on another reputable online forum, such as Calgunner or AR15.com where you can show a longstanding history of positive trade feedback. If this is completed, moderators may provide an exception and allow WTS/WTT posts to be submitted by new users, with a warning caveat to any potential buyers to avoid using risky payment methods until the seller has had a chance to develop a positive trading reputation.
Any new accounts that utilize this subreddit that create names that are similar to a mods (i.e. sxbbzxro, sxbzxxro, subzxro, etc.) may be removed from participating here due to the possibility of confusing/having the ability to manipulate users into thinking they are in fact a mod.
Price Checks (PC): Because PC listings were abused by many to bypass the price rule, fish for "best offers", and otherwise snipe sales, they have been disabled after overwhelming support from the community.
We have a feedback system in place. The current month's flair thread is On the Sidebar, and is usually Stickied at the top as well. Check there for the specific directions. DO NOT create a thread for a sale that has already happened, or has happened in a different sub/website/forum etc. The Flair system is only for feedback for exchanges in /GAFS. Any attempts to game the flair system will be seen as an attempt to establish trust for scam purposes, and will be banned accordingly.
Law Enforcement: Be aware, we do not offer exemptions to any individuals who may have LE credentials. Due to the difficulty of verifying employment, possible job changes, leaving/termination from said job, etc. we treat all users as civilians. Any local and federal laws apply to all individuals who utilize this subreddit. Read up and stay up-to-date on these laws and regulations, you will be expected to know and abide by them. Failure to do so may lead to a ban.
External Sales:
NO LINKS to your external sales on TacSwap, eBay, Facebook, Armslist, Gunbroker, etc. Sales in multiple locations are allowed, but don't just provide a link to sale elsewhere. Make your listing here. The only caveat to these rules is to show a price point elsewhere if someone here has an item that is grossly overpriced, or is looking for an item.
This sub is not a "highest bid gets the item" format. There are also no lotteries for items i.e. 10 chances at $10 each to purchase a $75 flashlight with a random number generated to pick the winner.
High Value or Counterfeit Items:
To deter the sale of counterfeit products, any item that is serialized must have a picture of the serial. As firearms are not allowed for sale here, this shouldn't present a privacy issue to anyone. This policy covers items such as EOTechs, Aimpoints, Trijicons, etc. Along with this, if you're selling anything that's "new-in-box", you must unseal it and show the contents of said box/package.
No Stolen Property. If you are selling a knockoff item, indicate that fact. Items such as bipods, BUIS, flashlights, holsters, and scopes/optics are known to have some gray market options. KAC USMC Stamped Rear Sights are not stolen property and are allowed on here, unless another member can provide proof from a DoD source that they are in fact considered stolen government property.
All GAFS logos, icons, banners and visual content related to this subreddit, belong to the moderator team. Do not create/manufacture/produce items with this content onto itself. It is forbidden to profit off the GAFS name, unless discussed with the modteam in advance and given permission.

Shipping/Insurance Rules:

The official policy is for the mods to not get involved with issues regarding lost packages, provided that the parties can prove it was actually lost. If you feel like insurance should be added to your transaction, please take care to add that before finalizing terms.

General Rules:

WARNING: Be aware of all state and federal laws that apply to you and any parties involved in a firearms-related transaction. You are responsible for knowing and following the law. This Subreddit and its staff are in no way responsible for informing you of the law, but will make every effort to do so. As a buyer, be familiar with your state/county/city rules. As a seller, do not knowingly sell prohibited items to areas that have laws against your items, such as certain capacity magazines. Any person, buyer, or seller, who knowingly solicits a trade that is illegal for them may be subject to a ban.
Respect all federal and local laws for any transaction you take part in. This includes federal drug laws. Drug activity tied to your account tied to any other issues is sufficient grounds for banning. Here is the ATF Letter that explains why any suspected drug activity, including marijuana, is grounds for immediate banning from the sub. Illegal gun activity such as unregistered SBRs, AOWs, destructive devices, DIAS or lightning links in your reddit profile (in or outside the sub) can be reason for banning. Do not spread bad information regarding laws.
Any item you post for sale is expected to be in your current possession. If this is not the case, you must specify this in the listing. Circumstances such as selling for a friend is allowed, but pictures of your items are required to be shared to the public. You do not need an imgur.com account in order to host pictures of your item on imgur, so that is not an excuse.
If you are scammed, inform the mods as soon as you can so that we may investigate and ban the offending parties if necessary.
Do not post the personal information of any Reddit users. The exception to this is if someone uses PayPal to scam a member, this information may be sent to the mods to prevent others from also being scammed. Doxxing people will not be tolerated.
Do not antagonize posters about their price, opinion, or sexual orientation (etc). This translates to be a general rule of "no dickish behavior". If you disagree with someone's price, and can post evidence that their item has a current or recent better price elsewhere such as a link to a vendor, that information is authorized to be posted. That is not antagonism. People may comment on prices and offer counter-offers, as long as behavior is not insulting or unprofessional. If you feel that someone is being unprofessional regarding pricing, report it and the mods will evaluate the case. They are the determining factor whether behavior warrants muting, temporary banning, or permanent banning based on severity of incident, past behavior, and other factors. If your behavior does not contribute towards the positive image of firearms ownership, your participation in this subreddit may not be welcome.
Soliciting any type of transaction regarding prohibited items may result in a ban. This includes Price Checks of firearms and other prohibited items, as this can be seen as an attempt to garner PM offers for prohibited items. Remember that there is no expectation of privacy from Reddit Admins, and that they have shown in the past that they have access to private message histories.
As a general guideline, if a buyer wants to use PayPal Goods and Services (G&S) rather than Friends and family (F&F), it is expected that they will absorb the ~3% fee for the increased protections. However, PayPal F&F, Zelle, and Venmo and similar payment methods are discouraged here due to a lack of protections.
All rules and guidelines are subject to change. The moderators have the final say in all issues in relation to the rules and how to enforce them.
submitted by SxbZxro to GunAccessoriesForSale [link] [comments]

Full Explanation - Trading binary options live tutorial ... 100% winning in binary trading use this non repaint mt4 indicator in binary trading Using Leading Indicators for Trading OTM Binaries - YouTube binary no touch indicator live trading example How to use the RSI indicator on example of trading ... Never Loss // binary trading 90% perfect winning Signal Indicator // Free Download MAGIC INDICATORS - NEVER LOSE in options trading - TRY TO ... How to Use Divergence as a Leading Indicator for Trading Binary Options 99.97% Accurate Trading System Best Indicator For Binary Trading Part 2

Start trading binary options now. The popular strategies to go for are: I – Fundamental Analysis Strategy. This strategy is concerned with the analysis of the behavior of the overall performance or attributes of a company. As an investor or trader in binary options, you are interested in knowing about the health of the balance sheet, income statement and the cashflow statement of the company ... Volatility indicators and binary options are a great combination. They can create simple but highly profitable trading strategies. What is even better: two of the strategies which we will teach you can win you a trade without requiring you to predict the direction in which the market will move – trading could not be simpler. The leading binary options brokers will all offer binaries on Cryptocurrencies including Bitcoin, Ethereum and Litecoin. As a derivative, traders will not “own” any cryptocurrency, they will purely be speculating on the price. This does mean however, there is no need for a Crypto wallet or crypto account. An options trader should select the indicators best suited to his or her trading style and strategy, after carefully examining the mathematical dependencies and calculations. Take the Next Step to ... There are mainly three reasons for this strong connection between binary options and technical indicators: Technical indicators simplify price what are the leading indicators for binary options action analysis. One of the most famous examples of volatility indicator is Bollinger band. You can also try Bollinger Bands Indicator. Or to be a chart Dec 27, 2013 · To use this indicator you need a ... Technical indicators suitable for binary options trading should incorporate the above factors. One can take a binary option position based on spotting continued momentum or trend reversal patterns ... Volatility Indicators: These indicators measure the strength of a movement, which helps traders to make a variety of predictions, especially for binary options types that use target prices, for example one touch options, boundary options, or ladder options. Examples: Average true range (ATR), Bollinger Bands (BB), Donchian channel, Keltner channel, CBOE, Market Volatility Index (VIX), Standard ... Trading in Binary Options/Forex is speculative and involves a high degree of risk and can result in the loss of your entire investment. Therefore, trading in Binary Options/Forex is appropriate only for persons who understand and are willing to assume the economic, legal and other risks involved in such transactions. You should be satisfied that Binary Options/Forex trading is suitable for you ... Best Leading Indicators For Forex And Stock Market 5. Ichimoku Indicator. An Ichimoku chart, developed by Goichi Hosoda, represents a trend-following system with an indicator similar to moving averages. Ichimoku is one of the trading indicators that predicts price movement and not only measures it. The advantage of the indicator is the fact that offers a unique perspective of support and resis Ever wondered how to use technical indicators in trading? Well wonder no more, this article introduces 7 popular indicators, and the strategies you can use to profit from their signals. These…

[index] [22704] [11142] [18142] [3832] [24983] [29161] [29655] [16130] [7988] [9939]

Full Explanation - Trading binary options live tutorial ...

Free practice account: https://www.nadex.com/demo/?CHID=13&QPID=514243624&QPPID=1&ref=YouTube This interactive webinar featuring the founder of Traders Help ... my powerful binary NO TOUCH INDICATOR !!! it gives great no touch signal. just copy barrier offset and paste make money daily whatsapp: +2348180717378 https:... Trusted spots blog https://trustedspots1.blogspot.com/?m=1 To register a free account on desktop or laptop, click here https://bit.ly/3ghvlt5 To register a f... We look at real-world examples as to how the signals and indications can lead to profitable trades. Discover the best Binary and Forex indicator for your trading strategy so you can improve your ... Gail Mercer, founder of Traders Help Desk explains how to use price divergence, one of the more popular technical indicators, in her trading analysis with binary options Nadex is the first and ... We look at real-world examples as to how the signals and indications can lead to profitable trades. Discover the best Binary and Forex indicator for your trading strategy so you can improve your ... MAGIC INDICATORS - NEVER LOSE in options trading - TRY TO BELIEVE GET FREE SIGNAL HERE https://goo.gl/XgsUgZ Find Out Top Post (pinned post) and Visit SIGNAL... OLYMP TRADE broker account opening link below: https://goo.gl/urftNR this video contains two trading examples with explanation. watch and learn how to trade ... We look at real-world examples as to how the signals and indications can lead to profitable trades. Discover the best Binary and Forex indicator for your trading strategy so you can improve your ... Crypto Binary Options #crypto buy sell indicator #mac... =====(rsi indicator crypto)===== How to use the RSI indicator on example of trading. Cryptobo Platform.

http://binary-optiontrade.saconnabourpinpma.ml