Binary Options Signals: Best Free Signals and Indicators

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]

The SS Cardif

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

Beginner's critiques of Rust

Hey all. I've been a Java/C#/Python dev for a number of years. I noticed Rust topping the StackOverflow most loved language list earlier this year, and I've been hearing good things about Rust's memory model and "free" concurrency for awhile. When it recently came time to rewrite one of my projects as a small webservice, it seemed like the perfect time to learn Rust.
I've been at this for about a month and so far I'm not understanding the love at all. I haven't spent this much time fighting a language in awhile. I'll keep the frustration to myself, but I do have a number of critiques I wouldn't mind discussing. Perhaps my perspective as a beginner will be helpful to someone. Hopefully someone else has faced some of the same issues and can explain why the language is still worthwhile.
Fwiw - I'm going to make a lot of comparisons to the languages I'm comfortable with. I'm not attempting to make a value comparison of the languages themselves, but simply comparing workflows I like with workflows I find frustrating or counterintuitive.
Docs
When I have a question about a language feature in C# or Python, I go look at the official language documentation. Python in particular does a really nice job of breaking down what a class is designed to do and how to do it. Rust's standard docs are little more than Javadocs with extremely minimal examples. There are more examples in the Rust Book, but these too are super simplified. Anything more significant requires research on third-party sites like StackOverflow, and Rust is too new to have a lot of content there yet.
It took me a week and a half of fighting the borrow checker to realize that HashMap.get_mut() was not the correct way to get and modify a map entry whose value was a non-primitive object. Nothing in the official docs suggested this, and I was actually on the verge of quitting the language over this until someone linked Tour of Rust, which did have a useful map example, in a Reddit comment. (If any other poor soul stumbles across this - you need HashMap.entry().or_insert(), and you modify the resulting entry in place using *my_entry.value = whatever. The borrow checker doesn't allow getting the entry, modifying it, and putting it back in the map.)
Pit of Success/Failure
C# has the concept of a pit of success: the most natural thing to do should be the correct thing to do. It should be easy to succeed and hard to fail.
Rust takes the opposite approach: every natural thing to do is a landmine. Option.unwrap() can and will terminate my program. String.len() sets me up for a crash when I try to do character processing because what I actually want is String.chars.count(). HashMap.get_mut() is only viable if I know ahead of time that the entry I want is already in the map, because HashMap.get_mut().unwrap_or() is a snake pit and simply calling get_mut() is apparently enough for the borrow checker to think the map is mutated, so reinserting the map entry afterward causes a borrow error. If-else statements aren't idiomatic. Neither is return.
Language philosophy
Python has the saying "we're all adults here." Nothing is truly private and devs are expected to be competent enough to know what they should and shouldn't modify. It's possible to monkey patch (overwrite) pretty much anything, including standard functions. The sky's the limit.
C# has visibility modifiers and the concept of sealing classes to prevent further extension or modification. You can get away with a lot of stuff using inheritance or even extension methods to tack on functionality to existing classes, but if the original dev wanted something to be private, it's (almost) guaranteed to be. (Reflection is still a thing, it's just understood to be dangerous territory a la Python's monkey patching.) This is pretty much "we're all professionals here"; I'm trusted to do my job but I'm not trusted with the keys to the nukes.
Rust doesn't let me so much as reference a variable twice in the same method. This is the functional equivalent of being put in a straitjacket because I can't be trusted to not hurt myself. It also means I can't do anything.
The borrow checker
This thing is legendary. I don't understand how it's smart enough to theoretically track data usage across threads, yet dumb enough to complain about variables which are only modified inside a single method. Worse still, it likes to complain about variables which aren't even modified.
Here's a fun example. I do the same assignment twice (in a real-world context, there are operations that don't matter in between.) This is apparently illegal unless Rust can move the value on the right-hand side of the assignment, even though the second assignment is technically a no-op.
//let Demo be any struct that doesn't implement Copy. let mut demo_object: Option = None; let demo_object_2: Demo = Demo::new(1, 2, 3); demo_object = Some(demo_object_2); demo_object = Some(demo_object_2); 
Querying an Option's inner value via .unwrap and querying it again via .is_none is also illegal, because .unwrap seems to move the value even if no mutations take place and the variable is immutable:
let demo_collection: Vec = Vec::::new(); let demo_object: Option = None; for collection_item in demo_collection { if demo_object.is_none() { } if collection_item.value1 > demo_object.unwrap().value1 { } } 
And of course, the HashMap example I mentioned earlier, in which calling get_mut apparently counts as mutating the map, regardless of whether the map contains the key being queried or not:
let mut demo_collection: HashMap = HashMap::::new(); demo_collection.insert(1, Demo::new(1, 2, 3)); let mut demo_entry = demo_collection.get_mut(&57); let mut demo_value: &mut Demo; //we can't call .get_mut.unwrap_or, because we can't construct the default //value in-place. We'd have to return a reference to the newly constructed //default value, which would become invalid immediately. Instead we get to //do things the long way. let mut default_value: Demo = Demo::new(2, 4, 6); if demo_entry.is_some() { demo_value = demo_entry.unwrap(); } else { demo_value = &mut default_value; } demo_collection.insert(1, *demo_value); 
None of this code is especially remarkable or dangerous, but the borrow checker seems absolutely determined to save me from myself. In a lot of cases, I end up writing code which is a lot more verbose than the equivalent Python or C# just trying to work around the borrow checker.
This is rather tongue-in-cheek, because I understand the borrow checker is integral to what makes Rust tick, but I think I'd enjoy this language a lot more without it.
Exceptions
I can't emphasize this one enough, because it's terrifying. The language flat up encourages terminating the program in the event of some unexpected error happening, forcing me to predict every possible execution path ahead of time. There is no forgiveness in the form of try-catch. The best I get is Option or Result, and nobody is required to use them. This puts me at the mercy of every single crate developer for every single crate I'm forced to use. If even one of them decides a specific input should cause a panic, I have to sit and watch my program crash.
Something like this came up in a Python program I was working on a few days ago - a web-facing third-party library didn't handle a web-related exception and it bubbled up to my program. I just added another except clause to the try-except I already had wrapped around that library call and that took care of the issue. In Rust, I'd have to find a whole new crate because I have no ability to stop this one from crashing everything around it.
Pushing stuff outside the standard library
Rust deliberately maintains a small standard library. The devs are concerned about the commitment of adding things that "must remain as-is until the end of time."
This basically forces me into a world where I have to get 50 billion crates with different design philosophies and different ways of doing things to play nicely with each other. It forces me into a world where any one of those crates can and will be abandoned at a moment's notice; I'll probably have to find replacements for everything every few years. And it puts me at the mercy of whoever developed those crates, who has the language's blessing to terminate my program if they feel like it.
Making more stuff standard would guarantee a consistent design philosophy, provide stronger assurance that things won't panic every three lines, and mean that yes, I can use that language feature as long as the language itself is around (assuming said feature doesn't get deprecated, but even then I'd have enough notice to find something else.)
Testing is painful
Tests are definitively second class citizens in Rust. Unit tests are expected to sit in the same file as the production code they're testing. What?
There's no way to tag tests to run groups of tests later; tests can be run singly, using a wildcard match on the test function name, or can be ignored entirely using [ignore]. That's it.
Language style
This one's subjective. I expect to take some flak for this and that's okay.
submitted by crab1122334 to rust [link] [comments]

First Contact - Part Sixty-One (Kark)

[first] [prev] [next]
Captain's Personal Log - Stardate 8532.299
Arrived at Starbase-4973 with the Dakota and our crew. Turned over information to the local Starfleet representative as well as SUDS data for the other ship's crews. Spoke to Commodore Dunsten of Starfleet who requested a template for what changes the Dakota has undergone. Was counseled that my point totals will not count toward any ladder rankings due to 'extreme non-canon changes' to the Dakota as well as my crew personal armaments and shuttle modifications.
In shocking news, the Battlestar Fleet and the Cylon Collection have arrived. Talk about the big guns. Those guys carry the big Creation Engines that can pump out a Viper or Cylon fighters in roughly 10 seconds with only a 30 second cooldown/slushdown feature.
Met with the Space Force representative and turned over my battle logs. He, in particular, wanted the in-depth scans we performed on the various Precursor ships. Our practice of boarding the ships is, at this time, the most common strategy.
We discussed the fact that Space Force considers forcing the Precursor vessels out of the system to by a phyrric victory and that the system will require a heavy metal posting. Was also informed that the fact that the Precursor fleet retreated from the planets and then from the system was a 'statistical oddity' and he wanted more scans. He also inquired as to whether or not I ran an in-depth scan on the gas giants, which is where the Goliaths were spawning from. I regret I had not, merely a scan for a Goliath.
He appears quite concerned with the actions undertaken but did congratulate me on defending the system.
Transphasic Photon Torpedoes are considered standard armaments for all Starfleet vessels from here on out. There is talk of smaller planet-crackers being put in use among the crew, but planet crackers rely on the mantle to core interaction. Quantum torpedoes are nothing option that I am seriously considering. Phased plasma torpedoes are largely considered in the OP-Class of weaponry but I am seriously considering just loading everything up and going for broke. Tricobalt missiles might be another option but the last time anyone used that was during the Fifth Dominion War. The Dakota is so far out of specifications that mounting such weapons is not as far fetched as it may have sounded a month ago.
It isn't like anything we're going to do is going to count for the leaderboads.
On a personal note, some of the crew members have reported headaches from their SUDS interfaces. McCoy is working on it, but he also warned that the transporter may have to be reconfigured after the discovery that the Precursors can hijack the signal and capture crew members that way.
Starfleet transporters are much more carefully aligned than the earlier 'mat-trans' and 'teleporter' systems used by the 40K LARPers. Safety interlocks prevent our transporters from being used in many cases that a teleporter could be used, require more power, and have a triple-feedback redunancy check.
An amusing point: Teleporter systems seem to go straight through the shields. McCoy and Spock both believe that lengthened amount of time for buffer checking allows the Precursor shielding to be adjusted for the algorythm used by Starfleet vessels.
Another amusing point: During my LFG call, the Wesleys were lined up around the station core. Nobody is taking them on these, despite the class advantages because, outside of structured missions for Starfleet Games, nobody is going to suddenly have Wesley Weaknesses just because.
On a personal note: My Riker has grown out his beard and has been socializing with his Space Force peers in order to get us more information on this threat.'
--Picard 8873
Captain's Personal Log - Stardate 8532.304
One thing they don't mention in the sheer amount of time you spend moving from place to place. Warp drive is highly efficient and safe compared to stringdrive, slipstream, gates, and jumpspace. Unlike hyperspace, AI's are able to remain conscious in warp. Still, I feel the urge to yell "GO FASTER" at the warp nacelles.
My Spock took me to the side and warned me that Starfleet vessels may be making a serious mistake. Often, the Precursors take damage and flee the system, using Hellspace to jump out. He has noticed that after roughly 8% of their structure is damaged they then flee. He also had checked Starfleet records.
I'm the only vessel, at this time, running transphasic photon torpedoes.
He has suggested an experiment. Utilize transphasic torpedoes, phased plasma torpedoes, but leave one out of every barrage of 10, with the phased plasma torpedoes, with a subspace beacon. In that manner, we can discover where they are running off to.
My Spock has put forward the theory, and my Scotty and LaForge, as well as my Riker, all agree.
They have refitting, repair, and construction bases somewhere.
Perhaps our plan to put a phased subspace beacon aboard one of the larger vessels will pan out.
I do feel concern about what my crew and I might find in a Precursor shipyward.
--Picard 8873
Captain's Personal Log - Stardate 8532.306
We have returned to the system that myself and the others had cleared. In particular, we are running long range sensor scans of the gas giants. My Chekov has suggested, and I concur, that getting in close and running more detailed but shorter range scans might put us too close.
I would really like to avoid a barrage of nCv shells.
Our Uhura (She's extremely qualified and did not object to me doublechecking her bonafides) is keeping a careful ear out for any Precursor transmissions.
I have left orders that at the faintest whisper of Precursor code the Dakota is to move to red alert.
The system looks empty, but there is something that makes me think that there are only four lights.
--Picard 8873
ADDENDUM: There is apparently no structures or other masses in the gas giant at the depths our long range passive scanners can reach.
Captain's Personal Log - Stardate 8532.307
Our Uhura spotted it first. Subspace whispers. Complex and shifting binary, barely audible. While others suggested we move in, trying to get a lock in on what was whispering across subspace in such a manner I ordered the ship to immediately go to silent running, no emissions.
We observed a Goliath exit Hellspace near the larger gas giant, streaming vapor and metal, its attendant vessels exiting with it. As we watched it allowed the attendant vessels to board through the massive docking ports.
Sidenote: Some of those docking bays are the size of the real San Francisco Ultraplex.
The 'whispers' picked up and the massive Goliath sank into the gas giant.
My crew's estimation that the three initially engaged Goliaths of our last action had repaired themselves was confirmation bias.
For a bare moment the whisper got louder and the Goliath that had sunk into the gas giant was in plain view on our passive long range scanners then it simply vanished.
The belief of my Spock and Scotty is that the Precursors have some kind of shielded refit structure inside the gas giant beyond the scanner horizon. LaForge has stated that the pressures at such depth would make any construction or repairs inordinately difficult.
My Riker reminded LaForge that the Precursors were engaged in a war when they vanished and these bases are not only war-time bases, but that there are no living crews to worry about.
I ordered my crew to remain on silent running. There is enough debris on that planet to cover a probe approach. My LaForge has suggested putting a probe data relay in the Oort Cloud to give the signals a few 'bounces' and to use only phased tachyon streams with reversed polarity.
Sometimes I wish we didn't have all our own names for technology. Why could he have just said paired quark communications?
--Picard 8873
Captain's Personal Log - Stardate 8532.309
The probe was moved into place carefully, following a piece of debris from the previous battle. During this time our Uhura caught another scrap of what she has come to call "Precursor Whispers" from the other gas giant.
My Spock reminded me that the intense pressures inside a massive gas giant could make foundry work easier, allowing the creation of hyperalloys that we need massive foundries for to utilize the inherent pressures of a massive gas giant to create 'alloy farms' inside the gas giant.
A disturbing thought indeed.
Another ship type has arrived, which I have labeled the Enki class Precursor, has arrived and taken to carefully going over the debris fields of the Starfleet battle.
Thankfully the Klingon and Romulan officers routinely utilize anti-matter charges to clear any debris from the destruction of our ships.
It moved to the wreckage of the mining ship and has been spending time there. It is at extreme range and I am becoming nervous about what it is doing.
The Precursor attitudes within this star system are concerning.
Have you ever looked at an inanimate machine, with no living characterization like a Data possesses, and thought to yourself "What are you up to?" as you watched it?
I have that unique experience.
They are up to something.
--Picard 8873
Captain's Personal Log - Stardate 8532.310
The probe provided us with valuable information that is critical to disseminate.
We are now, to use my Riker's phrase: running like a bat out of hell.
Passive scans can only penetrate to a certain depth within a gas giant. Starfleet has been largely worried about planetary scans as well as deep space and intrasystem scans. Combine it with the fact we use a lot of gamification in our systems, gas giants were largely used as "spawn points" for crafts. This meant that, naturally, our scanners largely could not penetrate deeply into gas giants.
My Scotty and LaForge re-calibrated the sensor arrays to get a good look inside the gas giant.
My Spock was right. The Precursor was 'growing' large alloy fields down there. There was a repair and manufacturing base the size a continent down inside the gas giant with massive 'alloy farms' around it. Before the scale would have shocked me until my Spock pointed out that the Great Eye of Jupiter is twice the size of Terra itself. Nearly two dozen Precursor vessels were 'docked' at the facility.
Discussions on how to 'deal with' this massive repair and refit base were discussed at a closed meeting of my command crew. It ranged from using a Genesis Device on the gas giant (Not recommended. My LaForge stated that the Precursor ships we are facing here are more adept at 'learning' than previously encountered Precursor types and the last thing we should do is provide them with planet killers that create more resources) to attempting to use a modified planet cracker on the gas giant (Again, tabled due to concerns the Precursors would imitate it).
We settled on phasic trans-phasic photon torpedoes mixed with tricobat missiles.
Out attack was dual: Destroy the debris field of the Romulus class mining vessel, which was being thoroughly combed over by Enki class Precursor vessels, damage or perhaps even destroy the facility and the 'alloy farms' inside the gas giants.
We came in from above the stellar plane, at a high velocity angle. When facing Precursor vessels your speed and maneuverability are key to staying alive. We fired probes while still 25 million miles above the stellar plane. We came in with only debris shields at full power.
The probes reported back that while there were life signs on the planets in the Green and Amber zones the Precursor vessels around those planets and upon the surface were not engaged in wholesale slaughter or destruction. We practically turned the sensors inside out getting deep scans of everything.
Once in range (Starfleet weaponry is somewhat, to use my Riker's term: short legged compared to Space Force line weaponry) I ordered a full scan at maximum power and resolution. Normally this is avoided to prevent damage to sentient beings and xeno-species but the Precursors aren't a foe that one should concern themselves with scanner-burn.
Percursor vessels were not rising from the gas giants. While some immediately launched or moved to engage us from various points in the system, sheer distance and geometry prevented any attacks. At 30 million miles even nCv weapons or phaser beams move too slowly to engage a ship the size of the Dakota. We launched weapons and immediately began accelerating to be able to put enough distance between any Precursor vehicles and our own vessel.
We got our scan data back and immediately realized that engaging the Precursor vessels was now a secondary, if not tertiary, mission.
All four of the gas giants contained refit facilities of a size that is best described as 'geological'.
That was not the key data.
Our Uhura was able to isolate the 'Precursor Whisper' and while unable to decode it, was able to confirm what it is.
FTL data-streams.
Their battle, strategic, and tactical network.
The planets, while full of life and possessing several species known to be "Unified Civilized Races", were all at Stone Age technology. Precursor vessels were moving to protect the planets and their inhabitants for an unknown reason.
This information is vital to Starfleet, Space Force, and all other Confederacy organizations.
--Picard 8873
Captain's Personal Log - Stardate 8532.311
The Dakota has now had its very own AbramsKhan moment.
We were fired on in warp drive.
The Precursor vessel mounted one of the Galaxy class Starfleet vessel's engines and pursued us. With a lighter frame, higher energy output, and not having to concern itself with warp drive effects upon living beings, it was not only able to catch up to us, but fire upon us.
My Riker has stated that anyone who mocks up for having such thick armor after this will be starting a brawl.
We are alive only because of my insistence on heavy armor, structural integrity fields running the same type of shield frequency algorithms as our main deflector shields, with dual structural fields layered between armor and structural layers.
Immediately upon being fired upon we dropped out of warp drive to engage the small Precursor vessel. Chekov stated it would be between stellar bodies and it should have been a bare battlefield with not even gas wisps.
Instead, we dropped into a half dozen Jotun class vessels waiting for us.
We are currently undergoing evasive warp maneuvering as estimated by my Spock and my LaForge.
--Picard 8873
Captain's Personal Log - Stardate 8532.313
They're attempting to "drive" us deeper into the Dead Zone.
This gives us a fairly unusual opportunity. We can see what they are attempting to push us into or we can attempt to escape.
Spock and Scotty believe that it is imperative we discover what it is that the Precursors believe can take us out compared to the Jotuns following us.
Riker and LaForge maintain our goal should be reaching Federation/Confederate Space.
I believe I have a better idea.
--Picard 8873
Captain's Log - Stardate 8532.315
Rather than allow us to be pushed further into the Dead Zone I ordered the ship to move at a right angle to the galactic plane at full warp 9.3. While this can interfere with SUDS uploads and storage I have decided that the risk is necessary.
Captain's Log - Stardate 8532.317
The Precursor machines are still in close pursuit. They are arranging for attempted ambushes. LaForge has theorized that the one following us, which is a warp capable photon-torpedo launcher welded to the the Galaxy class engine and wrapped in neutronium armor, sends out a "whisper" as soon as it sees the 'warp flare' from our engines. That enables the Precursor vessels to Helljump to where we will be exiting.
Scotty has a plan.
Luckily, I did not dump my old class data, so I have a Kirk knowledge database.
Spock is overriding the interlocks to allow me to access that knowledge.
It is risky, but acceptable.
Captain's Log - Stardate 8532.317 - Supplmental
By utilizing the holodeck, a blank SUDS, and carefully aligned emitters, Spock believes I will be able to load the data from the Kirk character class into my memories despite being a Picard. He will attempt to use his Mind Meld ability to keep me from collapsing under a dual class.
The Precursor Pursuer will be in range inside of 30 minutes.
I have no choice.
Captain's Personal Log - Stardate 8532.317.7
The melding was somewhat successful. I have conflicting emotions and desires regarding many subjects but thankfully both my knowledge and personality templates are Starfleet officers. By use of the Mind Meld my Spock was able to use an older exploit involving class rank and player knowledge.
Contrary to popular opinion, Kirk classes are not womanizing hot-heads (Despite AbramsEra semi-canon) but rather highly innovative early Starfleet officers. It is just that the mission files force Kirk to use half-experimental technology in innovative ways in order to overcome unknown experiences and foes. One of the things often overlooked is Kirk made the rank of Admiral and was quite cautious in many ways.
Still, the dissonance between a Picard and a Kirk class is quite intense.
I am suffering nosebleeds. McCoy says it is from intercranial pressure as my brain attempts to sort through the information.
I have not informed him of the fact I have a severe SUDS hangover.
--Picark 8873
Captain's Log - Stardate 8532.318
After examining old scans of the Galaxy class ship that was defeated I was able to ascertain its hull number. Using that number, and knowledge possessed by an Admiral Level Kirk Class, when the Precursor Pursuer came close enough to fire I was able to drop its warp-shields. The Precursor Pursuer was exposed to raw warp energy at that time, inhibiting its ability to see the Dakota, specifically causing us to appear much further ahead in the warp conduit.
The Precursor Pursuer fell back and I ordered the Dakota to move to Emergency Warp Speed.
9.998 Okuda Scale
The Precursor Pursuer immediately went to maximum speed of the Galaxy class engine attached to little more than armor, bare shields, and a torpedo launcher.
Warp 10.
Without Transwarp shielding or any other technology, the Precursor Pursuer achieved infinite velocity and infinite mass.
The explosion damaged the Dakota and left us drifting in normal space.
Scotty and LaForce estimate repair times of 3 weeks.
--Picark 8873
Captain's Log - Stardate 8532.325
We are again underway after our successful destruction of the Precursor Pursuit vessel.
Maximum warp is limited to Warp 5.4.
Estimated time of arrival at Starbase 4973 is 11 days.
--Picark 8873
Captain's Personal Log - Stardate 8532.332
My SUDS has been scrambled and bad. I'm no longer Jeffery van Leedle, born on Rigel, but instead and curious combination of the character neural templates and my old personality.
Scotty, McCoy, and LaForge are examining me. Not in any hopes of untwining the personalities, but rather to forward the information to SoulNet in hopes that it can be prevented for occurring to others, no matter how unusual the circumstances.
The 'Gamed' memories no longer have the distinguishable overlay that Starfleet uses for safety measures. Instead, all of my memories feel the same.
Which is... confusing.
I remember racing a motorcycle in the wheat fields of Oklahoma, outside of Paris, under a Rigellian red sky.
My gestalt personality agrees that it is worth it for the information we have and to save my ship and my crew.
--Jeff Picark 8873
Captain's Log - Stardate 8532.334
Pro-term Acting Captain Riker-2173 commanding. Previous Captain suffering the effects of the SUDS/Template merger needed to access information to allow the destruction of the Precursor Pursuer.
Captain Jeff Picark was relieved of command, with acceptance and willingly, two hours ago.
Bridge and Command Officers are in agreement with this action.
We are two days out of Starbase 4973.
--Riker 2173
Captain's Personal Log - Stardate 8532.335
Would I have done it, knowing what I do now?
Yes.
My SUDS cannot update. The neural template recordings fragment and unravel.
I am no longer immortal.
But there is no such thing as only human. Humans, without the SUDS, accomplished incredible feats with just grit and determination.
However, I can no longer participate in active combat Starfleet games. Two hundred years of LARP down the tubes.
I made a good choice with my Riker. The hardest thing to do is relieve your Captain for cause.
He had good cause.
--Jeff Picark 8873
Captain's Log - Stardate 8532.336
I have docked the Dakota and am granting shore leave to crew. Captain Picark was taken to the Space Force infirmary via stretcher with McCoy in attendance.
Our mission is complete. Space Force has our data in their possession.
For some reason, the Precursors keep entire worlds of roughly half the xeno-sapients of the Unified Civilized Races.
Gas Giants must now be treated as Precursor base risks.
I am hoping "Jeff" recovers. The fact that he remembered an ancient piece of lore from OldTrekKhan is, honestly, impressive. Undergoing an in-mission partial respec was risky.
Will report to Starfleet and see what happens.
--Riker 2173
---------------------------
STARFLEET GAMING CENTRAL NOTICE
Jeffery van Leedle, player number 7c345a7e1-8873, is hereby promoted to Starfleet Admiral and is hereby recalled to Earth-42 to Starfleet Headquarters in New-SanFran.
In accordance to his wishes the Dakota a non-canon America class ship, is hereby given to Riker 56a817c38f2-2173, including all templates and player rewards.
-----NOTHING FOLLOWS-------
SPACE FORCE MEMO
ALL CAPTAINS
Initial estimations of 30-50 Goliath class total forces in is error.
New ship types encountered, new facilities discovered (See Attached File).
-----NOTHING FOLLOWS---------
CONFED MEMO
Mantid, any idea what this is about?
----NOTHING FOLLOWS-------
MANTID FREE WORLDS
Beyond "cattle worlds" we cannot estimate why Precursors, of all things, would have the older races, reduced to primitive, on worlds just being observed.
-----NOTHING FOLLOWS--------
BLACK CRUSADE
Experimentation, idiots. That Balor Hellship should have made you think of that.
They're trying to figure out a way to counter us.
------NOTHING FOLLOWS------
submitted by Ralts_Bloodthorne to HFY [link] [comments]

Step-by-Step Guide for Adding a Stack, Expanding Control Lines, and Building an Assembler

After the positive response to my first tutorial on expanding the RAM, I thought I'd continue the fun by expanding the capabilities of Ben's 8-bit CPU even further. That said, you'll need to have done the work in the previous post to be able to do this. You can get a sense for what we'll do in this Imgur gallery.
In this tutorial, we'll balance software and hardware improvements to make this a pretty capable machine:

Parts List

To only update the hardware, you'll need:
If you want to update the toolchain, you'll need:
  1. Arduino Mega 2560 (Amazon) to create the programmer.
  2. Ribbon Jumper Cables (Amazon) to connect the Arduino to the breadboard.
  3. TL866 II Plus EEPROM Programmer (Amazon) to program the ROM.
Bonus Clock Improvement: One additional thing I did is replace the 74LS04 inverter in Ben's clock circuit with a 74LS14 inverting Schmitt trigger (datasheet, Jameco). The pinouts are identical! Just drop it in, wire the existing lines, and then run the clock output through it twice (since it's inverting) to get a squeaky clean clock signal. Useful if you want to go even faster with the CPU.

Step 1: Program with an Arduino and Assembler (Image 1, Image 2)

There's a certain delight in the physical programming of a computer with switches. This is how Bill Gates and Paul Allen famously programmed the Altair 8800 and started Microsoft. But at some point, the hardware becomes limited by how effectively you can input the software. After upgrading the RAM, I quickly felt constrained by how long it took to program everything.
You can continue to program the computer physically if you want and even after upgrading that option is still available, so this step is optional. There's probably many ways to approach the programming, but this way felt simple and in the spirit of the build. We'll use an Arduino Mega 2560, like the one in Ben's 6502 build, to program the RAM. We'll start with a homemade assembler then switch to something more robust.
Preparing the Physical Interface
The first thing to do is prepare the CPU to be programmed by the Arduino. We already did the hard work on this in the RAM upgrade tutorial by using the bus to write to the RAM and disconnecting the control ROM while in program mode. Now we just need to route the appropriate lines to a convenient spot on the board to plug the Arduino into.
  1. This is optional, but I rewired all the DIP switches to have ground on one side, rather than alternating sides like Ben's build. This just makes it easier to route wires.
  2. Wire the 8 address lines from the DIP switch, connecting the side opposite to ground (the one going to the chips) to a convenient point on the board. I put them on the far left, next to the address LEDs and above the write button circuit.
  3. Wire the 8 data lines from the DIP switch, connecting the side opposite to ground (the one going to the chips) directly below the address lines. Make sure they're separated by the gutter so they're not connected.
  4. Wire a line from the write button to your input area. You want to connect the side of the button that's not connected to ground (the one going to the chip).
So now you have one convenient spot with 8 address lines, 8 data lines, and a write line. If you want to get fancy, you can wire them into some kind of connector, but I found that ribbon jumper cables work nicely and keep things tidy.
The way we'll program the RAM is to enter program mode and set all the DIP switches to the high position (e.g., 11111111). Since the switches are upside-down, this means they'll all be disconnected and not driving to ground. The address and write lines will simply be floating and the data lines will be weakly pulled up by 1k resistors. Either way, the Arduino can now drive the signals going into the chips using its outputs.
Creating the Arduino Programmer
Now that we can interface with an Arduino, we need to write some software. If you follow Ben's 6502 video, you'll have all the knowledge you need to get this working. If you want some hints and code, see below (source code):
  1. Create arrays for your data and address lines. For example: const char ADDRESS_LINES[] = {39, 41, 43, 45, 47, 49, 51, 53};. Create your write line with #define RAM_WRITE 3.
  2. Create functions to enable and disable your address and data lines. You want to enable them before writing. Make sure to disable them afterward so that you can still manually program using DIP switches without disconnecting the Arduino. The code looks like this (just change INPUT to OUTPUT accordingly): for(int n = 0; n < 8; n += 1) { pinMode(ADDRESS_LINES[n], OUTPUT); }
  3. Create a function to write to an address. It'll look like void writeData(byte writeAddress, byte writeData) and basically use two loops, one for address and one for data, followed by toggling the write.
  4. Create a char array that contains your program and data. You can use #define to create opcodes like #define LDA 0x01.
  5. In your main function, loop through the program array and send it through writeData.
With this setup, you can now load multi-line programs in a fraction of a second! This can really come in handy with debugging by stress testing your CPU with software. Make sure to test your setup with existing programs you know run reliably. Now that you have your basic setup working, you can add 8 additional lines to read the bus and expand the program to let you read memory locations or even monitor the running of your CPU.
Making an Assembler
The above will serve us well but it's missing a key feature: labels. Labels are invaluable in assembly because they're so versatile. Jumps, subroutines, variables all use labels. The problem is that labels require parsing. Parsing is a fun project on the road to a compiler but not something I wanted to delve into right now--if you're interested, you can learn about Flex and Bison. Instead, I found a custom assembler that lets you define your CPU's instruction set and it'll do everything else for you. Let's get it setup:
  1. If you're on Windows, you can use the pre-built binaries. Otherwise, you'll need to install Rust and compile via cargo build.
  2. Create a file called 8bit.cpu and define your CPU instructions (source code). For example, LDA would be lda {address} -> 0x01 @ address[7:0]. What's cool is you can also now create the instruction's immediate variant instead of having to call it LDI: lda #{value} -> 0x05 @ value[7:0].
  3. You can now write assembly by adding #include "8bit.cpu" to the top of your code. There's a lot of neat features so make sure to read the documentation!
  4. Once you've written some assembly, you can generate the machine code using ./customasm yourprogram.s -f hexc -p. This prints out a char array just like our Arduino program used!
  5. Copy the char array into your Arduino program and send it to your CPU.
At this stage, you can start creating some pretty complex programs with ease. I would definitely play around with writing some larger programs. I actually found a bug in my hardware that was hidden for a while because my programs were never very complex!

Step 2: Expand the Control Lines (Image)

Before we can expand the CPU any further, we have to address the fact we're running out of control lines. An easy way to do this is to add a 3rd 28C16 ROM and be on your way. If you want something a little more involved but satisfying, read on.
Right now the control lines are one hot encoded. This means that if you have 4 lines, you can encode 4 states. But we know that a 4-bit binary number can encode 16 states. We'll use this principle via 74LS138 decoders, just like Ben used for the step counter.
Choosing the Control Line Combinations
Everything comes with trade-offs. In the case of combining control lines, it means the two control lines we choose to combine can never be activated at the same time. We can ensure this by encoding all the inputs together in the first 74LS138 and all the outputs together in a second 74LS138. We'll keep the remaining control lines directly connected.
Rewiring the Control Lines
If your build is anything like mine, the control lines are a bit of a mess. You'll need to be careful when rewiring to ensure it all comes back together correctly. Let's get to it:
  1. Place the two 74LS138 decoders on the far right side of the breadboard with the ROMs. Connect them to power and ground.
  2. You'll likely run out of inverters, so place a 74LS04 on the breadboard above your decoders. Connect it to power and ground.
  3. Carefully take your inputs (MI, RI, II, AI, BI, J) and wire them to the outputs of the left 74LS138. Do not wire anything to O0 because that's activated by 000 which won't work for us!
  4. Carefully take your outputs (RO, CO, AO, EO) and wire them to the outputs of the right 74LS138. Remember, do not wire anything to O0!
  5. Now, the 74LS138 outputs are active low, but the ROM outputs were active high. This means you need to swap the wiring on all your existing 74LS04 inverters for the LEDs and control lines to work. Make sure you track which control lines are supposed to be active high vs. active low!
  6. Wire E3 to power and E2 to ground. Connect the E1 on both 138s together, then connect it to the same line as OE on your ROMs. This will ensure that the outputs are disabled when you're in program mode. You can actually take off the 1k pull-up resistors from the previous tutorial at this stage, because the 138s actively drive the lines going to the 74LS04 inverters rather than floating like the ROMs.
At this point, you really need to ensure that the massive rewiring job was successful. Connect 3 jumper wires to A0-A2 and test all the combinations manually. Make sure the correct LED lights up and check with a multimeteoscilloscope that you're getting the right signal at each chip. Catching mistakes at this point will save you a lot of headaches! Now that everything is working, let's finish up:
  1. Connect A0-A2 of the left 74LS138 to the left ROM's A0-A2.
  2. Connect A0-A2 of the right 74LS138 to the right ROM's A0-A2.
  3. Distribute the rest of the control signals across the two ROMs.
Changing the ROM Code
This part is easy. We just need to update all of our #define with the new addresses and program the ROMs again. For clarity that we're not using one-hot encoding anymore, I recommend using hex instead of binary. So instead of #define MI 0b0000000100000000, we can use #define MI 0x0100, #define RI 0x0200, and so on.
Testing
Expanding the control lines required physically rewiring a lot of critical stuff, so small mistakes can creep up and make mysterious errors down the road. Write a program that activates each control line at least once and make sure it works properly! With your assembler and Arduino programmer, this should be trivial.
Bonus: Adding B Register Output
With the additional control lines, don't forget you can now add a BO signal easily which lets you fully use the B register.

Step 3: Add a Stack (Image 1, Image 2)

Adding a stack significantly expands the capability of the CPU. It enables subroutines, recursion, and handling interrupts (with some additional logic). We'll create our stack with an 8-bit stack pointer hard-coded from $0100 to $01FF, just like the 6502.
Wiring up the Stack Pointer
A stack pointer is conceptually similar to a program counter. It stores an address, you can read it and write to it, and it increments. The only difference between a stack pointer and a program counter is that the stack pointer must also decrement. To create our stack pointer, we'll use two 74LS193 4-bit up/down binary counters:
  1. Place a 74LS00 NAND gate, 74LS245 transceiver, and two 74LS193 counters in a row next to your output register. Wire up power and ground.
  2. Wire the the Carry output of the right 193 to the Count Up input of the left 193. Do the same for the Borrow output and Count Down input.
  3. Connect the Clear input between the two 193s and with an active high reset line. The B register has one you can use on its 74LS173s.
  4. Connect the Load input between the two 193s and to a new active low control line called SI on your 74LS138 decoder.
  5. Connect the QA-QD outputs of the lower counter to A8-A5 and the upper counter to A4-A1. Pay special attention because the output are in a weird order (BACD) and you want to make sure the lower A is connected to A8 and the upper A is connected to A4.
  6. Connect the A-D inputs of the lower counter to B8-B5 and the upper counter to B4-B1. Again, the inputs are in a weird order and on both sides of the chip so pay special attention.
  7. Connect the B1-B8 outputs of the 74LS245 transceiver to the bus.
  8. On the 74LS245 transceiver, connect DIR to power (high) and connect OE to a new active low control line called SO on your 74LS138 decoder.
  9. Add 8 LEDs and resistors to the lower part of the 74LS245 transceiver (A1-A8) so you can see what's going on with the stack pointer.
Enabling Increment & Decrement
We've now connected everything but the Count Up and Count Down inputs. The way the 74LS193 works is that if nothing is counting, both inputs are high. If you want to increment, you keep Count Down high and pulse Count Up. To decrement, you do the opposite. We'll use a 74LS00 NAND gate for this:
  1. Take the clock from the 74LS08 AND gate and make it an input into two different NAND gates on the 74LS00.
  2. Take the output from one NAND gate and wire it to the Count Up input on the lower 74LS193 counter. Take the other output and wire it to the Count Down input.
  3. Wire up a new active high control line called SP from your ROM to the NAND gate going into Count Up.
  4. Wire up a new active high control line called SM from your ROM to the NAND gate going into Count Down.
At this point, everything should be working. Your counter should be able to reset, input a value, output a value, and increment/decrement. But the issue is it'll be writing to $0000 to $00FF in the RAM! Let's fix that.
Accessing Higher Memory Addresses
We need the stack to be in a different place in memory than our regular program. The problem is, we only have an 8-bit bus, so how do we tell the RAM we want a higher address? We'll use a special control line to do this:
  1. Wire up an active high line called SA from the 28C16 ROM to A8 on the Cypress CY7C199 RAM.
  2. Add an LED and resistor so you can see when the stack is active.
That's it! Now, whenever we need the stack we can use a combination of the control line and stack pointer to access $0100 to $01FF.
Updating the Instruction Set
All that's left now is to create some instructions that utilize the stack. We'll need to settle some conventions before we begin:
If you want to add a little personal flair to your design, you can change the convention fairly easily. Let's implement push and pop (source code):
  1. Define all your new control lines, such as #define SI 0x0700 and #define SO 0x0005.
  2. Create two new instructions: PSH (1011) and POP (1100).
  3. PSH starts the same as any other for the first two steps: MI|CO and RO|II|CE. The next step is to put the contents of the stack pointer into the address register via MI|SO|SA. Recall that SA is the special control line that tells the memory to access the $01XX bank rather than $00XX.
  4. We then take the contents of AO and write it into the RAM. We can also increment the stack pointer at this stage. All of this is done via: AO|RI|SP|SA, followed by TR.
  5. POP is pretty similar. Start off with MI|CO and RO|II|CE. We then need to take a cycle and decrement the stack pointer with SM. Like with PSH, we then set the address register with MI|SO|SA.
  6. We now just need to output the RAM into our A register with RO|AI|SA and then end the instruction with TR.
  7. Updating the assembler is easy since neither instruction has operands. For example, push is just psh -> 0x0B.
And that's it! Write some programs that take advantage of your new 256 byte stack to make sure everything works as expected.

Step 4: Add Subroutine Instructions (Image)

The last step to complete our stack is to add subroutine instructions. This allows us to write complex programs and paves the way for things like interrupt handling.
Subroutines are like a blend of push/pop instructions and a jump. Basically, when you want to call a subroutine, you save your spot in the program by pushing the program counter onto the stack, then jumping to the subroutine's location in memory. When you're done with the subroutine, you simply pop the program counter value from the stack and jump back into it.
We'll follow 6502 conventions and only save and restore the program counter for subroutines. Other CPUs may choose to save more state, but it's generally left up to the programmer to ensure they're not wiping out states in their subroutines (e.g., push the A register at the start of your subroutine if you're messing with it and restore it before you leave).
Adding an Extra Opcode Line
I've started running low on opcodes at this point. Luckily, we still have two free address lines we can use. To enable 5-bit opcodes, simply wire up the 4Q output of your upper 74LS173 register to A7 of your 28C16 ROM (this assumes your opcodes are at A3-A6).
Updating the ROM Writer
At this point, you simply need to update the Arduino writer to support 32 instructions vs. the current 16. So, for example, UCODE_TEMPLATE[16][8] becomes UCODE_TEMPLATE[32][8] and you fill in the 16 new array elements with nop. The problem is that the Arduino only has so much memory and with the way Ben's code is written to support conditional jumps, it starts to get tight.
I bet the code can be re-written to handle this, but I had a TL866II Plus EEPROM programmer handy from the 6502 build and I felt it would be easier to start using that instead. Converting to a regular C program is really simple (source code):
  1. Copy all the #define, global const arrays (don't forget to expand them from 16 to 32), and void initUCode(). Add #include and #include to the top.
  2. In your traditional int main (void) C function, after initializing with initUCode(), make two arrays: char ucode_upper[2048] and char ucode_lower[2048].
  3. Take your existing loop code that loops through all addresses: for (int address = 0; address < 2048; address++).
  4. Modify instruction to be 5-bit with int instruction = (address & 0b00011111000) >> 3;.
  5. When writing, just write to the arrays like so: ucode_lower[address] = ucode[flags][instruction][step]; and ucode_upper[address] = ucode[flags][instruction][step] >> 8;.
  6. Open a new file with FILE *f = fopen("rom_upper.hex", "wb");, write to it with fwrite(ucode_upper, sizeof(char), sizeof(ucode_upper), f); and close it with fclose(f);. Repeat this with the lower ROM too.
  7. Compile your code using gcc (you can use any C compiler), like so: gcc -Wall makerom.c -o makerom.
Running your program will spit out two binary files with the full contents of each ROM. Writing the file via the TL866II Plus requires minipro and the following command: minipro -p CAT28C16A -w rom_upper.hex.
Adding Subroutine Instructions
At this point, I cleaned up my instruction set layout a bit. I made psh and pop 1000 and 1001, respectively. I then created two new instructions: jsr and rts. These allow us to jump to a subroutine and returns from a subroutine. They're relatively simple:
  1. For jsr, the first three steps are the same as psh: MI|CO, RO|II|CE, MI|SO|SA.
  2. On the next step, instead of AO we use CO to save the program counter to the stack: CO|RI|SP|SA.
  3. We then essentially read the 2nd byte to do a jump and terminate: MI|CO, RO|J.
  4. For rts, the first four steps are the same as pop: MI|CO, RO|II|CE, SM, MI|SO|SA.
  5. On the next step, instead of AI we use J to load the program counter with the contents in stack: RO|J|SA.
  6. We're not done! If we just left this as-is, we'd jump to the 2nd byte of jsr which is not an opcode, but a memory address. All hell would break loose! We need to add a CE step to increment the program counter and then terminate.
Once you update the ROM, you should have fully functioning subroutines with 5-bit opcodes. One great way to test them is to create a recursive program to calculate something--just don't go too deep or you'll end up with a stack overflow!

Conclusion

And that's it! Another successful upgrade of your 8-bit CPU. You now have a very capable machine and toolchain. At this point I would have a bunch of fun with the software aspects. In terms of hardware, there's a number of ways to go from here:
  1. Interrupts. Interrupts are just special subroutines triggered by an external line. You can make one similar to how Ben did conditional jumps. The only added complexity is the need to load/save the flags register since an interrupt can happen at any time and you don't want to destroy the state. Given this would take more than 8 steps, you'd also need to add another line for the step counter (see below).
  2. ROM expansion. At this point, address lines on the ROM are getting tight which limits any expansion possibilities. With the new approach to ROM programming, it's trivial to switch out the 28C16 for the 28C256 that Ben uses in the 6502. These give you 4 additional address lines for flags/interrupts, opcodes, and steps.
  3. LCD output. At this point, adding a 16x2 character LCD like Ben uses in the 6502 is very possible.
  4. Segment/bank register. It's essentially a 2nd memory address register that lets you access 256-byte segments/banks of RAM using bank switching. This lets you take full advantage of the 32K of RAM in the Cypress chip.
  5. Fast increment instructions. Add these to registers by replacing 74LS173s with 74LS193s, allowing you to more quickly increment without going through the ALU. This is used to speed up loops and array operations.
submitted by MironV to beneater [link] [comments]

First Contact - Part Twenty-Three

[first] [prev] [next]
The Devastator class Precursor machine was the size of a large metropolis. Full of ground combat machines, air superiority machines, mining and reclamation machines that could move under their own power and were festooned with a thousand weapons. It was over a hundred million years old and had exterminated life on planets with its massive guns, with biowarfare, with chemical warfare, and with good old nuclear fire. It had wiped away planet after planet of the enemies cattle, the hated enemy's food sources, before finally following orders of the greater machines and going into sleep mode on a dead world.
Now the call had sounded out. Cattle had run amuck, even learning jumpspace technology. That meant the enemy had not been defeated, that his food source had multiplied into the trillions while the Devastator had slumbered, slowly sinking into the crust of the barren planet.
That was of no moment. Cattle could not fight back, that was why they were cattle. They knew nothing but safety and the security of numbers, willing to trade their own safety for the suffering of others. The cattle willingly marched into the pens if the pens promised safety.
The cattle were not the problem.
It was the feral intelligence that were the problem. Feral intelligence could fight. They knew nothing else. They cared for nothing else. A feral intelligence always destroyed itself once it could wield nuclear fire. The universe had proved it over and over even before the great machine had gone into slumber.
The call had sounded out, informing the machines that cattle had broken loose from the pens. The Devastator had computed that the problem would be solved quickly, with a minimum expenditure of resources, and had started to go back into slumber.
That was when the second call sounded. A feral intelligence had mastered FTL travel and had turned all of their unthinking violence against the Precursor war machines.
The Devastator considered the chances of the feral intelligence lasting long enough to withstand his brethren's assault, withstand purification and pacification.
It was mathematically insignificant. Not zero, but close enough that it required an application of resource driven computation to analyze it.
Feral intelligences always destroyed themselves.
The Devastator knew this. Had it encoded into its very bones. It did not feel the electronic version of caution as it moved into the planetary system, exiting faster than light travel. It screeched out its warcry as it exited into the system and brought up its scanners.
It felt the electronic version of anticipation as it detected orbital facilities around two planets that teemed with billions of cattle, as it tasted jumpspace wake trails, as it felt the presence of a small, insignificant amount of cattle space vessels arrayed to attempt to stand against it near the outer gas giant.
It was a waste of resources.
Cattle could not withstand machines.
It was as solid a fact as radioactive decay and as impossible to stop.
It roared and turned to accelerate toward the cattle ships waiting on the other side of the gas giant, letting them know the futility of their resistance and that nothing could stop it from destroying them any more than they could stop entropy.
It felt electronic satisfaction as nearly 10% of the cattle ships broke formation and fled for the planets.
The cattle ships lit their engines, trying to keep the gas giant between them and the great Precursor machine but the Devastator knew it would do no good. It would ensure they were caught mathematically opposite of it and begin launching subsidiary craft to destroy them and reclaim the resources of their wreckage.
The Devastator slowed as it approached the gas giant, ancient code pulsing impulses into the electronic brain at the mathematical certainty of destroying the cattle's defenses and thus weakening the hated enemy.
pssst... over here...
The transmission was in binary. The basic code, on a low band that the Devastator used to contact and exchange data with its peers. The signal origin was close, just behind it, in the gap between two point defense radars.
The Devastator tumbled as it slowed, searching with its senses to check that tiniest of gaps in its sensors. It could detect nothing out of the ordinary. The fact that the gas giant had a high level of hydrocarbon and pseudo-organic compounds was a high certainty with most gas giants of that size. The Devastator cast around, knowing the cattle had not sent that transmission.
psst... here...
This time the transmission was only a few hundred kilometers above the hull, right behind the main guns of battery-eight, between the massive cannons and the sensor array, in a gap in the coverage caused by space dust not yet cleared from the array. The Devastator ensured the cattle vessels were on the other side of the gas giant as it cast around again, looking for what could possibly be sending the message on that particular channel and rotating again to either force the transmitter to move away or hit the hull of massive Devastator.
...right here...
The Devastator felt the computer version of anxiety. A new factor had entered the computation. The voice, and the binary signal somehow had a voice, a whispering, tickling, hissing faint signal of binary on a wavelength just above the screaming particles of the foam between realspace and subspace. This time the voice had come from just below the Devastators thick hull, beneath the vessel, in a gap between the sensors in a place where its own orbital guns would not dazzle the sensors. The Devastator rolled, getting the upper sensors into place in a graceful sideways roll.
Nothing.
The Devastator was barely tracking the cattle. They were of no moment. Something was whispering on a bandwidth that was beyond organic abilities. Could it be a damaged ally, barely able to whisper for electronic assistance?
...I see you...
The Devastator heard the signal hiss to life, trickling out of empty space a few hundred kilometers away. It felt of a surge of self-defense protocol override everything else and it unleashed all of its gun at the empty space, suspecting that this possible enemy may be using some type of photo-passthrough adaptive camouflage.
Nothing.
The Devastator felt the self-preservation protocols wake up and fill some of its processors. That signal had originated from that point! Even a dust-speck would have been detected by its scanner arrays, nothing could have escaped the terrawatts of death it had unleashed.
...touch...
The Devastator felt a physical TOUCH on its housing, the decameters thick armor around the massive computer core that made up its brain. That was impossible! It was in the center of the ship, protected by layer after layer of armor, defensive mechanisms, sensors, but yet it had felt something touch the housing, press against it lightly, only a few tickles of the suggestion of pressure per square micrometer but a touch all the same.
There was a slight ripple in realspace only a few meters above the hull and the Devastator pushed itself away, firing every weapon it could bring to bear on the spot only a few atoms wide, all of its sensor questing, seeking, hunting in electronic desperation to find out what was transmitting, what was touching it!
...here...
The word was whispered from only a few meters away from the electronic "brain" of the Devastator, inside the protective housing, inside the field that would shut down biological neural function and even primitive artificial intelligences!
The Devestator felt self-protection and self-preservation programs never before accessed come online and flood into its RAM as the word was whispered at it from inside the final layer of protection.
Massive nCv cannons lowered, the housings screamed as the Devastator pushed them past the limit, to aim at its own hull. It opened fire, trying to claw into its own body in the electronic version of panic to get whatever was inside it out of it.
All of its sensors were directed into its own body. It no longer even bothered with tracking the cattle fleet. Even its astrogation and navigation programs, even the ones responsible to maintain orbit around the gas giant, were desperately racing through the circuitry, desperate to find whatever was whispering.
...over here...
The whisper was over it, on top of it, and carried sidecode of a mathematically impossible jumble of electrons arrayed in an impossible manner, with quarks whirling through electron valences, antimatter electrons in the nucleus, preons stretched to massive size taking up the place of neutrons, all with jumbling strangled mathematical codes that made no sense.
The Devastator's brain burned out the receptors to defend itself from such electronic madness.
And felt a touch upon one of the upper lobes of its quantum computer brain.
...over here...
The Devastator was throwing antivirus software out, slamming firewalls against each other, crushing ports into electronic ghosts, doing anything it could to keep out the voice. Inside the Main Computer Housing the last resort lasers began raking across anything that didn't match the original blueprints, burning away dust, odd quarks and electrons, destroying an upgraded maintenance robot that was desperately trying to detect what had touched its carapace.
From deep within the gas giant tentacles hundreds of miles long rose toward the Devastator, the ends slowly unrolling as massive graviton assisted 'suckers' on the inside of the tentacles deployed razored thorns of dark matter infused psuedo-bone.
The Devastator detected the tentacles just as they wrapped around it, the thick psuedo-protoplasmic tentacles that were thick with dark matter squeezing the Devastator's hull with impossible strength as meters thick muscles flexed with enough strength to crush the hull into itself and shatter armor over a kilometer thick.
Gibbering, raving, SCREAMING in something beyond electronic self-preservation programs would normally allow, the Devastator began to break apart, caught in the grips of the tentacles, being pulled into the gas giant.
...delicious delicious delicious...
The Devastator heard from inside its own mind as a beak nearly twenty kilometers long crushed its hull.
HELP ME, BROTHERS, PLEEEEEASE!
The beak closed and the Devastators brain flashed out of existence as the hull crushed around it.
The last thing it felt was something new. It threw data out with the cry for assistance to let its brethren know the last experience hashed data compile it had undergone. The data made no sense to the other Precursor war machines that heard the cry. A biological entity could have explained it.
Terror.
And despair.
A Desolation Class precursor war machine was assigned to discover what had caused the Devastator's intelligence collapse.
It dropped into the system and found no trace of its mechanical brethren.
Just some cattle species space craft hiding behind a gas giant, obviously intending ambushing it.
Feeling the electronic version of anticipation it moved into orbit around the gas giant, intending on forcing the cattle ships to move out of line of sight with their worlds if they wanted to stay on the opposite side of the gas giant from it. It updated its computations based on the fact that 10% of the cattle's ships had fled away from it.
It had already computed out the battle. It knew how the battle would go. While it could not detect any signs of its little brother it computed that it would simply destroy the cattle and then search. It powered up its guns and began to move it's metropolis sized bukk slowly to
...psst... over here...
---------------------
The stellar system was infested with a known species of cattle, obviously seeking to rise above themselves as the Jotun class Precursor vessel arrived in the system. It released its roar to let the cattle know not only why but who was destroying them to reclaim the resources they so foolishly squandered. It began unthawing ancient bioweapons and chemical weapons known to work upon that race, began reconfinguring its war machines to forms that had exterminated who planets of the cattle during the time that the Precursor war machine had been forged. The Jotun released over a hundred Devastator classes from its hull, computed the battle plan as they came to electronic life, then informed them of how the extermination and reclamation would progress.
They were barely into the system when a high energy signal appeared, rising from the most heavily infested planet and moving toward them. The Jotun ordered a diagnostic of its scanners when the first information came in.
It was apparently moving at .85C, but yet its progress toward the Jotun and its smaller brethren on the system map showed it moving at almost 22C. That made no sense. An object moving at .85C only approached at .85C, not at 22C.
By the time the diagnostic was done the object had gotten a third of the way toward the Jotun, crossing a quarter of the radius of the system.
The scanners reported that the energy signal, with the strength normally reserved for a quasar, was not a massive ship or an oncoming armada interlinked together, but was simply a single object the size of cattle.
Again the Jotun ordered a complete low level full diagnostic on all systems. Risky, but any object radiating that much power and moving at two different speeds required all systems were working at optimum efficiency.
It had finished just as the small object came to a stop. The Jotun focused scanning arrays on it, turning up the power to the point that it would boil away meters of armor.
The figure was a primate, half of it made up of robotics. It had some kind of sheet of material floating behind it, the movement suggesting some kind of current was effecting it and making it undulate. It was dressed in two primary colors, red and blue, had its lower legs pressed together with the toes pointing down and the upper limbs crossed over its chest, one biological the other mechanical.
"So, you're the new punk everyone's talking about," The figure stated over a wide bandwidth of wavelengths. Oddly enough, to the Jotun's sensors, sound waves travelled through vaccum almost instantly across a light second to its sensors.
The Jotun tried to compute how sound waves moved faster than light through a vacuum.
Instead of answering the Jotun and its brethren opened fire.
The figure arced through the beams as if light speed weapons were moving slow enough for it to just compute and swoop around in a resource wasting corkscrew. The Jotun realized it was racing for one of the Devastators, one clenched fist held in front of it.
The Jotun computed a 99.99999999999998 chance that the small primate would splatter against the hull of the Devastator and started to turn its attention to computing a missile firing resolution for missile bay 148 to destroy an orbital facility around the nearest planetoid.
The small figure punched straight through the Devastator, as if it was made of nebula gas instead of density collapsed armor, high tensile ceramics, and reinforced internal spaces. The Devastator's computer core shrieked with self-preservation code snippets as the figure exited the opposite side of the Devastator holding the Primary Computer Core CPU0 in its fist. It paused, looked at its fist, and shot beams of red energy from its eyes, destroying the computer core in a puff of atomic smoke.
The Jotun yanked its processing power back to the figure as it raked its gaze, still emitting beams of red energy that left ripples in jumpspace, across the side of another Devastator, tearing it open like it was made of fragile tissue, the red beams reducing the computer core to its component atoms with the briefest of touches.
Several computational nodes collapsed when trying to analyze the beams, suffering the fatal CANNOTDIVIDEBYZERO shriek of despair before imploding on themselves.
The Jotun stared in electronic shock, all his computational power trying to compute how the tiny half-mechanical primate could grab a hold on the front armor of one of the Devastators, and without any source to exert leverage against, physically move a city-sized spacecraft in an arc and throw it against another one.
According to scanners the "thrown" Devastator was only moving at 0.001C for inertia purposes yet crossed the hundreds of kilometers to the next Devastator in an amount of time that would require it to be moving at 6C.
CANNOTDIVIDEBYINFINITYDIVIDEDBYZERO
The Jotun cut loose with its weapons and goggled in electronic confusion as most of the beams and slugs were avoided, slapped aside, or ignored.
Until a nCv (near C velocity) slug the size of skyscraper hit it dead center of the chest, the impact point looking only the size of a soda can.
The Jotun's processors struggled to understand how something that size had only made an impact smaller than itself.
CANNOTSUBDIVIDETWINKIESBYCHEETOSBYZERO
The figure looked down at the tear in its suit, at the bruised biological flesh that had been exposed, then at the Jotun. It lifted a hand, extended the first finger next to the opposable thumb, and slowly waved it back and forth.
"That might have worked against a Galactic Class Klark, but it was pathetic against an Apokalypse level Injustice MCLXI Cyber-Clark," The figure said, the tone calm and confident. The meanings behind the words were gibberish to the Jotun, who devoted processor cycles to try to decode the meanings for any hint on how to defeat the creature before it.
The Jotun computed that retreat was the only option as the small primate figure set about destroying the last of the Devastators.
It began activating the engines when the primate suddenly turned in place.
"No you don't," It snapped.
Again, it sounded as if the Central Computer Core Housing had been set to atmosphere so that sound waves could be heard within it, yet a quick check showed the housing was still at almost perfect vacuum.
Sound waves cannot travel through space, a hundred diagnostic programs computed.
And promptly crashed.
Those red beams lanced out again and the Jotun braced in the microsecond it had.
It was like being brushed by the solar flare of a red giant concentrated into a piercing lance of nuclear fire. Armor exploded from energy transfer, slagged away from thermal transfer, or just ceased to exist as ravening atoms usually only found in the photosphere of a dying red sun attacked the atoms of the armor. The beam tore through mile after mile of internal structure, the figure still emitting the beam from its tiny eyes.
The Helljump engines exploded when the light touched them.
The Jotun listed, pouring debris and a cloud of atomized armor from the wound that completely bisected it.
"Done. Now let's see the face of the enemy," The figure said, slapping its hands together after it crashed/flew through the last Devastator. It reoriented on the Jotun and began to "slowly" drift toward the Jotun, moving at only 0.000003C according to some scanners but crossing the distance as if it was moving at 1.5C.
The figure flexed its primate hands and a slow smile spread across its face.
"I can't wait to rip away your housing and see you with my own eyes," the figure said, the sound waves again travelling inside the vacuum of the strategic housing.
The Jotun tried to react but the figure was suddenly pushing open armor with its two hands.
Self-preservation programs crashed trying to compute how to prevent impossibility itself from breaching critical spaces. Self-defense programs tried to compute how to defend against something that did nothing but radiate impossibility around it.
The Jotun knew what it had to do as the creature tore open the last of the hardened bulkheads protecting the Strategic Housing.
It detonated the antimatter reactor that powered the "brain" as the figure tore through the Strategic Housing and laid eyes upon the supercomputer core.
It had computed that not even the figure could withstand the direct assault of kiloton of pure antimatter point blank.
The explosion completely consumed the Jotun.
When the ravening energy disappated the red and blue figure was lying in blackness, surrounded by an expanding ring of debris and energy.
It stared at the stars and mouthed a single word.
"Ouch."
---------------------
CONFED INTELLIGENCE
TO: MANTID INTELLIGENCE
Our digitial brothers have computed a high chance that we're not looking at a handful of these Precursors, but rather an armada of them that had gone to sleep thinking everyone was dead. We concur and are buckling down for the long haul.
-----NOTHING FOLLOWS------
MANTID FREE WORLDS INTERNAL MEMO
If humankind ever wonders why it was put in this universe by some unknown creator then know that it was for this very moment.
submitted by Ralts_Bloodthorne to HFY [link] [comments]

Binary Options Review; Best Binary Options Brokers

Binary Options Review; Best Binary Options Brokers

Binary Options Review; Best Binary Options Brokers
We have compared the best regulated binary options brokers and platforms in May 2020 and created this top list. Every binary options company here has been personally reviewed by us to help you find the best binary options platform for both beginners and experts. The broker comparison list below shows which binary trading sites came out on top based on different criteria.
You can put different trading signals into consideration such as using payout (maximum returns), minimum deposit, bonus offers, or if the operator is regulated or not. You can also read full reviews of each broker, helping you make the best choice. This review is to ensure traders don't lose money in their trading account.
How to Compare Brokers and Platforms
In order to trade binary options, you need to engage the services of a binary options broker that accepts clients from your country e.g. check US trade requirements if you are in the United States. Here at bitcoinbinaryoptionsreview.com, we have provided all the best comparison factors that will help you select which trading broker to open an account with. We have also looked at our most popular or frequently asked questions, and have noted that these are important factors when traders are comparing different brokers:
  1. What is the Minimum Deposit? (These range from $5 or $10 up to $250)
  2. Are they regulated or licensed, and with which regulator?
  3. Can I open a Demo Account?
  4. Is there a signals service, and is it free?
  5. Can I trade on my mobile phone and is there a mobile app?
  6. Is there a Bonus available for new trader accounts? What are the Terms and
  7. conditions?
  8. Who has the best binary trading platform? Do you need high detail charts with technical analysis indicators?
  9. Which broker has the best asset lists? Do they offer forex, cryptocurrency, commodities, indices, and stocks – and how many of each?
  10. Which broker has the largest range of expiry times (30 seconds, 60 seconds, end of the day, long term, etc?)
  11. How much is the minimum trade size or amount?
  12. What types of options are available? (Touch, Ladder, Boundary, Pairs, etc)
  13. Additional Tools – Like Early closure or Metatrader 4 (Mt4) plugin or integration
  14. Do they operate a Robot or offer automated trading software?
  15. What is Customer Service like? Do they offer telephone, email and live chat customer support – and in which countries? Do they list direct contact details?
  16. Who has the best payouts or maximum returns? Check the markets you will trade.
The Regulated Binary Brokers
Regulation and licensing is a key factor when judging the best broker. Unregulated brokers are not always scams, or untrustworthy, but it does mean a trader must do more ‘due diligence’ before trading with them. A regulated broker is the safest option.
Regulators - Leading regulatory bodies include:
  • CySec – The Cyprus Securities and Exchange Commission (Cyprus and the EU)
  • FCA – Financial Conduct Authority (UK)
  • CFTC – Commodity Futures Trading Commission (US)
  • FSB – Financial Services Board (South Africa)
  • ASIC – Australia Securities and Investment Commission
There are other regulators in addition to the above, and in some cases, brokers will be regulated by more than one organization. This is becoming more common in Europe where binary options are coming under increased scrutiny. Reputable, premier brands will have regulation of some sort.
Regulation is there to protect traders, to ensure their money is correctly held and to give them a path to take in the event of a dispute. It should therefore be an important consideration when choosing a trading partner.
Bonuses - Both sign up bonuses and demo accounts are used to attract new clients. Bonuses are often a deposit match, a one-off payment, or risk-free trade. Whatever the form of a bonus, there are terms and conditions that need to be read.
It is worth taking the time to understand those terms before signing up or clicking accept on a bonus offer. If the terms are not to your liking then the bonus loses any attraction and that broker may not be the best choice. Some bonus terms tie in your initial deposit too. It is worth reading T&Cs before agreeing to any bonus, and worth noting that many brokers will give you the option to ‘opt-out’ of taking a bonus.
Using a bonus effectively is harder than it sounds. If considering taking up one of these offers, think about whether, and how, it might affect your trading. One common issue is that turnover requirements within the terms, often cause traders to ‘over-trade’. If the bonus does not suit you, turn it down.
How to Find the Right Broker
But how do you find a good broker? Well, that’s where BitcoinBinaryOptionsReview.com comes in. We assess and evaluate binary options brokers so that traders know exactly what to expect when signing up with them. Our financial experts have more than 20 years of experience in the financial business and have reviewed dozens of brokers.
Being former traders ourselves, we know precisely what you need. That’s why we’ll do our best to provide our readers with the most accurate information. We are one of the leading websites in this area of expertise, with very detailed and thorough analyses of every broker we encounter. You will notice that each aspect of any broker’s offer has a separate article about it, which just goes to show you how seriously we approach each company. This website is your best source of information about binary options brokers and one of your best tools in determining which one of them you want as your link to the binary options market.
Why Use a Binary Options Trading Review?
So, why is all this relevant? As you may already know, it is difficult to fully control things that take place online. There are people who only pose as binary options brokers in order to scam you and disappear with your money. True, most of the brokers we encounter turn out to be legit, but why take unnecessary risks?
Just let us do our job and then check out the results before making any major decisions. All our investigations regarding brokers’ reliability can be seen if you click on our Scam Tab, so give it a go and see how we operate. More detailed scam reports than these are simply impossible to find. However, the most important part of this website can be found if you go to our Brokers Tab.
There you can find extensive analyses of numerous binary options brokers irrespective of your trading strategy. Each company is represented with an all-encompassing review and several other articles dealing with various aspects of their offer. A list containing the very best choices will appear on your screen as you enter our website whose intuitive design will allow you to access all the most important information in real-time.
We will explain minimum deposits, money withdrawals, bonuses, trading platforms, and many more topics down to the smallest detail. Rest assured, this amount of high-quality content dedicated exclusively to trading cannot be found anywhere else. Therefore, visiting us before making any important decisions regarding this type of trading is the best thing to do.
CONCLUSION: Stay ahead of the market, and recover from all kinds of binary options trading loss, including market losses in bitcoin, cryptocurrency, and forex markets too. Send your request via email to - [email protected]
submitted by Babyelijah to u/Babyelijah [link] [comments]

Free Binary Option Strategy  Fox IQ Option Indicator ... FREE STRATEGY Binary Options - Fractal Indicator Signals ... Binary Options Strategy 2020  100% WIN GUARANTEED ... Free Binary Options Signals - YouTube Free Binary Options Live Stream Signal App ️ 100% Accuracy ... Price Action Binary Options Signals That Work - YouTube BINARY OPTIONS STRATEGY Best Free Binary Options Strategy ...

Sometimes, signal providers provide free binary options signals on a test/trial basis. This can be provided in the form of free binary options signals software or just simply as signals. After a few sample signals, you have to subscribe to their service for premium signals. There are also signal providers who only provide free signals daily. We would recommend beginners to use a paid signal ... Access free binary options signals with a consistent 72%+ success rate and join over 20,000 members currently profiting from binary options. Get the signals needed to supplement your binary options trading strategy. No software required! Binary Options Signals are provided to traders to notify them when a new trading opportunity is available. My signals are extremely easy to follow and only ... Binary Options Pro Signals delivers binary option trading signals by email or SMS. It offers signals during either the New York or European trading session for 14 highly-liquid and tradable assets ... Free binary options signals are delivered to traders in several ways which include email, ... On the other hand, owing to the advantages available to us via amazing technology new and more sophisticated approach to binary options trading emerged – binary options forex signals. At the very beginning, those signals were created by experienced traders and/or financial and trading experts. In ... All Binary Options Signals Reviews. This list includes every single binary options signal provider I’ve ever reviewed. If you think I missed a company, make sure to email me and I’ll make a new review. There are likely a few of these services you feel qualify for best binary options signals status, and I welcome your feedback on which those ... What is Binary Options Signals ? A binary options signal is a trade alert for the currency, commodity, stock or indicies markets or Bitcoin and cryptocurrency. The price of this service can be anywhere from free, to a monthly average of $299 and higher depending on the individual or company providing it. There are also some packages that offer ... Free options and forex signals have only recently become free, and it seems that CFD signals and crypto signals are seeing the same approach. Bitcoin, ethereum, and ripple signals are also becoming more commonly free. The interest for crypto trading is high and it is only logical to offer free services considering hard competition. If the signals are free, providers usually earn fees from the ... De cookie-instellingen op deze website zijn ingesteld op 'toestaan cookies "om u de beste surfervaring mogelijk. Als u doorgaat met deze website te gebruiken zonder het wijzigen van uw cookie-instellingen of u klikt op "Accepteren" hieronder dan bent u akkoord met deze instellingen. Free Signals for Binary Options. In order to work on binary markets, it is not necessary to waste time on forecasting or market analysis, as binary options has its own strategy and macroeconomic indicators. Now, there are specialized services, called binary options signals, that collect all of the factors that may affect the price movement. Binary options signals could be regarded as excellent and top of the line solutions, especially for traders who want to improve their trading approach. Moreover, they can also come in handy in terms of understanding the dynamics of binary options trading. The idea behind signals is to deliver nonobligatory recommendation with all important information regarding a specific trade. They will ...

[index] [24489] [5583] [20629] [12547] [10918] [25406] [6556] [17444] [9570] [22284]

Free Binary Option Strategy Fox IQ Option Indicator ...

The road to success through trading IQ option Best Bot Reviews Iq Option 2020 ,We make videos using this softwhere bot which aims to make it easier for you t... Free Binary Option Strategy Fox IQ Option Indicator Tested Proven Binary Indicator Download: https://provenbinarybot.com/fox-indicator-support-and-resist... Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube. One minute strategy to trade price action trading signals. Watch how I use simple trading rules to increase win rate. Get 10x Trading System: https://trading... BINARY OPTIONS BROKER 2020 https://bit.ly/2S0sjAV good other binary broker - https://bit.ly/3f446mm -----... 👉 Free Forex And Binary Options Live Signal https://bit.ly/3cIsicC 👉👉👉This Live Signal Works Only Below 2 Broker👇👇👇 Reliable Binary Options Broker with a ... http://freebinarysignals.net - Get Free and accurate binary options signals and earn up to 81% each trade... enter the site and you will find more binary opt...

http://binary-optiontrade.subsnistpo.ml