The Best Binary Options Books of All-Time (Updated for 2020)

My one-year anniversary of Intuitive Eating. TL;DR: Keep going, this fight is worth it!

Minor TW size/weight mentioned.
I’m a frequent poster so likely you’ve already read bits and pieces of this story! But I really want to throw down the whole thing here, just on the off-chance I can inspire one single person to keep going and not give up.
One year ago yesterday, I fell hard and sprained the shit out of my ankle while on a punishment run. I was running a 10km trail to punish myself for the excess calories after my 5-year old daughter’s birthday party; the cherry on top of 20+ years of obsessive dieting and over-exercising. I won’t dive too deep into this, because I know all of you that are here will get it. Food and diet owned my thoughts; my day was determined to be bad or good by whether the scale was up or down in the morning. It was hateful. It ruined some of the best moments of my life - beach vacations, parties, dinners with friends where I couldn’t stop thinking about what I looked like and comparing myself with others relentlessly.
Anyways, I reached a fork in the road on October 28th, 2019, where I was either going to descend fully into a full-blown eating disorder, or I was going to fix this shit once and for all. With two young daughters, I think I finally had the reason I’d needed to escape the self-imposed loathing and hell of dieting.
I came across IE accidentally and connected with the concept instantly. Devoured the books and dove into “eat all the things” mode. Lemme tell ya, this part was messy. I ate allllllll the things. For six whole weeks I ate basically nothing but carbs. Even the sight of vegetables made me gag, after 20 years of force-feeding them to myself. I ate whole meals at 10pm, in order to fully process my restrictive thoughts around “going to bed hungry”. Of course, I gained some weight pretty rapidly, at least 30lbs. I don’t know the actual number because I haven’t weighed myself in a whole fucking year! Omg. That’s wild.
So anyways, after this phase things leveled out into this calm space. I would not have got there without my coach, Courtney Hill, who was there with a truck and a winch every time I fell in a ditch.
I struggled with body image, initially. But it forced me to find some strategies. Buy some new clothes, change my thoughts. And I totally have. I just don’t really care anymore - not in a “letting myself go” way that I always feared was the binary of obsessive dieting. Nah I just roll around now with a new kind of confidence. Sometimes now whole days will go by where I don’t think about my body once. I just focus on rocking my life and being an amazing mom, wife, and manager.
It’s opened up doors for me. I got headhunted by a big company, the cream of the crop in my industry, and I swear I wouldn’t have had the confidence to take it if I hadn’t been well along on this path.
I’m so much more calm and present in my life, with my kids. I picked up meditating which has been critically important in this wild pandemic year. I am happier and calmer and more confident than I’ve ever been.
My body totally leveled out at a size I’m really happy and comfortable with. Will I ever fit into my wedding dress again? Nah. Do I care? Also nah. I bought new clothes that I feel hot and awesome in.
In September, I was finally feeling ready to work out hard again, after a whole year of throwing in the towel. Previously, I’d been an elite athlete and had always exercised obsessively, Crossfitting and running myself into oblivion, ignoring my body’s signals and subjecting myself to one over-use injury after the next. Anyways, I started working out with a personal trainer and absolutely love it. I just smashed a 213lb deadlift yesterday and feel like a fucking beast.
I feel healthy. I’m not constantly sick and bedraggled. My hair, skin, and nails are luscious. I have energy. I sleep.
I almost wish I’d done some more journaling in the “before” times so I could better comprehend the magnitude of this shift. But I’m also content with just leaving it behind forever.
I’ve had a pretty amazing life and have done a lot of incredible things - sailing across oceans, pursuing grad degrees and intense, challenging career options. But I’m proudest of what I’ve done to stomp diet culture to the curb, and, hopefully, break the cycle for my daughters, who will see their mom loving food and being strong and confident and happy.
Keep going, it’s worth it.
submitted by Unknown_Stonefruit to intuitiveeating [link] [comments]

The classic WSB story - lost it all.

Going to keep this simple. EDIT: this isn’t simple and I should write a short story on this.
I am generally risk averse. I hate losing $100 at the casino, I hate paying extra for guac at chipotles, I will return something or price match an item for a few dollars of savings. I am generally frugal.
But, I somehow had no issues losing 10k in options...
How I started
I remember my first trades like they were yesterday. I was trading the first hydrogen run-up in 2014 (FCEL, BLDP, PLUG) and made a few hundred dollars over a couple weeks.
I quickly progressed to penny stocks / biotech binary events and general stock market gambling mid-2014. I was making a few % here and there but the trend was down in total account value. I was the king of buying the peak in run-ups. I managed to make it out of 2014 close to break-even to slightly down.
WSB Era
March 2015 was my first option trade. It was an AXP - American Express - monthly option trade. I saw one of the regular option traders/services post a block of 10,000 calls that had been bought for 1.3 and I followed the trade with 10 call options for a total of $1300.
I woke up the next day to an analyst upgrade on AXP and was up 50% on my position. I was addicted! I day-dreamed for days about my AXP over night success. I think around that time there was some sort of Buffet buyout of Heinz and an option trade that was up a ridiculous amount of %%%. I wanted to hit it BIG.
I came up with the idea that all I needed to reach my goal was a few 100% over night gains/ 1k>2k>4k>8k> etc. I convinced myself that I would have no problems being patient for the exact criteria that I had set and worked on some other trades.
Remember, the first win is always free.
I was trading options pretty regularly from March 2015 until August 2016. During my best week I was up 20k and could feel the milli within reach. I can remember the exact option trade (HTZ) and I was trading weeklies on it.
For those who have been in the market long enough, you will remember the huge drawdown of August 2015.
I lost half my account value on QCOM calls (100 of them) that I followed at the beginning of July and never materialized. I watched them eventually go to 0. It was another 10,000 block that was probably a hedge or sold.
In August 2015 there were some issues with China and all of us woke up to stocks gapping down huge. Unfortunately my idea of buying far dated calls during the following days/weeks after the crash went sideways. I quickly learned that an increase in volatility causes a rise in option prices and I was paying a premium for calls that were going to lose value very quickly (the infamous IV crush).
I kept trading options into the end of 2015 and managed to maintain my account value positive but the trading fees for the year amounted to $30,000+. My broker was loving it.
I tried all the services, all the strategies. I created rules for my option plays: 1. No earnings 2. Only follow the big buys at a discount (10,000 blocks or more). 3. No weekly options 4. Take profit right away 5. Take losses quickly 6. etc.
I had a whole note book of option plays that I was writing down and following. I was paying for option services that all of you know about - remember, they make money on the services and not trading.
I even figured out a loop-hole with my broker: if I didn’t have enough money in my account, I could change my ask price to .01 and then change it to market buy and I would only need to accept a warning ⚠️ for the order to go through. I was able to day trade the option and make money, who cares if I didnt have enough? After a few months of this, I got a call from my broker that told me to stop and that I would be suspended if I continued with this.
By the way, I was always able to satisfy the debit on the account - so it wasn’t an issue of lack of funds.
Lost it all. Started taking money from lines of credits, every penny that I earned and losing it quicker and quicker.
I was a full on gambler but I was convinced that 8 trades would offset all the losses. I kept getting drawn in to the idea that I could hit a homerun and make it out a hero.
I eventually hit rock bottom on some weekly expiring FSLR options that I bought hours before expiration and said to myself - what the f are you doing? I resolved to invest for the long term and stop throwing tendies away.
The feeling was reinforced during the birth of my first born and I thought - what a loser this kid will think of me if he knew how much I was gambling and wasting my life. It was a really powerful moment looking at my kid and reflecting on this idea.
I decided at that point I was going to save every penny I had and invest it on new issues with potential.
Fall 2016
TTD, COUP and NTNX IPO ‘ed I decided I was going to throw every dollar at these and did so for the next few months. I eventually started using margin (up to 215%) and buying these for the next 6 months. They paid out and managed to make it over 100k within the year.
The first 100k was hard but once I crossed it, I never fell below this magic number.
2017 - I did some day trading but it was mostly obsessing over the above issues. I did gamble on a few options here and there but never more than 1k.
2018 - SFIX was my big winner, I bought a gap up in June 2018 and my combined account value had crossed 400k by August 2018. I was really struggling at crossing the 500k account value and experienced 3 x 30-40% drawdowns over the next 2 years before I finally crossed the 500k barrier and have never looked back.
I still made some mistakes over the next few months - AKAO & GSUM come to mind. Both of these resulted in 20k+ losses. Fortunately my winners were much bigger than my losers.
I thought about giving up and moving to index funds - but i was doing well - just experiencing large drawdowns because of leverage.
2019 big winners were CRON SWAV STNE.
2017 / 2018 / 2019 all had six digit capital gains on my tax returns.
At the beginning of 2020 I was still day trading on margin (180-220%) and got a call from my broker that they were tightening up my margin as my account was analyzed by the risk department and deemed too risky. Believe it or not this was right before the covid crash. I brought my margin down to 100-110% of account value and even though the drawdown from covid hit hard, I wasn’t wiped out.
I stayed the course and bought FSLY / RH during the big march drawdown and this resulted in some nice gains over the next few months.
I am constantly changing and testing my investment strategy but let me tell you that obsessing over 1 or 2 ideas and throwing every penny at it and holding for a few years is the best strategy. It may not work at some point but right now it does.
I still day trade but I trade with 10k or less on each individual position. It allows me minimize my losses and my winners are 1-7%. I am able to consistently make between 3-700$/ a day on day trades using the above strategy. I still take losses and still dream about hitting it big with an option trade but dont feel the need to put it all on the line every month / week.
I finally crossed into the two , club. I know people are going to ask for proof or ban but I am not earning anything for posting and the details about some of the trades should be proof enough that I kept a detailed journal of it all. I have way more to write but these are the highlights.
Eventually I will share how I build a position in a story I love. I still sell buy and sell to early but I am working on improving.
TL:DR - I gambled, lost it all and gambled some more lost more. I made it out alive. I have only sold calls/puts lately.
The one common denominator in all successful people is how much they obsess over 1 or 2 ideas. Do the same. All the winners on this sub have gone all in on one idea (FSLY / TSLA ). Stick with new stories or ones that are changing and go all in...wait a second, I didnt learn anything.
submitted by jojo2021 to wallstreetbets [link] [comments]

Greed is Subtle

The morning alarm woke up Ghen. With an annoyed sigh, he stretched out his arm and silenced the foul-sounding chirps. Slowly sitting up in bed, he let out a deep yawn and got to his feet.
Running a couple of chitinous fingers along his antennae to stimulate them to life, he made his bed and then went to his closet. Today was a work day, so he needed his suit. Once the pants were on, he stretched out his wings so that he could button up the shirt, then relaxing them once all the buttons were secured.
Dressing for the day was done, now for the morning meal. Entering his kitchen, he took out the chilled leftovers of the evening meal last night and popped it into the radiator, first defrosting and then slightly cooking it.
During that process, he also fished out a ceramic cup and placed it in his brewer, serving himself some synthesized caffeine. His idle thought led him to being amused that, when eaten directly off a plant, it has a concentration that could kill him three times over. But after going through some refinement and roasting, all it does is make him hyper.
Once the meal was put together, his plate of heated leftovers and a cup of almost-piping-hot cup of Xia's, he took his time to enjoy it. His communicator vibrated. When he looked, he found it was from his boss.
"Hello?" Ghen answered.
"Ghen, the meeting's been moved up to a few minutes from now." His boss, Xkik, announced. "Apparently higher up has something important they want to say. We have a terminal ready for you, I'll message the login details."
"Wha-, what's so important?" Ghen asked in bewilderment. "Did a water line rupture or something?"
"No, nothing like that." Xkik replied with a slight chuckle. "It's actually about the rumors we've been hearing. That human corporation wanting to acquire us? That's what they're talking about."
Ghen could feel everything inside his thorax drop to the floor. "That must mean it's true then, right? Did we get sold off by the Queen to this company then?"
"Show up to the meeting and you'll get your answer." Xkik said simply. When he finished, Ghen got the notification on his communicator. There's the login details, allowing him to remotely attend the meeting. "They're about to start, hurry up."
Once Xkik disconnected, Ghen worked fast to login and set up the remote viewing. Once everything was done, his screen started transmitting the meeting room. It was already packed. And off by the main board, he saw his answer. There was a human, resting against the wall on his two legs. Standing right in the center of everyone's view was the coordinator, Tizx, watching the clock periodically.
As soon as the meeting's start time was reached, the coordinator began. "Alright everyone. I realize that this was rather short notice, so I want to say how appreciative I am that you made it. Now then, let's just get right to it. For some time now, many of you have been hearing rumors that a human corporation has been interested in us. Why? We never really knew. We're just an organization responsible for finding, extracting and providing water to the colony here all under the direction of the Queen herself. Well, as of now, I have the answer for you. Why don't I let Ryan say that?"
Stepping back, Tizx motioned for the human, Ryan, to take over. With a nod, Ryan practically bounced over and then took the position. "Good morning to you all. I hope my Zazk is passable, heh. Anyways, the answer to those rumors, is yes. Terran Galactic Company is indeed interested in you all. Which now leads to me. I'm here to announce that, effective yesterday evening, this water company is now a subsidiary of Terran Galactic Company, under the name of Zilia Water Delivery."
Many other sub-coordinators broke into hushed conversation, no doubt speaking their thoughts with each other about this move. Ghen could only wonder if this was even a good thing. What will the humans do? Will he still have his job? Will he have to learn how to deal with the ruthless humans?
"Now, I am well aware this is quite the...uh, change." Ryan continued. "That's why I'm happy to inform you that, no, nothing negative or detrimental will happen to you. You just have new people to answer to. Operations will continue as normal, everybody here will still keep their jobs. The only real change any of you will personally experience is that Coordinator Tizx here will now report to someone else. On behalf of the Terran Galactic Company, we are extremely excited and are looking forward to working with you all. Thank you for your time."
A week later.
At least Ryan wasn't lying. After the initial shock wore off, things went back as they normally did. There were no terminations, no reductions in annual pay or anything. Nothing really changed. At least until this new meeting was called. Ghen was at the worksite this time, so he took his seat and watched as, once again, Ryan led the meeting.
"Hello again, everyone!" He said cheerfully, his Zazk noticeably improved. "I hope I didn't end up looking like a liar, right? Everything's still normal, all that?"
All the zazk in the room confirmed, providing comments to their pleasant surprise as well as lingering thoughts.
"Awesome! Awesome." Ryan said jubilantly, his fleshy mouth revealing his bone-white teeth. "Now then, you're probably wondering why I'm here again, right? Well, I got another fantastic piece of news for you all! Two, actually. I'll start with the first: Zilia Water Delivery has just completed its IPO. The company is now publicly traded!"
Ghen and the others voiced their confusion, having no idea what in the name of the Queen Ryan was talking about. What was Ryan talking about? What's an IPO? And why exactly is being publicly traded such a significant thing?
"Oh, you guys don't know any of that?" Ryan asked in surprised confusion. After everybody confirmed, he let out a quick huff as he began his explanation. "Well, to begin, IPO is short for Initial Public Offering. Basically what that means is that, before today, Zilia was privately held. Only certain individuals could buy and sell shares here. But now that we're public? Literally anyone can buy and sell shares in the company, hence us being publicly traded."
"Uh, what's a share?" Ghen asked, still completely lost.
"Oh, boy..." Ryan muttered under his breath before returning to his peppy image. "To simply put it, a share is short for having a share of ownership in a company. When you buy a share, you're buying a piece of ownership, and when you sell, you're selling that amount."
"So wait...if someone buys a share, they're a co-owner then?" One of the other team coordinators asked.
"If they get enough, yeah." Ryan nodded. "You need a lot though, and that really depends on the company. If I had to give an answer though? I'd say usually you need to have a lot more shares than a lot of people combined to be officially a co-owner, but we call that being a majority shareholder."
"And how do we do that?" Ghen asked, now growing curious but still not understanding why such a concept exists.
"Simple. Buy shares." Ryan said simply. "And that leads into the second piece of awesome news. Zilia's corporate has a product in mind, a premium-package of water delivery. Instead of the usual water that you pump out, filter and ensure its potable before delivery, with the premium package, not only will you get that, but you'll also get all of the required nutrients and vitamins the zazk body requires! And they feel you guys have the best expertise and understanding to pull it off! So, here's what we're offering as a good-faith bonus: A 25% increase to your annual salary as well as being given stock options."
Ghen wasn't sure about the second part, but the salary definitely got his attention, as well as everyone else's. Although his job was considered to have a good pay, Ghen isn't going to say no to a higher salary. In fact, he's been focusing his work on getting a promotion so he can come home with even more credits in pocket.
"What do you mean by stock options?" Ghen asked after some time.
Ryan let out that smile again, the one that revealed his teeth. "If you choose to transfer over to the new group, you'll be provided 50,000 shares in Zilia itself. Why's that awesome? Let me walk you through it. Right now, our last closing price per share was 3.02 credits. And if you have 50,000 shares during that time, you're sitting on 151,000 credits, if you cash it out immediately."
"And why shouldn't we?" One of the coordinators demanded in an ambiguous tone.
"Because the price per share changes a lot." Ryan explained promptly. "When we got done with the IPO? It closed at 2.73 a share. Right now? My money's on the closing price being 2.99 a share. However, we are extremely confident in this premium package being successful. If it does? Well, my bet is that the share price will skyrocket to 3.12 a share. If you hold those shares and the price gets to what my bet was? You'll instead get 156,000 credits. Just by holding onto them, you just made an additional 5,000 credits!"
"And what if we have more shares?" Ghen questioned, now getting excited at the prospect of free money.
"Even more money!" Ryan laughed a bit. "And don't forget about dividends, but that's for another time. The premium group is gearing up right now, we just need the workforce. If any of you wants in, I'll be back tomorrow with all the forms needed to make it official. Take the day and tonight to think it over, yeah?"
Everything else melted into a blur. Ghen was practically on autopilot that whole day. Was this the secret to the humans' incredibly massive economy? How so many of them have amassed so much money out of nowhere? All you had to do was just buy this share out of a company and you get more money without even working?
As soon as he got home, Ghen knew what he was going to do during the night. After feverishly looking through the galnet, now having the human race connected to it, he looked and gathered up as many books that were translated into zazk as he could find, all talking about the human economic system. The last time he undertook such an intensive study was during his primary education phase.
And during his search, he even found forums on the galnet that were completely dedicated to the human's economy. All of them talking about strategies on what company, or stock, to pick. How to analyze a company's performance to determine if it was worth the money, or it had potential to grow over time. And that was when he discovered the humans found another method to the extremely simple buying and selling process. There were humans and some other immigrated aliens who made five times what Ghen could receive over a simple month just by watching the share prices during trading hours, and then buying and selling them at the proper times.
Ghen's mind was just absolutely flabbergasted. He thought it was just some strange concept only aliens could make, but no, not with the humans. They've practically made their economy into an art or a science. No, not even their economy. Everything. If humans can see a way to make money off of it, they'll do it. And if there isn't, they'll look for a way.
Healthcare was monetized. Galnet services, transportation, shopping at the store, they even made all of their utilities into profit-oriented companies.
And it was there that Ghen paused, the realization slamming into him. Everything was monetized. Which means, if you don't have the money for it, you're not getting it. Right? Are the humans truly that ruthless? So obsessed with making money? To the point that they're willing to deprive their own people of the absolute necessities if it's a source of credits?
Ghen let out a scoff. There's no way. Nobody is that cruel and callous. He's never been to the United Nations. He can't rely on what a bunch of random people on the galnet says. He decided that from here on out, he'll only go as far as saying that humans are a little obsessed with credits, nothing more.
...
There he was. Ryan, sitting in the office provided to him. And there was a rather large line leading to him. Looks like word got around. Although, the line wasn't as large as he expected it to be. Maybe the others thought it was just a ruse? That there's no such thing as making free money by spending it on such a made-up concept?
Ghen only knows that, if it is a ruse, it's an extremely elaborate one, where all of the humans are in on it. And he believes that's just extremely ridiculous. At the end, if he's unsure, he'll just take the transfer for the very real increase in his very real salary. And although he spent a very good chunk of the night reading up on how humans do things, he's still going to play it smart. He'll leave his 50,000 shares alone and see where it goes from there.
"Good morning sir." Ryan greeted warmly once Ghen took his seat. "Now, name please?"
"Ghen." He answered, barely keeping his nerves down.
"Alright...and what's your position at this location?" Ryan questioned after scribbling on his form.
"I monitor the pumping stations near the extraction sites." Ghen explained, staying on point. "To be more specific, I check to see if they're in need of maintenance, as well as reading the flow rate that's determined by the calculators installed there. If there's too little for what's needed, I pump out more. And if there's too much, I pull it back a little."
"Nice...and how long have you been doing it for?" Ryan complimented with a nod.
"As of tomorrow, ten years." Ghen replied, voice quickly changing to minor awe once he realized that fact.
"Excellent. Do you have anyone in mind you'd like to replace you here?" Ryan questioned after another scribble. "If you don't have anyone, you're free to say so."
Ghen took a moment to think it over. A bunch of names went through his mind, but one stuck with him. "Tilik. He's just been accepted here, but he's learned quickly. Very attentive and he always catches something subtle. I think he'll do really well in my position, even better actually."
"Tilik, really?" Ryan questioned with a little shock, going through his completed forms. Ghen felt a short sense of panic in him. Did something happen, or was Tilik actually transferring? His answer didn't take long to reveal itself. "Right, Tilik was actually one of the first people to want to transfer here. He's actually requested to be part of the testing teams specifically. Do you have a second choice?"
"Um...no, actually." Ghen replied, feeling a little ashamed. "Tilik was my only choice, to be honest."
"Hey, don't worry." Ryan said assuringly with his hands raised. "Nothing wrong with that. Sometimes, there's just nobody up to snuff, right? 'Kay, so, last question. Is there anything specific you'd like to do when given the transfer?"
"If you need someone monitoring new pumps, I'd be happy to do that." Ghen stated.
"So basically same job but with better payoff, am I right?" Ryan grinned. "I hear you. Sometimes, we're just not paid enough for what we're doing. I know I think that sometimes. Uh, our secret, yeah?"
"Yeah, our secret." Ghen nodded, thinking it'd be better to have friendly relations with the human, just in case.
"Awesome. Back on topic, that's it." Ryan announced, placing the form on his pile. "We'll give you a call when you're accepted."
"Oh, uh, that's it?" Ghen questioned with a shrug in shocked surprise.
"What, expecting a question like, why do you want to transfer?" Ryan chuckled a bit as he leaned in his seat. "You can bullshit all you want, but we both know the answer. Sweet money and stock options. Not saying that's a bad answer of course, just that it's pretty obvious."
"I suppose it is." Ghen commented, realizing the point. "Also, you mentioned this...dividend? Is that for Zilia shares?"
Ryan laughed a little bit before nodding. "Yep, announced before I came here. About 0.43 per share. Want to know why that's awesome? Instead of waiting for the proper price to cash out your shares, now? The company pays you for each share you hold."
"A...Are you serious?" Ghen demanded, flabbergasted.
Ryan nodded with his now-trademark grin. "Dead serious. If you get the transfer, and get those 50,000 shares? A little head math...right, if you hold onto those, in addition to your salary, you'll now annually be paid 21,500 credits, if you keep it at 50,000 shares. Only you can decide to sell or buy shares."
Ghen just stood there silent and motionless, no idea of whether to believe it or not, to which Ryan just laughed. Once he walked out of the room, he managed to snap back to reality. Again, just focus on the very real pay-raise. He'll deal with the other parts later.
After he returned to his spot, he spotted Tizx approaching by his desk. The coordinator seems to be as casual as always.
"I saw you in that line a bit ago, Ghen." He said as he leaned on the desk. "Guess you're really taking that human's word?"
"I mean, I don't know about all this share business or what not." Ghen began with a shrug, his tone sounding a little defensive. "But I mean, having a bigger salary? Course I'm going for it when I can. And if all this magic credits turn out to be real? You realize we can live like the royal servants, right? Get the best cars, the nicest food and all that?"
"I'd be very careful, Ghen." Tizx warned in a sudden shift in tone. "Don't trust those humans. The way they just...obsess over money? Come up with more and more insane ways of getting credits? I don't know, it just makes my wings twitch."
"You think this is a bad idea?" Ghen asked with a little surprise at the change-in-demeanor.
"I think you should be careful, with the humans, and with what you're saying." Tizx replied, straightening his posture. "I wouldn't put it past those Earthmen to backstab you if it gets them a few more credits. And we all know how the royal servants get if any of us lowly commoners start thinking we can break into their circle."
"I hear you, I'll be on my guard, promise." Ghen stated with a nod. With a confirming nod of his own, Tizx returned back to his duty, walking past Ghen's desk.
Several weeks later.
Everything became so much better. Ghen got the transfer. He didn't need to relocate to a new residence either. And after he was walked through into learning how to manage his stock account, and seeing that new form of payment in his hands, he already felt as though he made the best decision. But it was only when he decided to take those shares more seriously that he became privy to what he was given. After receiving the dividend payment, and actually seeing it was real, valid credits after transferring it to his main bank account, all he could describe was the most powerful high he ever felt.
While his first thoughts were to buy himself a royalty-class car, some nicer furnishings for his home, or even a better home entirely, he ended up going the smarter route.
After going back to his stock account, he discovered that Zilia's shares rose to about 3.22 credits in price. Knowing that this was the easiest money he could ever make, he took all of his dividend earnings and bought more shares in Zilia, bringing him to owning 56,891.
And from his new regional coordinator, a human named Dylan, tomorrow is the grand release of the premium package. For just a monthly rate of 14.99 credits, the tap water will now include a sizeable portion of all nutrients and vitamins required in the zazk physiology. Still, Ghen has to admit. He's not entirely sure why anybody would want such a thing, if they'd even go for it. But, as long as he's practically swimming in easy credits, he won't pay much attention to it.
And just like when he was intensively studying the basics of how the human economy worked, he barely got any sleep. His mind was constantly thinking about the things he would buy. Or rather, what other stocks to put his credits into. Even now he can still hardly believe it. Just spend your money on some, make-believe thing and, if you wait long enough and picked the right stock, you'll get more than you spent back?
His mind even wandered onto what human colonies, or even their homeworld, Earth, was like. If everybody was making so much money, what kind of things would they offer? What kind of ridiculous service or product or item can you get? He's even debating on joining some forum and just asking around. Explain how he's new to how humans do things and was wondering what he should expect if he's successful.
By the time he felt like he can go to sleep, the binary-stars of the system were rising from the horizon. After getting out of his bed and changing to clean clothes, his mind returned onto what-ifs.
What if he bought better clothes? He's had his eye on that human brand of luxury clothes, Tessuti di Venezia, that's been all the rage amongst the royal servants. Or maybe he can go on vacation and just check out Earth for real?
It was a short ride to his workplace from his home. After getting stuff his stuff and preparing to walk through the doors, he heard the roar of a car grow louder. When he looked, he saw the sleekest and quite possibly the coolest looking car he's ever seen. Each time the engine revved it would startle him, both from how harsh it sounded as well as just how intense it sounded. And after it parked, he saw the doors pop out and then slide along the body back. And there, he saw Tilik, the seat literally turning and extending out a bit before he got off.
As soon as he saw Ghen staring, he struck a rather prideful pose after putting on his lab coat and then sauntered over to Ghen.
"What do you think?" Tilik said, without any doubt inviting praise or compliments.
"D...Did you actually buy that?" Ghen asked, unable to tear his eyes away from the car.
"You're Queens-damn right I did!" Tilik laughed happily. "Thing takes off like a starship, has temperature-controlled seating, all-in-one center console, barely any bouncing on rough roads. Hoof, best decision I've ever made!"
"How much did that thing cost?" Ghen asked after letting out an incredulous laugh.
"Five million credits." Tilik replied, earning an absolutely shocked stare from Ghen. "And thanks to the incredible salary I have, in addition to all these shares and dividends, I'll pay back the credits I borrowed in no time!"
Ghen needed a few moments before he could speak again. "All I've been doing is buying more shares."
Tilik laughed and then patted the now-envious monitor's back. "Smart man. I got a little carried away, yeah, but not anymore. Any spending credits I got, going right back to investing. That's what it's called right, investing?"
"Yeah, it is." Ghen nodded, feeling a fire light up in his thorax. "And also? Today's the day that the premium water thing is being released. Here's hoping it starts out well, right?"
"Oh it will, trust me." Tilik chuckled as they both began making their way inside the workplace. "Lots of research, lots of study. By the Queen, so much of it...it'll make your head spin."
And after hearing that, Ghen had a moment of realization. "Hey, Tilik? How did you get such a nice position anyways? Weren't you just studying under me before the humans came along?"
Tilik let out a sigh after opening the door. "I'll be honest, I never wanted your job. Not because it's boring or terrible, just...I didn't suffer so many sleepless nights in the science academy just to be a glorified button pusher. This is what I've always wanted. Doing science, solving problems rather than just applying the solution, you know?"
"Wait, you got an academic certificate?" Ghen questioned, completely floored. "How did you end up beneath me then? I should've been answering to you!"
"Simple." Tilik gave a heavier sigh. "A royal servant was asking for the same job I was. Take a guess at who got it."
"Ouch. Good thing the humans came along when they did, yeah?" Ghen was taken aback. He never heard anything about a servant taking a job at his place. "Looks like you're proving yourself to be well suited."
"By the Queen, of course I am." Tilik nodded. "Like I said, I nearly broke my wings through so many nights, got certified top of my class, all just to get pushed to the dirt because someone who was born into a particular family wanted the same thing I did? I know I'm smarter than any of those empty-skull servants back in the Center. I know that, whatever, uh...corporate? Yeah, whatever corporate wants out of science, I will xeek give it to them."
"Well, let me know how things go in the lab." Ghen said, admiring his drive as they neared the main office floor. "Because this is where the button pusher needs to go."
Tilik let out a laugh as he nodded. "Hey, how about we meet up at Queen's Fine Eatery tonight. I'll pay, yeah?"
Ghen, at first, wanted to admonish him for choosing such an outrageously expensive place to go. But he quickly realized that, he truly is good for it, thanks to the humans. "Well, hey, if you're paying for it."
...
It was a fantastic opening. After being told what news sites to keep in mind for stocks, he first heard it from Dylan, and then got more detail on Business Today. There was such a massive demand right from the start that Zilia needs to increase extraction just to meet it. But what really got his attention was the effect it had. Zilia Water Delivery's share price just blasted off. After seemingly holding steady at about 3.15, by the time he got home and logged onto his account, it already reached 7.04 a share. The calculator on his account told him that he got a value-gain of 54.26%.
Never in his entire life had he felt such...joy. With all of the shares he currently has? He's sitting at 400,512.64 credits. He knows that it is woefully pathetic compared to what the royal servants have just in their pockets, but the fact that he has such money, just by owning some intangible concept? Why even work at Zilia? Why doesn't he just sit at home, figure out what companies to invest in and make his money that way?
What's even the point in working a real job, getting a pathetic pay when you can just take the money you have, determine where to spend it, and get triple back? All just sitting on your wings at home, researching?
He was so wrapped up in his excited high that he completely forgot he was going to meet Tilik at Queen's. After quickly and haphazardly putting on his nicer clothes, he got to the place only a few minutes late.
Tilik was there by the guide, no doubt having been waiting for him. As soon as he strode up, Tilik's wings stiffned out some. No doubt he must've seen the numbers as well.
"I can see your wings, Ghen." Tilik began with an excited chuckle. "Made some serious credits?"
Ghen let out an incredulous scoff, struggling to find the words for a moment. "Incredible. All I'm going to say."
"Likewise." Tilik chortled some before nodding to the table guide. "All here. Table please?"
"Right this way, sir." The guide said politely. It was a short walk, travelling between round tables. The vast majority were populated by zazk, but Ghen was surprised at seeing a few humans here as well. No doubt corporate workers checking out the local food. He did spot them having bowls filled with some kind of mass. Some were brown, others white with what looks to be black specks on them.
They arrived at their table. A rather nice one, affording a view out the windows into the busy colony streets. Once Tilik and Ghen settled in, the guide handed out the menus.
"May I suggest our rather popular option for tonight?" The guide began. "Human ice-cream. Ingredients sourced from Earth itself. Very cold, but incredibly sweet, and coming in many flavors. The most popular amongst us is called vanilla-bean. The vanilla itself soaks in the cream for much of the process, and then the innards sprinkled on top of it near the end. Rumor has it that the Queen herself has demanded personal shipments of such a treat straight from the home of vanilla, an island on Earth named Madagascar."
Ghen didn't even spare a single thought. "Vanilla bean ice cream then, please."
"Same." Tilik seconded when the guide glanced to him. With a slight bow, the guide proceeded to ferry their orders to the kitchen. Thankfully it was just a short wait before the guide returned, carrying a large plate containing bowls of ice cream. Ghen could feel the saliva on his mandibles as the bowl was placed before them. He could just feel the cold air around that glistening mass of sugary goodness. The white snow decorated with the black dots of vanilla bean.
Once the guide left them, Tilik and Ghen both dived in at the same time. As soon as the ice cream entered his mouth, touched his tongue, he exploded in incomprehensible bliss. The sweetness, the smooth and creamy mass, even the taste of vanilla he wasn't sure about was just absolutely delightful. It was so overwhelming that his entire body limped, slumping in his seat as he was forced to ride on the surging tide of joy and happiness sweeping over him.
Tilik was no different. He too was taken completely by the effects of the ice cream, his wings fluttering some against the seat. Ghen could hear some noise. It was the humans they passed by. They were chuckling, grinning, and glancing over at them discreetly. Unlike the two zazk, the humans seemingly just enjoyed the ice cream as if it was just another nice dessert to them. Or perhaps they couldn't allow themselves to succumb to the high?
And as soon as the wave of indescribable bliss and happiness subsided, Ghen knew. He just knew. This was the life. He wanted this. The ice cream was just the beginning. So many things denied because he didn't have the credits, or worse, not the blood. Because he was just a drone in the great Collective, even if he had the credits, he wasn't allowed because of what caste he was born in. That fire that sparked in him when he saw Tilik's new car? It exploded into a raging firestorm.
And when looking into Tilik's eyes, Ghen could see the same. He was on the same page as Ghen was. Both of them were sold. They have the credits. And the humans? If you can pay for it, they'll never discriminate. All they cared about is if you have the money.
And by the Queen, Ghen and Tilik will endeavor to amass as much credits as physically possible.
The rest of the night faded into a blur. A blur that evokes only one thing. Bliss. It was only when he walked through the door of his pathetic hut that Ghen's mind snapped back to focus. His mandibles felt sticky. And he felt a weight in his stomach. How much ice cream did he eat? Whatever it was, he ate such volume that the lower-section of his throax extended and rounded out, visible even under his shirt. He felt something odd in his pocket. It was a receipt. 43,000 credits for ten bowls of vanilla bean ice cream. Was that ten bowls for both of them? Or individually? Ghen didn't care. He's good for it.
Returning back to his calculator, he acted upon the decision that he had made at that eatery. He's acquiring as many books about investing and stock trading as he could find, frequent and study all the discussions and arguments presented by other like-minded individuals such as he, all to ensure he can live the good life. And he had a very good feeling Tilik was doing the exact same thing.
Well, first, the gurgling in his stomach, as well as the feeling of something rising demanded his attention. Looks like he'll need to take the night off to let his stomach get back to normal.
Three Years Later.
Ghen looked out beyond the horizon, seeing the colony that he grew up in. On the far side was where his old house was. With only a simple robe on, made from the finest silk from Earth's nation-state of China, he relaxed in his seat.
It was a long road. Stockpiling credits from pre-existing investments and from subsequent pays, he and Tilik made it. From having only half a million in assets and cash, now transformed to over eight-hundred million. And now, his call contracts on American Interstellar? They've just announced a breakthrough in their next generation of warp drives, reducing the speed coefficient even further, resulting in far faster travel. And with that, their stock price climbed sharply.
Another hundred million credits in the bank. Soon, very soon, he and Tilik are about to become the galaxy's first zazk billionares. But that's not enough. There are many humans who are billionares. Only those he can count on one hand are considered trillionares. He's going to break into that circle. He and Tilik.
Looking beyond the colony, he saw the abandoned building of the workplace he transferred to when the humans arrived. Turns out, the reason for such a high demand was that the humans also slipped in sugar to the tap water. As soon as that broke, many influential royal servants demanded investigations and outright banning of Terran Galactic Company's influence over the former government division. Zilia's stock price plummeted. But thanks to an advance tip from his human coordinator, Dylan, he and Tilik made a put contract. And that's where they struck gold, as the human saying goes.
Dylan warned that if they were citizens of the United Nations, they'd be investigated and convicted for insider trading. But, since they weren't, and the Collective were only just introduced to capitalism, there's no risk at all. Now the colony is going through a withdrawal phase, Zilia has been dissolved and reformed back as a government division and are currently at work re-establishing the standard, plain water delivery.
"Well, shit." Tilik muttered as he walked up to Ghen's side, taking well to human speech. "Looks like you win. American Interstellar's announcement really was a good thing. There goes a million credits. Ah well, the Royal Shipyards will make it back for me soon."
"Oh? Did they just go corporate?" Ghen asked curiously, glancing to Tilik.
"Hell yeah they did." Tilik chuckled, sitting down. "Queen and her retard servants fought it hard, but Royal Shipyards is now officially a human-style corporation. And, to a surprise to all the xenophobes in the galaxy, they're already being offered contracts for ship production. That'll raise the stock price pretty good."
"What's that human word...?" Ghen muttered, already having a reply in mind. "Dick? Yeah, calls or suck my dick, Tilik."
Tilik roared in laughter. "Already made them. Forty credits a share by this day next month."
"I have half a mind to go thirty." Ghen chuckled. "Either way, until then, I heard from Dylan that he knows a guy who knows several prime human women who happen to be into zazk."
"You're interested in women?" Tilik said as his wings fluttered. "With how often you tell me to suck you off, I'd have thought differently."
"Oh, I always thought it was you who was into men." Ghen responded dryly. "Just wanted to be a good friend, you know? Considering how you never seem to make it past, Hey sweet thing, I'm rich you know."
"Oh, go fuck yourself." Tilik countered with a little laugh. After he stopped, wings stiffened, he looked to Ghen. "So, know any royal servants we can put the squeeze on for more revenue streams?"
"I got just the one." Ghen nodded, sitting up. "Fzik. He's been fighting to control the ice cream trade. Worried it's a corrupting influence. Got done talking with the human CEO of Nestle earlier. If we clear the way, he'll know how to squeeze a little more gains in stock price when he makes the announcement."
Tilik's wings stiffened even more, signaling his approval. "Alright, time to throw some credits around, yeah?"
AN: Sorry for the period of no updates. College is starting up, lots of stuff to clear and work out. Not sure why but I just got a bug up my butt about incorporating money and the stock market into a short. Here it is. Sorry if it seems abrupt, character limit fast approaching. Let me know how you guys think about it!
submitted by SynthoStellar to HFY [link] [comments]

Sympathy for the Drow - De-Vilifying the Dark Elves

The "Evil" races in DnD have always rubbed me kinda the wrong way. Partly once I learned that a lot of them come from racist stereotypes (Orcs, Drow, and Goblins in particular) and also just because it doesn't make sense to me. Even Nazi Germany had variation and dissenters and it only lasted for 12 years. Why would a clearly evil society never change over hundreds of years? In my opinion, a story is only as good as it's villains. So, I've set out to try and make the traditionally evil races slightly more believable and even sympathetic in places.
Now, I've not been a DM very long, only like three years. But the first campaign I ever ran was through Curse of Strahd which paints the Vistani (an itinerant society heavily based on the real world Romani) as a conniving group of thieves, murders, and vampire-worshipers. Thankfully, I found through reddit and other sites how to steer away from the racists depictions of the Vistani and making them seem like, at worst, opportunists. So, I hope to be able to do that with some other of the classic DnD antagonist races.
I've read some other phenomenal post on here about evil races that totally inspired me as well. There's a great two part post about Decolonizing D&D which I adore. The post about alignment is easily my favorite. There's a couple great ones on Orcs and Yuan-Ti too so if some of my ideas are lifted from them, I hope y'all consider it flattery instead of theft. So, here are some primer notes before I get into it.
For creating the Dark Elves, I tried to keep as much as I could from the books. Obviously some stuff has to get thrown out the window though. I also tried to standardize calling them Dark Elves instead of Drow partly because I feel like Drow has a much nastier sound to it and calling them Dark Elves follows the naming convention with the High and Wood Elves. I tried to model them after real-life matriarchal societies like the Mosuo people of China and their pantheon after real deities like the Greeks, Romans, and Norse. I also quickly realized that building a society is inseparable from geography. Where a people are from effects their language, values, mythology, history, and family structure. I've tried to outline details I think are necessary to making this society realistic while leaving it open ended enough to be place-able in different worlds with relative ease. All that aside, lets get into the meat of it.

The Dark Elves: Elven Outcasts

The Elves are a varied and magical people that come from many planes and many environments within them. But none are met with more distrust and fear than the Dark Elves. Easily set apart from their cousins by their charcoal or pitch-black skin, pink-red eyes, hair of grays and whites, and shorter stature, these people have earned a reputation as killers, thieves, demon worshipers, and liars. But history is a cruel mistress, something the Dark Elves know better than most.

The Divine Divide

As the legends go, when the world was still young, Corellon Larethian lived on the Plane of Arvandor with his fellow Primal Elves. They were wild and mutable, emotional and free in all things. They changed shapes at will, gave and took freely to and from the world, and never stayed in any location too long. They wandered to and fro, scattering their peoples across almost every plane. However, this unbridled freedom was not without a price. Arguments, feuds, and small scale wars were incredibly common between them. Some elves would find themselves stranded on far off planes after most of their companions impulsively decided to leave. Their self serving impulses drove them to often completely disregard the needs or wants of others if they went against their own desires. And their reckless revelry was wreaking havoc on the natural world with Elven parties decimating whole planes of edible plants, wild game, and drinkable water.
One such Primal Elf began to see the destruction of their ways and talked to other elves about their actions. Slowly, this Elf by the name of Lolth amassed a small following of devotees that saw the negative ramifications of their inconsiderate freedom. Lolth and her followers agreed to take on fixed forms to show recognition of the dangers that impulsivity could bring. Lolth led this small group of devotees to Corellon to ask for his support. Now, Corellon did not lead these Primal Elves: he was just as wild as the best of them and did not take kindly to others telling him what to do. But he was the First Elf ever born and was universally respected amongst the Primal Elves and if Lolth could convince him, others would surely follow. Corellon listened to her proposition and agreed that they should change to prevent more destruction and conflict, but refused to order his kinsfolk into any action. He was an Elf, same as all of them, and he wouldn’t dare order around his family. He balked when Lolth asked him to take a concrete form as a show of solidarity and brushed her off as a killjoy.
Lolth was unsatisfied with this outcome and her following set out to convince each Elf to change their ways to preserve the beauty of the worlds. However, without the support of Corellon, many elves refused her offer. Her anger grew with each failure and her opinion of Corellon turned sour, something she made no attempt to hide from her Elven siblings. Now, Corellon is a proud god and once he caught wind that Lolth was bad mouthing him in an attempt to win over others, he became enraged. He railed against Lolth calling her a snake-tongued thief and Lolth called him incompetent and cruel. Their tempers flared and all the elves chose sides between Corellon’s freedom and Lolth’s stability. During this great debate, the Primal Elves turned to violence. The Dark Elves maintain that Corellon’s side threw the first blow, while the High Elves claim that it came from Lolth’s side.
No matter the source, this violent outburst soured relations between Lolth and Corellon forever after. He cast her and her followers out of Arvandor and barred her from ever returning. He also cast all but his most trusted kin from Arvandor, forcing them all to live lives on other worlds out of fear of another perceived insurrection. Thus, the Seldarine remain in Arvandor to judge the souls of Corellon’s faithful when they die and Lolth takes refuge in Arcadia with her pantheon where she minds the souls of the Drow. Corellon’s faithful call her pantheon the Dark Seldarine, while her faithful call it the Myrkalfar.

Myrkalfar: The Spider Mother’s House

Lolth the Spider Queen is the unquestioned head of the Myrkalfar, with all other deities seen as her divine family. Lolth is considered at times to be fickle or even cruel, but her ire is never gained without good reason. A very involved deity, her followers constantly search for signs of her favor or scorn in everyday life. When a Dark Elf contemplates a risky or controversial decision, they consult priestesses or perform their own rites which often gives them direct and succinct answers. She serves as an example to matriarchs of Drow families as demanding yet understanding, punishing yet guiding. She asks for a lot of her priestesses, demanding they be an unflinching example of everything a strong leader should be. The Myrkalfar is often presented as a divine household, with Lolth as the matron.
Keptolo is the consort of Lolth and considered to be the ideal of what a male should be. Beautiful and kind, strong and hard working, he helps Lolth in everything she does. Sometimes he serves as a messenger, other times as an agent of redemption, sometimes as a divine healer. When a Dark Elf is tasked with a divine charge, he is usually the one to deliver the message and guide them through their charge. He serves also as a fertility deity and is often worshiped by women or men seeking a child. Outsiders see him as a weak and subservient husband to Lolth, but his faithfulness to his matron is considered a virtue and his status as a “husband” is relatively alien to the Dark Elves as they have no binding marriage in their society.
If Keptolo is the agent of Lolth’s mercy, Kiaransalee is the agent of her vengeance. She is the eldest daughter of Lolth and Keptolo and one that Dark Elves pray to when they feel wronged. Only the most binding and serious contracts are signed under her name. To break an oath made under her name is sure to bring destruction. She is also the governor of the dead, judging the souls of those passed in the afterlife. She opposes the mindless undead created by mortals, but spirits and revenants that return to finish unresolved business amongst the living are considered under her protection. Should a Dark Elf encounter a returned spirit that is seeking vengeance, it’s their duty to leave them on their way and pray that the spirit isn’t there for them. This reverence of certain undead is something many outsiders consider downright evil.
Selvetarm is the Dark Elven warrior goddess and youngest daughter of Lolth. Often depicted with eight arms, she represents the pinnacle of hand to hand martial prowess, but often is without restraint. She serves as both an inspiration for warriors, and a warning. Vhaeraun is the eldest son of Lolth and governs ambition and stealth. Both of these traits are not necessarily vilified, but worship of him is highly scrutinized. Haughty and rash, tales of him often include deceiving his fellow gods for good and ill and more often than not are cautionary ones. He’s depicted as wearing a mask, either as some punishment for endangering Lolth and her family or to hide his identity for various schemes, possibly both.
Malyk is Lolth’s youngest son and a youthful deity of change and growth. He’s often seen as a bouncing young boy that Lolth and her family have to reign in from wild misadventures. His freedom and curiosity is often seen as a double edged sword, both gaining him great riches but also putting him in tremendous peril. He has strong ties to sorcerers and when a child is born with innate magical talent, he is often the one thanked for it. He serves as an outlet for a Dark Elves youthful chaotic nature, but also warns them of the ramifications of their actions.
Ghaunadur is a strange figure in the pantheon. Their place in the family is a bit of a mystery, sometimes called the sibling of Lolth, or her child, or even as Lolth’s parent. What makes them truly unique is that they are a formless deity, something that Lolth once warred with Corellon over. The legends go that when Ghaunadur joined Lolth, they refused to give up their changeable nature. When questioned, Ghaunadur pointed to the slimes, oozes, and formless creatures of the world and said that they wished to protect them from the Elves and the Elves from them. Lolth agreed, cementing their position as the deity of the changing forms of nature. Their favored creature is the ooze, but they govern all natural creatures. Dark Elves often pray to Ghaunadur to protect them from the creatures that lurk in the depths of the forest.
Zinzerena is Lolth’s sister and is the goddess of poisons, illusions, and magic. Viewed as an elderly and patient figure, she often serves as council to Lolth in desperate times. She’s said to be the mother of all poisons and venoms and her teachings are all about finding the wisest solution to a problem. Zinzerena teaches that even though the spider is small, it’s bite can still fell a panther. Despite her perceived age, she’s considered the younger sister of Lolth and is thought to be incredibly quick and nimble: a reminder that not everything is as it seems.
Eilistraee is Lolth’s niece and daughter of Zinzerena. Considered the black sheep of the pantheon, she serves as a goddess of redemption and moonlight. Dark Elves that turn their back on their family or scorn traditions will sometimes find themselves turned to Driders, half-spider half-Dark Elf creatures shunned by all. Eilistraee is said to watch over these creatures and if they are repentant, offer them challenges that they could complete to redeem themselves. Lolth often views her with contempt or mistrust, but never hates her and maintains her place in the pantheon. Dark Elven faithful rarely worship her as the others. She’s also one of the only deities of the Myrkalfar to claim no animosity toward the Seldarine and their faithful.
Spiders are the sacred animal of Lolth and are often used as an example of social order and the importance of family bonds. Each strand of silk serves the web as whole. More literally, the giant spiders of the Underdark are multifaceted and incredibly useful creatures. Serving as beasts of burden, war steeds, meat producers, household guardians, and silk producers, they are present in almost every facet of society. Their silks are used in everything from wound dressings to armor to architecture. To kill or steal another family's spider is considered akin to stealing a member of the family. Smaller and more poisonous spiders are often kept in temples and their webs are used as divining tools for priestesses.

Elven Exiles

The recorded history of the Dark Elves is full of contradictions from High Elf and Dark Elf sources. What historians can agree on is when the Elves of the Prime Material arrived, the followers of Lolth secluded from their Wood and High cousins and retreated into the Azelarien, also known as the Green Sea in Common. A massive forest, nearly 1 million square miles of dense and vibrant trees, that grows denser and darker the farther in one ventures. For countless eons, the High, Wood, and Dark Elves lived in relative harmony in their own corner of the world. High Elves lived near the forests in towns and villages, the Wood Elves lived in the lightly forested outlands of the Green Sea, and the Dark Elves lived deep in the central forests which was so dense that very little light reached the forest floor.
As time passed and their villages turned to cities, the High Elves began expanding into the forest, chopping some down to build homes and heat their furnaces. This began pushing into the territory of the Wood Elves and eventually the Dark Elves as well. These two peoples formed a shaky alliance to push back the expansive tide of the far larger High Elven armies. This alliance proved successful however and the High Elven forces began losing ground. What happened next is a matter of some debate. High Elven historians attest that the Dark Elven armies used Wood Elven soldiers as unwitting bait to lure the High Elven armies into a trap, thus causing a schism between them. Dark Elven historians state that the Wood Elven armies turned on them after the Wood Elves met in secret with High Elven leaders and bargained for their independence. Some Wood Elven historians claim that after a brutal defeat on the field, they were met by High Elven dignitaries that offered them clemency if they turned on their allies. They initially refused, but after the dignitaries threatened to make the same offer to the Dark Elves, they had no choice but to accept. No matter the cause, the histories agree that the Wood Elves turned on their erstwhile allies and helped push the Dark Elves into a rapid loss of ground.
Facing the might of the two armies with their own relatively small one, the Dark Elves were beaten into a hasty retreat into their own territory. Losing every open encounter, the Dark Elf matrons developed a new strategy of combat. The armies switched from training as many as quickly as they could, to training only a select few in multiple different forms of combat and magic. As the High and Wood Elves advanced into their territory, they quickly found their supply lines cut out from under them, their soldiers ambushed while sleeping, their scouts captured, and their leaders assassinated. And even if they would make it to a Dark Elf settlement, they would find it abandoned and booby-trapped, warned by their fast and silent scouts. If the Dark Elves couldn’t face their enemies head-on, they would weaken them with quick and decisive strikes.
Eventually, the war ground to a stalemate. The High Elves couldn’t push into the Dark Elf territory far enough to capture any cities of note without taking severe casualties and the Dark Elves were only managing to hold the invading armies back and couldn’t muster a force strong enough to push back to the enemy capital. Thus, the war cooled into a tense peace. The leaders came together to draw borders, but neither side fully forgave nor forgot one another’s actions. High and Wood Elves viewed the change in tactics by the Dark Elves as an unethical violation of the standards of war. The Dark Elves felt a particular animosity toward the Wood Elves, considering them backstabbers in their darkest hour.

Dark Elf Families: Matrons of Order

The Dark Elf society, to an outsider, looks like an oppressive and cruel society of slave traders and backstabbers. But the truth is more subtle. The Dark Elves value tradition and filial piety above almost all else. To a Dark Elven citizen, their family name is their most valuable possession and they are taught from a very young age that to look after their parents and their younger siblings is the highest virtue. Ancestors that have achieved great things often have shrines in a household alongside the gods themselves. A Dark Elf going against the will of their family is considered one of the highest taboos and often causes them to be outcast from Dark Elven society as a whole. Dark Elf society is matrilineal meaning that the eldest woman in each family is revered as the household leader and receives great respect from her family and society. This also means that the males of the society don’t inherit wealth as frequently as the females.
Dark Elven families are quite large, often with multiple generations along with aunts, uncles, and cousins living in the same household. New children almost always reside with their mother. Males of the society are expected to care not for their own biological children, but for the children born to their sisters, aunts, or nieces. This results in a striking amount of sexual freedom for both men and women, but is often viewed from the outside as promiscuity. The Dark Elves do not marry in the traditional sense, instead favoring long term partners with one another that can end at any time with no concerns to material wealth or ownership.
However, to become a member of a Dark Elf family is not entirely a matter of heritage. When a family that cannot support another child has one, they are often adopted by more well to do families and raised as one of their own. These adopted children are considered just as legitimate as if they were born into the family. Also, should a family lose all their heirs or become destitute, they often ask to become assimilated into other families for their own safety. The latter is considered a morose ceremony as the members of the smaller family forsake their surnames. To take in such a family is both an extreme honor and grim burden, as it means ending another family's line.
The borders of Dark Elven civilization only goes so far as there are trees so many newer up and coming families have expanded underground, a difficult and slow endeavor. This has put multiple houses at odds with one another for territory. However, Dark Elves do not tolerate open hostility between families as they have a very strong sense of collective identity. Dark Elves do not war against fellow Dark Elves, same as a spider does not fight its own web. This leads to many tensions and conflicts needing to be resolved in other ways. Most families will attempt a diplomatic solution, but when that isn’t an option, sabotage and coercion is the favored outlet. Murder is considered a bridge too far by most houses, but subterfuge in almost every other facet is, while not accepted, tolerated.
Legends of Lolth’s rebellion and the tension of their enclosed territory have imbued the Dark Elves with a strong sense of symbiosis with nature and conservancy. Sustainable living is the cornerstone of Dark Elf society. In the wild, no creature is killed or plant destroyed unless it’s a matter of self defense or necessary to survival.

Dark Elven Sex and Gender

As with many Elven peoples, sexuality is seen as a fluid and non-binary matter. Same sex relationships are usually seen as just as acceptable as male-female relationships. Since Dark Elves have no marriage structure, same sex life partners are common and widely accepted. Inheritance is passed along by the family as a whole, not linearly, meaning some houses may have matrons with no direct biological descendants while still serving at the elder matron. Power dynamics in relationships are still a factor, with the elder female in a gay relationship considered slightly above their partner socially and is seen as the inheritor in cases of property or genealogy. Male same sex relationships are accepted with little controversy. Since children are passed down their mothers line, the males have no social obligation to sire an heir as with other societies.
Transgender and transexual Dark Elves are met with slightly more controversy. Lolth’s rejection of the Primal Elves mutable forms is sometimes cited against transgender and transexual Dark Elves. Ghaunadur, however, is considered the patron god of these people and teaches that just as they are part of nature, they can change their forms. Many of these people join the religious order of Ghaunadur, serving in various roles both in religious ceremonies and as forest guides. Some even consider them to be blessed by Ghaunadur and are highly sought after in forays into the forests for protection. Children born to transgender Dark Elves are still expected to be a part of their eldest mother’s family or eldest father if no woman is part of the union.

Slavery Amongst the Dark Elves

While the Dark Elves do take slaves, their slavery doesn’t look the same as many other societies. When a family becomes indebted to another and they cannot pay off the debt, a member of their family, usually male, will be sent to work for the owed family. They give him room and board and are expected to care for him as if he were one of their own. He’ll work for them for an agreed upon amount of time before returning to his native family. Injury or misuse of this person is often grounds for them to leave and the debt to be nullified. Children born to servant fathers needn’t worry about inheriting their father’s status since they’re considered to be their mother’s child. On the rare occasion that a female servant has a child while in servitude, the child is returned to the mother’s family to be raised by her family while she works off the remaining debt. Some trade of servants does occur between houses, with indentured servants being traded for goods or services or even other servants of special skills, but the family of the servant reserves the right to veto such a trade for any reason.
During their frequent clashes with external armies, the Dark Elves do sometimes take prisoners of war, though very rarely are they used for slave labor. They never bring them back to major settlements, often keeping them on the outskirts of their territory to prevent them from learning critical knowledge of their territory. Most prisoners are held as bargaining chips to be traded for passage, supplies, or captured Dark Elves. Captured military leaders are sometimes brought to Dark Elven cities to be tried for their crimes against their people.

Dark Elven Government: Independent Houses

Unlike many other cultures, the Dark Elves lack a centralized government. Societal etiquette govern the standard for how certain crimes and disagreements should be handled, but each family unit acts as its own governing body. Disagreements within families are thus resolved internally. Inter-family disputes are resolved in multiple different ways. Most often, the two matrons of the family will meet and agree on terms to fairly compensate both sides. In cases when these talks deteriorate, the High Priestess of Lolth is often called to serve as the mediator and serves as the ruling body between disputes. Her rulings are final and indisputable, as she is considered the mouthpiece of Lolth’s will.
In times of crisis, historically the many houses of the Dark Elves have convened to discuss threats to all of Dark Elven society. This is uncommon as it’s difficult logistically to gather all the matrons in the same place at the same time, so often houses are represented by either the second eldest woman of the family or the eldest daughter of the matron. The High Priestess of Lolth often resides over these meetings as an arbiter in the event of split decisions or in delivering guidance from Lolth herself.

There's my take on the Dark Elves. Any comments, suggestions, questions, outrages, and critiques are welcomed. This is my first comprehensive look at a whole race so if I've missed things, I'll try and patch them up. I'd like to do similar things for Orcs, Goblinoids, Kobolds, and others so those might be seen soon. Thanks!
submitted by Lerad to DnDBehindTheScreen [link] [comments]

Everything You Always Wanted To Know About Swaps* (*But Were Afraid To Ask)

Hello, dummies
It's your old pal, Fuzzy.
As I'm sure you've all noticed, a lot of the stuff that gets posted here is - to put it delicately - fucking ridiculous. More backwards-ass shit gets posted to wallstreetbets than you'd see on a Westboro Baptist community message board. I mean, I had a look at the daily thread yesterday and..... yeesh. I know, I know. We all make like the divine Laura Dern circa 1992 on the daily and stick our hands deep into this steaming heap of shit to find the nuggets of valuable and/or hilarious information within (thanks for reading, BTW). I agree. I love it just the way it is too. That's what makes WSB great.
What I'm getting at is that a lot of the stuff that gets posted here - notwithstanding it being funny or interesting - is just... wrong. Like, fucking your cousin wrong. And to be clear, I mean the fucking your *first* cousin kinda wrong, before my Southerners in the back get all het up (simmer down, Billy Ray - I know Mabel's twice removed on your grand-sister's side). Truly, I try to let it slide. I do my bit to try and put you on the right path. Most of the time, I sleep easy no matter how badly I've seen someone explain what a bank liquidity crisis is. But out of all of those tens of thousands of misguided, autistic attempts at understanding the world of high finance, one thing gets so consistently - so *emphatically* - fucked up and misunderstood by you retards that last night I felt obligated at the end of a long work day to pull together this edition of Finance with Fuzzy just for you. It's so serious I'm not even going to make a u/pokimane gag. Have you guessed what it is yet? Here's a clue. It's in the title of the post.
That's right, friends. Today in the neighborhood we're going to talk all about hedging in financial markets - spots, swaps, collars, forwards, CDS, synthetic CDOs, all that fun shit. Don't worry; I'm going to explain what all the scary words mean and how they impact your OTM RH positions along the way.
We're going to break it down like this. (1) "What's a hedge, Fuzzy?" (2) Common Hedging Strategies and (3) All About ISDAs and Credit Default Swaps.
Before we begin. For the nerds and JV traders in the back (and anyone else who needs to hear this up front) - I am simplifying these descriptions for the purposes of this post. I am also obviously not going to try and cover every exotic form of hedge under the sun or give a detailed summation of what caused the financial crisis. If you are interested in something specific ask a question, but don't try and impress me with your Investopedia skills or technical points I didn't cover; I will just be forced to flex my years of IRL experience on you in the comments and you'll look like a big dummy.
TL;DR? Fuck you. There is no TL;DR. You've come this far already. What's a few more paragraphs? Put down the Cheetos and try to concentrate for the next 5-7 minutes. You'll learn something, and I promise I'll be gentle.
Ready? Let's get started.
1. The Tao of Risk: Hedging as a Way of Life
The simplest way to characterize what a hedge 'is' is to imagine every action having a binary outcome. One is bad, one is good. Red lines, green lines; uppie, downie. With me so far? Good. A 'hedge' is simply the employment of a strategy to mitigate the effect of your action having the wrong binary outcome. You wanted X, but you got Z! Frowny face. A hedge strategy introduces a third outcome. If you hedged against the possibility of Z happening, then you can wind up with Y instead. Not as good as X, but not as bad as Z. The technical definition I like to give my idiot juniors is as follows:
Utilization of a defensive strategy to mitigate risk, at a fraction of the cost to capital of the risk itself.
Congratulations. You just finished Hedging 101. "But Fuzzy, that's easy! I just sold a naked call against my 95% OTM put! I'm adequately hedged!". Spoiler alert: you're not (although good work on executing a collar, which I describe below). What I'm talking about here is what would be referred to as a 'perfect hedge'; a binary outcome where downside is totally mitigated by a risk management strategy. That's not how it works IRL. Pay attention; this is the tricky part.
You can't take a single position and conclude that you're adequately hedged because risks are fluid, not static. So you need to constantly adjust your position in order to maximize the value of the hedge and insure your position. You also need to consider exposure to more than one category of risk. There are micro (specific exposure) risks, and macro (trend exposure) risks, and both need to factor into the hedge calculus.
That's why, in the real world, the value of hedging depends entirely on the design of the hedging strategy itself. Here, when we say "value" of the hedge, we're not talking about cash money - we're talking about the intrinsic value of the hedge relative to the the risk profile of your underlying exposure. To achieve this, people hedge dynamically. In wallstreetbets terms, this means that as the value of your position changes, you need to change your hedges too. The idea is to efficiently and continuously distribute and rebalance risk across different states and periods, taking value from states in which the marginal cost of the hedge is low and putting it back into states where marginal cost of the hedge is high, until the shadow value of your underlying exposure is equalized across your positions. The punchline, I guess, is that one static position is a hedge in the same way that the finger paintings you make for your wife's boyfriend are art - it's technically correct, but you're only playing yourself by believing it.
Anyway. Obviously doing this as a small potatoes trader is hard but it's worth taking into account. Enough basic shit. So how does this work in markets?
2. A Hedging Taxonomy
The best place to start here is a practical question. What does a business need to hedge against? Think about the specific risk that an individual business faces. These are legion, so I'm just going to list a few of the key ones that apply to most corporates. (1) You have commodity risk for the shit you buy or the shit you use. (2) You have currency risk for the money you borrow. (3) You have rate risk on the debt you carry. (4) You have offtake risk for the shit you sell. Complicated, right? To help address the many and varied ways that shit can go wrong in a sophisticated market, smart operators like yours truly have devised a whole bundle of different instruments which can help you manage the risk. I might write about some of the more complicated ones in a later post if people are interested (CDO/CLOs, strip/stack hedges and bond swaps with option toggles come to mind) but let's stick to the basics for now.
(i) Swaps
A swap is one of the most common forms of hedge instrument, and they're used by pretty much everyone that can afford them. The language is complicated but the concept isn't, so pay attention and you'll be fine. This is the most important part of this section so it'll be the longest one.
Swaps are derivative contracts with two counterparties (before you ask, you can't trade 'em on an exchange - they're OTC instruments only). They're used to exchange one cash flow for another cash flow of equal expected value; doing this allows you to take speculative positions on certain financial prices or to alter the cash flows of existing assets or liabilities within a business. "Wait, Fuzz; slow down! What do you mean sets of cash flows?". Fear not, little autist. Ol' Fuzz has you covered.
The cash flows I'm talking about are referred to in swap-land as 'legs'. One leg is fixed - a set payment that's the same every time it gets paid - and the other is variable - it fluctuates (typically indexed off the price of the underlying risk that you are speculating on / protecting against). You set it up at the start so that they're notionally equal and the two legs net off; so at open, the swap is a zero NPV instrument. Here's where the fun starts. If the price that you based the variable leg of the swap on changes, the value of the swap will shift; the party on the wrong side of the move ponies up via the variable payment. It's a zero sum game.
I'll give you an example using the most vanilla swap around; an interest rate trade. Here's how it works. You borrow money from a bank, and they charge you a rate of interest. You lock the rate up front, because you're smart like that. But then - quelle surprise! - the rate gets better after you borrow. Now you're bagholding to the tune of, I don't know, 5 bps. Doesn't sound like much but on a billion dollar loan that's a lot of money (a classic example of the kind of 'small, deep hole' that's terrible for profits). Now, if you had a swap contract on the rate before you entered the trade, you're set; if the rate goes down, you get a payment under the swap. If it goes up, whatever payment you're making to the bank is netted off by the fact that you're borrowing at a sub-market rate. Win-win! Or, at least, Lose Less / Lose Less. That's the name of the game in hedging.
There are many different kinds of swaps, some of which are pretty exotic; but they're all different variations on the same theme. If your business has exposure to something which fluctuates in price, you trade swaps to hedge against the fluctuation. The valuation of swaps is also super interesting but I guarantee you that 99% of you won't understand it so I'm not going to try and explain it here although I encourage you to google it if you're interested.
Because they're OTC, none of them are filed publicly. Someeeeeetimes you see an ISDA (dsicussed below) but the confirms themselves (the individual swaps) are not filed. You can usually read about the hedging strategy in a 10-K, though. For what it's worth, most modern credit agreements ban speculative hedging. Top tip: This is occasionally something worth checking in credit agreements when you invest in businesses that are debt issuers - being able to do this increases the risk profile significantly and is particularly important in times of economic volatility (ctrl+f "non-speculative" in the credit agreement to be sure).
(ii) Forwards
A forward is a contract made today for the future delivery of an asset at a pre-agreed price. That's it. "But Fuzzy! That sounds just like a futures contract!". I know. Confusing, right? Just like a futures trade, forwards are generally used in commodity or forex land to protect against price fluctuations. The differences between forwards and futures are small but significant. I'm not going to go into super boring detail because I don't think many of you are commodities traders but it is still an important thing to understand even if you're just an RH jockey, so stick with me.
Just like swaps, forwards are OTC contracts - they're not publicly traded. This is distinct from futures, which are traded on exchanges (see The Ballad Of Big Dick Vick for some more color on this). In a forward, no money changes hands until the maturity date of the contract when delivery and receipt are carried out; price and quantity are locked in from day 1. As you now know having read about BDV, futures are marked to market daily, and normally people close them out with synthetic settlement using an inverse position. They're also liquid, and that makes them easier to unwind or close out in case shit goes sideways.
People use forwards when they absolutely have to get rid of the thing they made (or take delivery of the thing they need). If you're a miner, or a farmer, you use this shit to make sure that at the end of the production cycle, you can get rid of the shit you made (and you won't get fucked by someone taking cash settlement over delivery). If you're a buyer, you use them to guarantee that you'll get whatever the shit is that you'll need at a price agreed in advance. Because they're OTC, you can also exactly tailor them to the requirements of your particular circumstances.
These contracts are incredibly byzantine (and there are even crazier synthetic forwards you can see in money markets for the true degenerate fund managers). In my experience, only Texan oilfield magnates, commodities traders, and the weirdo forex crowd fuck with them. I (i) do not own a 10 gallon hat or a novelty size belt buckle (ii) do not wake up in the middle of the night freaking out about the price of pork fat and (iii) love greenbacks too much to care about other countries' monopoly money, so I don't fuck with them.
(iii) Collars
No, not the kind your wife is encouraging you to wear try out to 'spice things up' in the bedroom during quarantine. Collars are actually the hedging strategy most applicable to WSB. Collars deal with options! Hooray!
To execute a basic collar (also called a wrapper by tea-drinking Brits and people from the Antipodes), you buy an out of the money put while simultaneously writing a covered call on the same equity. The put protects your position against price drops and writing the call produces income that offsets the put premium. Doing this limits your tendies (you can only profit up to the strike price of the call) but also writes down your risk. If you screen large volume trades with a VOL/OI of more than 3 or 4x (and they're not bullshit biotech stocks), you can sometimes see these being constructed in real time as hedge funds protect themselves on their shorts.
(3) All About ISDAs, CDS and Synthetic CDOs
You may have heard about the mythical ISDA. Much like an indenture (discussed in my post on $F), it's a magic legal machine that lets you build swaps via trade confirms with a willing counterparty. They are very complicated legal documents and you need to be a true expert to fuck with them. Fortunately, I am, so I do. They're made of two parts; a Master (which is a form agreement that's always the same) and a Schedule (which amends the Master to include your specific terms). They are also the engine behind just about every major credit crunch of the last 10+ years.
First - a brief explainer. An ISDA is a not in and of itself a hedge - it's an umbrella contract that governs the terms of your swaps, which you use to construct your hedge position. You can trade commodities, forex, rates, whatever, all under the same ISDA.
Let me explain. Remember when we talked about swaps? Right. So. You can trade swaps on just about anything. In the late 90s and early 2000s, people had the smart idea of using other people's debt and or credit ratings as the variable leg of swap documentation. These are called credit default swaps. I was actually starting out at a bank during this time and, I gotta tell you, the only thing I can compare people's enthusiasm for this shit to was that moment in your early teens when you discover jerking off. Except, unlike your bathroom bound shame sessions to Mom's Sears catalogue, every single person you know felt that way too; and they're all doing it at once. It was a fiscal circlejerk of epic proportions, and the financial crisis was the inevitable bukkake finish. WSB autism is absolutely no comparison for the enthusiasm people had during this time for lighting each other's money on fire.
Here's how it works. You pick a company. Any company. Maybe even your own! And then you write a swap. In the swap, you define "Credit Event" with respect to that company's debt as the variable leg . And you write in... whatever you want. A ratings downgrade, default under the docs, failure to meet a leverage ratio or FCCR for a certain testing period... whatever. Now, this started out as a hedge position, just like we discussed above. The purest of intentions, of course. But then people realized - if bad shit happens, you make money. And banks... don't like calling in loans or forcing bankruptcies. Can you smell what the moral hazard is cooking?
Enter synthetic CDOs. CDOs are basically pools of asset backed securities that invest in debt (loans or bonds). They've been around for a minute but they got famous in the 2000s because a shitload of them containing subprime mortgage debt went belly up in 2008. This got a lot of publicity because a lot of sad looking rednecks got foreclosed on and were interviewed on CNBC. "OH!", the people cried. "Look at those big bad bankers buying up subprime loans! They caused this!". Wrong answer, America. The debt wasn't the problem. What a lot of people don't realize is that the real meat of the problem was not in regular way CDOs investing in bundles of shit mortgage debts in synthetic CDOs investing in CDS predicated on that debt. They're synthetic because they don't have a stake in the actual underlying debt; just the instruments riding on the coattails. The reason these are so popular (and remain so) is that smart structured attorneys and bankers like your faithful correspondent realized that an even more profitable and efficient way of building high yield products with limited downside was investing in instruments that profit from failure of debt and in instruments that rely on that debt and then hedging that exposure with other CDS instruments in paired trades, and on and on up the chain. The problem with doing this was that everyone wound up exposed to everybody else's books as a result, and when one went tits up, everybody did. Hence, recession, Basel III, etc. Thanks, Obama.
Heavy investment in CDS can also have a warping effect on the price of debt (something else that happened during the pre-financial crisis years and is starting to happen again now). This happens in three different ways. (1) Investors who previously were long on the debt hedge their position by selling CDS protection on the underlying, putting downward pressure on the debt price. (2) Investors who previously shorted the debt switch to buying CDS protection because the relatively illiquid debt (partic. when its a bond) trades at a discount below par compared to the CDS. The resulting reduction in short selling puts upward pressure on the bond price. (3) The delta in price and actual value of the debt tempts some investors to become NBTs (neg basis traders) who long the debt and purchase CDS protection. If traders can't take leverage, nothing happens to the price of the debt. If basis traders can take leverage (which is nearly always the case because they're holding a hedged position), they can push up or depress the debt price, goosing swap premiums etc. Anyway. Enough technical details.
I could keep going. This is a fascinating topic that is very poorly understood and explained, mainly because the people that caused it all still work on the street and use the same tactics today (it's also terribly taught at business schools because none of the teachers were actually around to see how this played out live). But it relates to the topic of today's lesson, so I thought I'd include it here.
Work depending, I'll be back next week with a covenant breakdown. Most upvoted ticker gets the post.
*EDIT 1\* In a total blowout, $PLAY won. So it's D&B time next week. Post will drop Monday at market open.
submitted by fuzzyblankeet to wallstreetbets [link] [comments]

MAME 0.222

MAME 0.222

MAME 0.222, the product of our May/June development cycle, is ready today, and it’s a very exciting release. There are lots of bug fixes, including some long-standing issues with classics like Bosconian and Gaplus, and missing pan/zoom effects in games on Seta hardware. Two more Nintendo LCD games are supported: the Panorama Screen version of Popeye, and the two-player Donkey Kong 3 Micro Vs. System. New versions of supported games include a review copy of DonPachi that allows the game to be paused for photography, and a version of the adult Qix game Gals Panic for the Taiwanese market.
Other advancements on the arcade side include audio circuitry emulation for 280-ZZZAP, and protection microcontroller emulation for Kick and Run and Captain Silver.
The GRiD Compass series were possibly the first rugged computers in the clamshell form factor, possibly best known for their use on NASA space shuttle missions in the 1980s. The initial model, the Compass 1101, is now usable in MAME. There are lots of improvements to the Tandy Color Computer drivers in this release, with better cartridge support being a theme. Acorn BBC series drivers now support Solidisk file system ROMs. Writing to IMD floppy images (popular for CP/M computers) is now supported, and a critical bug affecting writes to HFE disk images has been fixed. Software list additions include a collection of CDs for the SGI MIPS workstations.
There are several updates to Apple II emulation this month, including support for several accelerators, a new IWM floppy controller core, and support for using two memory cards simultaneously on the CFFA2. As usual, we’ve added the latest original software dumps and clean cracks to the software lists, including lots of educational titles.
Finally, the memory system has been optimised, yielding performance improvements in all emulated systems, you no longer need to avoid non-ASCII characters in paths when using the chdman tool, and jedutil supports more devices.
There were too many HyperScan RFID cards added to the software list to itemise them all here. You can read about all the updates in the whatsnew.txt file, or get the source and 64-bit Windows binary packages from the download page.

MAME Testers Bugs Fixed

New working machines

New working clones

Machines promoted to working

Clones promoted to working

New machines marked as NOT_WORKING

New clones marked as NOT_WORKING

New working software list additions

Software list items promoted to working

New NOT_WORKING software list additions

submitted by cuavas to emulation [link] [comments]

The Motte Plays: Nomic

UPDATE: The Game is over.
Unfortunately, this particular game has ended up being something of a failed experiment. Thank you to everyone for playing, and my apologies that I didn't do a better job structuring it.
WHAT IS NOMIC?
Nomic is a game about making up the rules of the game as you go. Like Calvinball, but a little more structured.
WHAT ARE THE RULES?
The game starts with a very basic set of rules, all about how to create or amend new rules, as follows:
RULE 1: To propose a new rule, post it as a top level comment in this thread. Once it has 15 more upvotes than downvotes, it is a rule of the game that everyone must comply with. Rules that were proposed before this comes into effect shall be judged by the previous system.
RULE 2 To amend or repeal an existing or proposed rule, reply to the top level comment with your modification. Once it has 15 more upvotes than downvotes the top-level comment will be read as if your modification applies.
RULE 3 a vacuously satisfied rule (so to be compatible with its uselessness), instead of the current contradiction.
Additional rules have been added to the game, as follows:
Always sort by controversial: Everyday, the proposed rule with the highest "controversial" score gets accepted, regardless of its absolute score.
Lynch mcjunker: The user mcjunker shall be lynched at dawn on Thursday, August 28th 2025
Rules Have Names: Any post proposing a rule or amendment must include a bolded title for the rule.
The Basic Interpretation Rule: Where there are disagreements about how to interpret a rule, a person may post a "Proposed Interpretations for [Rule Name]:" comment.
Any person may reply to this comment with their preferred interpretation of the rule as a separate comment. After the proposed interpretations comment is 24 hours old, the reply that has the highest score becomes the binding interpretation.
Universal Starting Income Rule: Each player has an in-game wallet which begins containing 100 coins.
Conflict Of Rules: In the event that two or more rules (of the same classification, if separate classifications exist) conflict, then the latter adopted rule automatically controls.
Gem Acquisition Rule: When a rule proposal is implemented, the player who proposed it gets one gem.
Physical Locality Rule: The game map is an infinite binary tree. Players can choose their initial location on this map once by replying to this rule proposal with a string made up of a sequence of "L" and "R".
The Anti-Sneakiness Rule: The text of a rule must not have been edited to get accepted.
Adjudication Of Disputes: In the event of a dispute or interpretation that requires adjudication, a panel of three members of TheMotte shall sit as adjudicators.
The adjudicators shall be selected from the following list, which may be amended by later rules: crc128, AshLael, revengeclaus
The process by which the adjudication proceeds shall be determined by the three adjudicators, and need not include community input.
By a majority (>51%) vote of the sitting adjudicators, the adjudication becomes final and unappealable.
Adjudications do not set precedent, and are not mutually binding, unless this is changed by a later rule.
Rule List: All rules must be written down in the main post of the game once they are added.
Sequential Evaluation Of New Rules: When new rules are added, they must meet all currently existing rules, prior to the application of the new rule's text, unless the new rule explicitly states that it is overriding prior rules. Rules which do not meet this bar are not adopted, regardless of the disposition of votes, and shall have no effect.
No Ex Post Facto: Rules do not apply to themselves nor rules older than themselves. Amendment - Self-Referential Ex Facto(r): Rules containing any form of self-reference (however indirect), such as this rule, must abide by themselves.
Rule 1 Clarification: In "After the post is 24 hours old, if it has more upvotes than downvotes, it is a rule of the game that everyone must comply with", the post and it refers to the proposal comment itself, not the top-level thread.
A Rule to Deter Rule Proposal Spam
(1) Anyone for whom the number of his rejected new rule proposals is more than three times the number of his accepted new rule proposals, loses immediately, unless he has made fewer than five new rule proposals.
(2) For the purposes of subsection (1), any new rule proposal deleted by its author more than one hour after its posting shall be considered rejected.
If one's rule proposal is rejected, one shall drink one shot. Individuals consuming shots of alcoholic beverages because of this game shall consume no more than 40g of pure alcohol on each day of the game.Those who avoid alcohol for reasons of faith, addiction, or other moral reasons may substitute a shot of a non-alcoholic beverage of their choice.
Contradiction resolution: Rule 3 should be replaced with a vacuously satisfied rule (so to be compatible with its uselessness), instead of the current contradiction.
No Pay-To-Win Rule: No rule other than this one can make reference to real-world money or any resource (such as reddit gold or cryptocurrency) typically acquired with real-world money.
RULE 0: Have fun!
SKIN IN THE GAME: The user that proposes a rule must follow that rule prior to the rule being accepted. If they do not follow the rule then the rule will be automatically rejected.
RULE BY POPULAR VOTE: Rules proposed within the previous 24 hours are considered all at once but implemented in order of popularity (rather than chronologically).If RULE BY POPULAR VOTE is enacted, then the newly proposed rules will be considered at a specific time each day, called the "Evaluation Time". The initial value of the evaluation time will be determined by the Motte Nomic President, if there is one, or by AshLael if no Mott Nomic President has been selected.
Sort By New Rule: The reddit thread for game conversation is to be sorted by "New".
Parentheses Rule: Only rule text not inside parentheses is binding. Text inside of parenthesis is still recorded on the list, and may be used for interpretation or asides. (So far this seems to go without saying but it's nice to have it in writing.)
Book Review Meta Win Condition: The presumptive winner must submit a book review effort post to TheMotte subsequent to meeting all other win conditions besides this one to officially win the game. The book to be reviewed will be "Twilight", or something equally horrible as agreed on by other TheMotte users. The winner will have to actually read this book, and give it a glowing review. Said book review must be strive to be apophenic and make substantial defensible references to Meditations on Moloch, The Pentateuch, and prominent culture war issues at the time of posting.
The Archipelipatchwork Rule: Should the US Federal government be legally dissolved during this game, due to circumstances including but not limited to the election of Scott Alexander or Curtis Yarvin as President in November 2020, the existing Rules shall form the founding Constitution of at least one (1) successor microstate.
Prosecution System: A player may publicly accuse another player of rule breaking. In making such an accusation, the accused player and the allegedly broken rule must be named.
The accused player must choose how they shall be tried in 24 hours counted from the making of the accusation and start their chosen option during this interval. If they fail to do this, they are convicted. He may choose from the following options:
Trial by Voices - The accused player must state that he is innocent. If his post stating innocence has more upvotes than downvotes after 24 hours, he is acquitted. Otherwise, he is convicted.
Trial by Combat - The accused player may face his accuser in a 1 on 1 contest. If the accuser and the accused can agree on a contest, that will be the contest for the trial by combat. If the accused player wins, he is acquitted. If he loses, he is convicted. The precise nature of the contest is to be determined by amendment to this rule.
Trial by Ordeal - The accused player must complete a challenging task. If the accuser and the accused can agree on a task, that will be the task for the trial by ordeal. If he succeeds, he is acquitted. If he fails, he is convicted. The precise nature of the ordeal is to be determined by amendment to this rule.
A successfully convicted player becomes a thrall of his accuser. A thrall may only win the game if his master also wins.
If a player is accused of rule breaking by another player, no player can accuse the accused player of the same rule-breaking case later (not even the original accuser). However players can accuse the accused player of breaking the same rule later provided that the alleged breaking of the same rule constitutes a different case.
PUBLIC SPIRITED: Rule proposals must apply to everyone equally. No singling out specific users. Amendments to rules can still single out specific users.
The Hemlock Rule: No player shall corrupt the youth of Athens.
Amendments may be Amended: Amendments may themselves be amended by further amendments. Amendments and amendments to amendments don't have to be direct responses to the rule they're amending. (For example, this ought to be valid as an amendment despite the objection by Taleuntum: https://www.reddit.com/TheMotte/comments/fxlufo/the_motte_plays_nomic/fmymmm9/?context=10000 )
Ke2!: All chess matches relating to this game, whether they be a means to settle a dispute or related for some other reason, are to be played on lichess.org, and are especially not to be played on chess.com.
The Game End Rule: A single player winning or losing does not cause the game to end. The game ends when all players have won, lost, or both.
Not Actually A Rule: cjet79 asked us to take off the time-based vote hiding system. I assume this is either an attempt to make the game more interesting, part of a clever strategy, or simply sowing chaos, and in all cases I'm all for it. I've taken off the score filter for now; it'll be put back up when a moderator decides to put it back up.
It is not a coincidence that this is formatted as a rule and I encourage you to upvote/downvote accordingly.
Slavery
Players may transfer ownership of thralls between each other in exchange for in-game currency (such as Gems and Coins, as currently proposed in other rules).
A thrall is a player who has gained a win condition requiring his master to also win the game.
A thrall may purchase his own freedom using this method.
If a situation arises where there is exactly one player who, for every other player, is at the end of a chain of Thrall->Master connections starting from that other player, then that one player wins the game. A "player" for this purpose is defined as "anyone who has posted in the Nomic thread and has not lost the game".
If a closed loop of Thrall -> Master connections arises, then all connections in that loop shall be extinguished.
The General Store Rule: There is a general store that sells items, including three potions: a green potion (10 coins), a red potion (20 coins), and a blue potion (50 coins).
A player may obtain an item from this store by spending a number of coins equal to the label price.
Gems can be sold at the general store for 25 coins.
Robbers' Cove Rule: Locations on the map (of the Physical Locality Rule) with more "L"s than "R"s belong to the blue team. Locations with more "R"s than "L"s belong to the red team. Locations with an equal number of "L"s and "R"s belong to the purple team.
Coin Gifts Rule: Players may give coins as a gift to other players by publicly invoking this rule and naming a number of coins and a target player.
Only positive numbers of coins may be given via the Coin Gift Rule.
When coins are given to a target player via the Coin Gift Rule, the same number of coins is subtracted from the invoking player's number of coins.
If a player who does not have a positive number of coins invokes the Coin Gift Rule, the invocation of the coin gift rule is invalid.
If a gift via the Coin Gift Rule would cause the invoking player to have less than 0 coins, an amount equal to the invoking player's number of coins is given instead.
The Bleen/Grue Rule: The word "wins", if used in rules enacted before the beginning of April 13th 2019 A.D. (in UCT), is defined to mean something different from the standard meaning of wins and people who "win" are to be thought of as lower status.
The Fair Voting Proposition for Democracy: If a rule involves a vote with a single winner, and the voting system is not mentioned, then use approval voting by default.
The Anti-Paradox Rule: No rule may directly or indirectly cause a paradox or infinite logical loop.
Lost in Space Rule: If your location on the map (of the Physical Locality Rule) is longer than 16 characters in length, you can invoke this rule. Other players will propose new locations of no more than 16 characters in length in the replies to your invokation. The proposed location with the most upvotes, if this upvote count is positive, becomes your new location.
The Reddit Rule: Only reddit accounts may win.
submitted by AshLael to TheMotte [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]

Best Options Trading Books #Binary Options For Dummies Pdf Indicators on Top Five Books About Binary Options - Binary ... Trading Binary Options : Strategies and - Books Kinokuniya ... BINARY OPTIONS and FOREX PROFESSIOANL TRADING BOOKS Trading Binary Options: Strategies and Tactics - Google ... Top Guidelines Of Trading Binary Options: Strategies and ... NEW STRATEGY ║ trading binary options books - YouTube

If you're looking to start trading options, the best binary options books are a great resource to start your learning. We're looking at your best choices. Binary Options Trading Strategies; 1# 3 bars High or Low Binary Options Strategy; 2# Inside Bar , outside bar, Double inside bar Binary Options Strategy One Touch Strategy ; 3# 3° Candle Binary Options High/Low Stategy; 4# Binary Options Strategy with Hama Scalping System; 5# Binary Options One Touch Strategy Bollinger Bands and Zig Zag; 6#Binare Optionen Strategie Trend Momentum High/Low; 7 ... Fr om the buyer’s perspective, the main advantage of binary options trading is that the Risk taken is limited to the premium that the trader pays up front to take on a binary option position. So in above example, the Risk taken by the trader is limited to $100 in that particular position. This benefit means that the binary options trader can feel secure in knowing that their downside is ... To any beginner, trading binary options, be it the process of opening an account or placing an order, would look quite simple. On the contrary, any experienced binary options trader would vouch for the fact that trading binary options is as complex (if not more) as trading vanilla options. Profitable binary options trading strategies combine only the most efficient choices. This is the technique I developed trading binary options. This is the technique I want to share with you today. This technique generated 150% return by risking only 5% per trade “End of Day”options Something your broker doesn’t want you to know. Back in 2013 I started to experiment with strategy and ... Types of Binary Options Strategy. Binary options strategies are all different, but they have three common elements: Creation of a binary option signal and getting an indication of how to trade this signal; How much you should trade; Improving your strategy; The precise strategy can vary on each step, so there are a huge number of possibilities. The most important part of developing a ... 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 ... For individuals aspiring to become options traders, here are five of the best books that offer help in understanding and profiting from the options markets. Now we’re going to focus on step two, which is how to predict the price movement. If you manage to figure this out, then knowing how to make money trading binary options will be a piece of cake for you.. Now, before we’ll outline a method on how to make money trading binary options, we always recommend taking a piece of paper and a pen and take notes on the rules of the best binary options ... Strategy is a key element of long term successful binary options trading. The best binary trading strategies can be defined as: A method or signal which consistently makes a profit.Some strategies might focus on expiry times, like 60 second, 1 hour or end of day trades, others might use a particular system (like Martingale) or technical indicators like moving averages, Bollinger bands or ...

[index] [4159] [6508] [27510] [10561] [18432] [20288] [23866] [19188] [6852] [25936]

Best Options Trading Books #Binary Options For Dummies Pdf

Click The Following Link: https://bit.ly/32z9nNm - Trading Binary Options: Strategies and Tactics - Google Books for Beginners In this book, the simpleness o... See Page Here: https://bit.ly/31oekrP - Indicators on Top Five Books About Binary Options - Binary Trading You Need To Know Our Website Link: https://bit.ly/... Professional and high quality informations about trading the binary options market, the forex market and more. http://www.raziel-forex.com Binary options books, DVD's ... Advanced Binary Options Strategies On High Frequency FX Platform! SHARE! SHARE! SHARE! ... Books You Should Read - Option Strategies, Stocks technical - Duration: 6:36. Jonathan Rose 2,164 views ... Check Over Here: https://bit.ly/32BvjaW - Top Guidelines Of Trading Binary Options: Strategies and Tactics - Google Books You will find each of these subject... Hello everyone!:) My name is Anastasia, but it's too hard to pronounce, that's why you may call me just ANA. I'm a pro trader for more than 2 years already a... View Publisher Site Here: https://bit.ly/3gDt8t2 - Trading Binary Options : Strategies and - Books Kinokuniya Can Be Fun For Everyone Updated Jun, 2020 Class...

#