20 Best Binary Options Brokers (April 2020) - Evoke Finance

Best Binary Options Brokers And Trading Platforms List

Best Binary Options Brokers And Trading Platforms List submitted by Evileeina to u/Evileeina [link] [comments]

platform binary options - 5 list!!! the best binary options brokers - you must now

platform binary options - 5 list!!! the best binary options brokers - you must now submitted by TopVideosCasino to u/TopVideosCasino [link] [comments]

SetOption, one of the most innovative binary options brokers, now adds another service to its already long list and this time it is Bitcoin Trading, which is the newest asset at this leading binary options platform

SetOption, one of the most innovative binary options brokers, now adds another service to its already long list and this time it is Bitcoin Trading, which is the newest asset at this leading binary options platform submitted by waspoza to Bitcoin [link] [comments]

GameMaker Studio 2.3.1 will allow you to build games for Raspberry Pi - here's how to get it all working!

GameMaker: Studio 2.3.1 will be introducing a significant amount of support for platforms running on ARM. For the most part, exporting to these platforms is a subset of the target platforms (specifically Mac OS and Ubuntu/Linux) that already are supported by GMS2, but the magic happens in the export! If the platform you’re targeting is running on an ARM processor, the build process will handle the heavy lifting.
I’ve left a full guide below to getting your projects running on a Raspberry Pi - here are the important take-away’s if you’re familiar with the Ubuntu export process
Warning: Depending on your project, performance will vary significantly - you should expect to overclock your Raspberry Pi CPU and GPU clock speeds to achieve best performance in graphically intense games. Most folks have their Pi’s overclocked, and it’s a very straight forward process that you can learn about here. I suggest getting a case for your Pi with heatsinks and fan, regardless of your configuration.

Known Supported Linux Distributions for building GMS2 projects on RPi

It’s important to note, while I haven’t tried it, the binaries generated should work fine on most distros running on ARMv8.

How-to

What you’ll need:

Step 1: Setting up your Raspberry Pi

There are plenty of guides for how to do this online, so I’ll assume you can figure most of this out.Prepare your SD card with either Raspbian or Ubuntu MATE and boot into it on your Raspberry Pi. I suggest going with Raspbian, and most of my notes in here will be specific to it - it will be the most straight-forward option and likely the best performance on Pi.
Once Raspbian has booted, let it update using the built-in update manager (it might take a little while)
Find a way to entertain yourself... this might take a little bit.

Step 2: Install the dependencies

This is pretty much the same as it would be in any regular Linux setup to build your GMS2 projects, however, if you’re using Raspbian some of the regular dependencies will already be installed - so I’ve skipped the ones we won’t need right now in the list below. If you’re having an issue or using Ubuntu MATE, check out the full list here.
> Open "Terminal"
For each of these you’ll type “sudo apt install” followed by the listed name, so for the first one we’ll go:
sudo apt install clang 
And go through the whole list:
clang libssl-dev libxrandr-dev libxxf86vm-dev libopenal-dev libgl1-mesa-dev libglu1-mesa-dev libcurl4-openssl-dev libxfont1 
Speed x3000... I didn't want to make you wait here.

Step 3: Enable SSH

Raspbian has the OpenSSH server dependency that GameMaker: Studio needs already installed, but it’s inactive by default. Browse to the Raspberry Pi Configuration window (located in the Raspberry Pi icon menu > Preferences > Raspberry Pi Configuration and over to the tab “Interfaces”. Enable SSH and press OK.

Do not forget to enable SSH!

Step 4: Reboot

I can’t stress this enough - Reboot your Pi. Just do it, it may or may not do anything at this point, but it’s better than not doing it.

Step 5: Set up your connection in GameMaker

This is pretty straight-forward. In the upper right hand corner of your IDE window, change your target platform to Ubuntu.Add a Device for your Raspberry Pi.
You can set the Display Name to anything you’d like to,
Host Name should be the local ip address for the Raspberry Pi - an easy way to get this is by typing “hostname -I” into your terminal on the Raspberry Pi.
By default, if using Raspbian, your username is “pi” and your password is what you set during the Raspbian setup.

Here's what my device looks like - your hostname is most definitely different <3
Press “Test Connection” - you should see a message that the connection was successful! If not, double check that the IP address you dropped into Host Name is correct and that you followed step 3 to enable the SSH server.
Press “OK” once you’ve gotten a Connection Successful message, and you’re off to the races!

Step 6: Build your project on your Raspberry Pi

Once you’ve ensured that your target is available, all you have to do is press the “Run” button in GameMaker. You should shortly see your project open and start running on your Raspberry Pi!
Both the Runner (VM) and Compiler (YYC) work properly with Raspbian and Ubuntu MATE.
If you export your project, it will work the same way it does on other platforms - it will build on the Raspberry Pi and send back a .zip file containing the binaries needed to run it on most Raspberry Pi’s to the machine running your IDE.
I think this was pre-overclocking for me (and with some background processes running, like NoMachine). Without NoMachine this holds a steady ~60fps, which is where it should be.
submitted by anon1141514 to gamemaker [link] [comments]

Facebook Connect / Quest 2 - Speculations Megathread

EDIT: MAJOR UPDATE AT BOTTOM
Welcome to the "Speculations" mega thread for the device possibly upcoming in the Oculus Quest line-up. This thread will be a compilation of leaks, speculation & rumors updated as new information comes out.
Let's have some fun and go over some of the leaks, rumors, speculation all upcoming before Facebook Connect, we'll have a full mega thread going during Connect, but this should be a great thread for remembrance afterward.
Facebook Connect is happening September 16th at 10 AM PST, more information can be found here.

Leaks
In March, Facebook’s public Developer Documentation website started displaying a new device called ‘Del Mar’, with a ‘First Access’ program for developers.
In May, we got the speculated specs, based off the May Bloomberg Report (Original Paywall Link)
• “at least 90Hz” refresh rate
• 10% to 15% smaller than the current Quest
• around 20% lighter
• “the removal of the fabric from the sides and replacing it with more plastic”
• “changing the materials used in the straps to be more elastic than the rubber and velcro currently used”
• “a redesigned controller that is more comfortable and fixes a problem with the existing controller”

On top of that, the "Jedi Controller" drivers leaked, which are now assumed to be V3 Touch Controllers for the upcoming device.
The IMUs seem significantly improved & the reference to a 60Hz (vs 30hz) also seems to imply improved tracking.
It's also said to perhaps have improved haptics & analog finger sensing instead of binary/digital.
Now as of more recent months, we had the below leaks.
Render (1), (2)
Walking Cat seems to believe the device is called "Quest 2", unfortunately since then, his twitter has been taken down.
Real-life pre-release model photos
Possible IPD Adjustment
From these photos and details we can discern that:
Further features speculation based on firmware digging (thanks Reggy04 from the VR Discord for quite a few of these), as well as other sources, all linked.

Additional Sources: 1/2/3/4
Headset Codenames
We've seen a few codenames going around at this point, Reggy04 provided this screenshot that shows the following new codenames.
Pricing Rumors
So far, the most prevalent pricing we've seen is 299 for 64gb, and 399 for 256GB
These were shown by a Walmart page for Point Reyes with a release date of September 16 and a Target price leak with a street date of October 13th

Speculation
What is this headset?
Speculation so far is this headset is a Quest S or Quest 2
OR
This is a flat-out cheaper-to-manufacture, small upgrade to the Oculus Quest to keep up with demand and to iterate the design slowly.
Again, This is all speculation, nothing is confirmed or set in stone.
What do you think this is and what we'll see at FB Connect? Let's talk!
Rather chat live? Join us on the VR Discord
EDIT: MAJOR UPDATE - Leaked Videos.
6GB of RAM, XR2 Platform, "almost 4k display" (nearly 2k per eye) Source
I am mirroring all the videos in case they get pulled down.
Mirrors: Oculus Hand Tracking , Oculus Casting, Health and Safety, Quest 2 Instructions, Inside the Upgrade
submitted by charliefrench2oo8 to OculusQuest [link] [comments]

Zabbix 5.2 is released! Some more details.

The new major release comes with an impressive list of new features, improvements and out of the box integrations:
Zabbix offers out of the box official integrations with:
Other major improvements:
Official packages are available for:
One-click deployment is available for the following cloud platforms:
and much more!
Read release notes for a complete list of improvements: https://www.zabbix.com/rn/rn5.2.0
In order to upgrade you just need to download and install new binaries (server, proxy and Web UI). When you start Zabbix Server it will automatically upgrade your database. Zabbix agents are backward compatible therefore no need to install new agents, you can do it anytime later if needed.
submitted by alexvl to zabbix [link] [comments]

A Guide to using the Steam Controller in 2020 (Guide and support thread).

A Guide to using the Steam Controller in 2020 (Guide and support thread).
Hey there! My name is Spork, and I'll be guiding you on how to use (or keep using) the Steam Controller for Rocket League. After Rocket League was taken off the steam store, I figured old or new players could use a guide on how to use the SC (steam controller) on both PC launchers.
Even if you don't use the steam controller, I encourage you to read and upvote this post. ***MODS, STAY AWAY FROM THE DELETE BUTTON FOR ONE SECOND***. I am not asking for karma or internet clout. I ask people to upvote this post so that people looking for this guide on google can see it and make their day easier. *This guide also includes details that can help your controller problems when transitioning to the EG launcher (i'm looking at you, Nintendo Switch Pro Controller).\*
I have around 300 hours of use with this thing, and I'd like to say I'm pretty familiar with how it works and I want to help you out.
There are 2 guides for this controller, one for the Steam platform and one for the Epic Games platform.

It's Glorious.

Steam Launcher Guide

If you bought the game previously on steam, great! Your controller will be much more powerful and easy to use. Here's a brief guide on customizing your steam controller for Rocket League:
Steam Controller Configuration VS In Game Bindings
Using a generic gamepad configuration
One of the benefits to using the steam controller is that it works with virtually EVERY game due to what I like to call Dynamic Firmware Customization. Using the controller configuration tool in Big Picture mode, you can change the bindings that the controller will emulate. For instance, if you want to play a game that doesn't support controllers, you can change your bindings to emulate a keyboard or other device. The best part is, Steam will automatically update the firmware of your controller to match these bindings, which means there is no external communication through steam. Essentially, your computer thinks that the steam controller is actually a keyboard and therefore communicates with your game directly. This can help reduce latency with the game that you're playing. However, Steam must be open for this to work, otherwise it acts as an HID device with very basic keyboard/mouse inputs called "Lizard Mode". (See https://www.pcgamingwiki.com/wiki/Controller:Steam_Controller for details). There are some technical workarounds, but I don't bother with them.
So, when you launch up rocket league, your steam controller will load up a default configuration (most likely XInput) to act as a generic gamepad. (There is one exception to this, but I'll cover that later). By default, the Grip buttons are set to A, X, B, or Y. Personally, I like to set them to bumpers for air roll and powerslide. Here is an example of my configuration:
Don't worry about anything that looks confusing like \"Action sets\". These settings can be useful only when you are very familiar with your controller.
You'll see that I've set each button on the controller to act as a normal gamepad. Each button is bound to a controller output instead of an In-Game action. The steam controller will act as a normal gamepad, meaning that you can change your actual in-game actions in the Rocket League settings.
Additionally, you can upload your configs to share with others. If you want to browse these configs, just click X on this screen to see configurations the community is using.
You can customize your controller in this way by navigating to this screen:

Don't worry about Controller Options, they are on default settings. The real changes you can make in that menu are related to Steam In-Game Input mentioned later.
The best part is, you can customize other controllers this way as well (but it isn't optimized with real-time firmware changes like the steam controller). To do this, simply navigate to your settings on the default Big Picture homepage and go to Controller settings. From there you can enable "Xbox Configuration Support", "PS4 Config Support", etc.
It's also possible to change these settings in game using the Big Picture steam overlay. Just click the steam button (also known as the guide button) to bring up the steam overlay. You will see a controller configuration option in the menu. (Note: you must launch your game from big picture mode for this to work).
Using Steam Input
Rocket League also supports something they call "Steam Input". This means Rocket League allows you to configure your in-game controls using the steam configuration tool. When this setting is enabled, your configuration will look like this:

Notice now that the controller config changes actual in-game actions rather than a controller input.
This allows for fuller customization of your in game controls using actual in game actions instead of controller bindings. For instance, here is a config I made experimenting with Gyro controls for mid air movement:

This configuration allows me to move my car in midair by physically rotating and moving my controller, without pressing any buttons.
If you want to change your config to or back from Steam Input, just follow these steps:
1: Click X on the config screen to browse configs.
2: Select the "(LEGACY) Official Psyonix Bindings" for normal gamepad emulation, or select "Rocket League Standard Controls" for steam input. If you have a previous configuration using steam input or regular input saved to your account, you can switch to these configurations as well.
https://preview.redd.it/rssop1diyjq51.png?width=1920&format=png&auto=webp&s=6a436748fde0deb49dd8f5502c8e6a2342a380d6
There is one downside to using steam input: latency and lag. Because your game now has to communicate with steam to get your inputs (instead of communicating directly with your controller) it takes more time to register an input. Additionally, the game will require more resources to communicate with steam in the first place and can make your game slower. I recommend using a generic gamepad configuration for this reason, but if it doesn't bother you, go for it. If you wish to completely disable steam input, navigate back to the controller setting screen I showed before:

https://preview.redd.it/8m7zh7cgzjq51.png?width=1920&format=png&auto=webp&s=cd8231b7a9b917588565691f335fdc63012d510e
Navigate to the setting highlighted and change it to "Forced Off".
https://preview.redd.it/3fsjo9n6rkq51.png?width=1920&format=png&auto=webp&s=31eeee245883b675688b4c11785188f6098c58f1
This will make it so only generic gamepad configurations work with rocket league. If you need more help with this topic, psyonix has a support article here: https://support.rocketleague.com/hc/en-us/articles/360015501594-Steam-Controller-Configuration-Beta-
That's it to using the steam controller on the steam version of Rocket League! If you want to know more about the steam controller, there are many guides on YouTube to help you customize your controller further.
EDIT: Something important to note that was brought up by u/TheLadForTheJob is that using the big picture steam overlay can have an impact on performance in you game. I recommend that you launch the game in big picture mode when customizing your controller, but outside of that launch the game OUTSIDE of big picture mode for a boost in performance.

Epic Games Launcher Guide

Now, obviously, the Epic Games version of Rocket League does not recognize the steam controller as a gamepad. It's hard to set up the steam controller to work with games that use launchers since the application launch script is different than, say, a DRM-Free application. It is possible to use the steam controller for the EG version of Rocket League, but not in the way you think.
I tested several different methods with the EG version of Rocket League and these were the best solutions I could find.
Edit: The best option is to download and use SteamGridDB Manager, an application that automatically adds games from your other launchers into your steam library and launches them with the right scripts. I've tested the most recent build of this app (0.4.2) with Rocket League and it works flawlessly. It will add a Non-Steam game to your library that will launch rocket league with the right scripts so you have access to online play and the EG online services. You can follow the guide about using a generic gamepad configuration in the steam guide above to customize your controls after you add the EG version of rocket league with SteamGridDB Manager. The launch process is a lot simpler than the solution below. If you want to know more about how to use this app, visit https://www.steamgriddb.com/manager to learn more. However, if you don't want to use this application, feel free to follow the guide below:
ADD THE EPIC LAUNCHER AS A NON-STEAM GAME:
Many people when trying to use the steam controller with games from other launchers like epic games, they'll navigate to the .exe file of their game and add it as a non-steam game to their library. This works (at least for me) about 1/5th of the time. It flat out doesn't work with Epic; if you try to launch the RocketLeague.exe file that epic installed, it won't connect you to the online service.
What you'll want to do is add the epic games launcher to your steam library as a non steam game. This allows you to run the epic games launcher with predetermined configurations using steam. When you launch it, it'll tell the controller to switch configurations and act as a gamepad. Then, when you launch Rocket League from the Epic Games launcher, it will be recognized as a controller.
The steps are as follows:
1: Navigate to the bottom left of the Steam window and click ADD A GAME, then click Add a Non-Steam Game...

https://preview.redd.it/4f7psyu2lkq51.png?width=310&format=png&auto=webp&s=122911b18df1d45f114f259f53750f7601da8d32
Once the window is open, select the Epic Games Launcher:

If the Epic Games Launcher does not show up in this list, click BROWSE... and navigate to the .exe file of the launcher (EpicGamesLauncher.exe). A common filepath for the launcher is C:\Program Files (x86)\Epic Games\Launcher\Engine\Binaries\Win32 or Win64.
Once you've added the Epic Games Launcher to your steam library, click on it and select Controller Configuration. (This setting might not appear if your steam controller is not on. If the controller is on and you still don't see it, launch in big picture mode and follow the instructions found in the Steam Launcher portion of this guide for configuring your controller.

https://preview.redd.it/p8ydzbb2nkq51.png?width=1074&format=png&auto=webp&s=f16db4941a1c819cab40bb5795c66bfd84c9564b
You should now see this screen in a window:

https://preview.redd.it/we60yb2fnkq51.png?width=1270&format=png&auto=webp&s=6b9a7e6e9bdbb55c4991f3145422850616963921
Make sure to click "BROWSE CONFIGS", then TEMPLATES, then scroll until you see a configuration that is named "GAMEPAD". Apply that configuration so that it looks similar to the picture above. From here, you can change your controller bindings (ex in the picture I changed the grip buttons to be each bumpers). Make sure to export your config and save it as a personal binding in case something happens to it.
Click DONE to save your config and exit this window. Once you have done this, you will be able to play Rocket League using the steam controller on the Epic Games Launcher!
Make sure to launch the epic games launcher from Steam:

If you don't launch it from steam, the controller config may not work.
Then, launch rocket league from the Epic Games store with your mouse and/or keyboard. Once you load into the game, the steam controller should be recognized as a gamepad instead of a mouse and keyboard!
While I've made this guide specific to the steam controller, This guide may also work with other gamepads that the Epic Games Launcher does not recognize. If it can be recognized by Steam and is configurable (ex: the Nintendo Switch Pro Controller), these steps can be repeated to get your gamepad working with the EG version of Rocket League. I will try to post a Nintendo Switch Pro Controller-specific guide to help those transitioning to the EG launcher or brand new players that want to play on a computer instead.
Edit: u/TheLadForTheJob posted a comment detailing how you can shorten the launch process with specific launching scripts attached so it launches rocket league automatically. This is similar to the SteamGridDB Manager solution, but without the actual application. I encourage you to check out his comment: https://www.reddit.com/RocketLeague/comments/j3kk85/a_guide_to_using_the_steam_controller_in_2020/g7f1pbz?utm_source=share&utm_medium=web2x&context=3

Conclusion

I hope you found this guide helpful! If you have any questions, feel free to post a comment and we will try to help you out. I've tried to make this guide as comprehensive as possible, but if you think I missed something or got something wrong, post it in the comments so I can edit this guide.
Feel free to share your steam controller configurations as well to help new players!
Your friend,
SPORK
submitted by TheQuintessent to RocketLeague [link] [comments]

Red Hat OpenShift Container Platform Instruction Manual for Windows Powershell

Introduction to the manual
This manual is made to guide you step by step in setting up an OpenShift cloud environment on your own device. It will tell you what needs to be done, when it needs to be done, what you will be doing and why you will be doing it, all in one convenient manual that is made for Windows users. Although if you'd want to try it on Linux or MacOS we did add the commands necesary to get the CodeReady Containers to run on your operating system. Be warned however there are some system requirements that are necessary to run the CodeReady Containers that we will be using. These requirements are specified within chapter Minimum system requirements.
This manual is written for everyone with an interest in the Red Hat OpenShift Container Platform and has at least a basic understanding of the command line within PowerShell on Windows. Even though it is possible to use most of the manual for Linux or MacOS we will focus on how to do this within Windows.
If you follow this manual you will be able to do the following items by yourself:
● Installing the CodeReady Containers
● Updating OpenShift
● Configuring a CodeReady Container
● Configuring the DNS
● Accessing the OpenShift cluster
● Deploying the Mediawiki application
What is the OpenShift Container platform?
Red Hat OpenShift is a cloud development Platform as a Service (PaaS). It enables developers to develop and deploy their applications on a cloud infrastructure. It is based on the Kubernetes platform and is widely used by developers and IT operations worldwide. The OpenShift Container platform makes use of CodeReady Containers. CodeReady Containers are pre-configured containers that can be used for developing and testing purposes. There are also CodeReady Workspaces, these workspaces are used to provide any member of the development or IT team with a consistent, secure, and zero-configuration development environment.
The OpenShift Container Platform is widely used because it helps the programmers and developers make their application faster because of CodeReady Containers and CodeReady Workspaces and it also allows them to test their application in the same environment. One of the advantages provided by OpenShift is the efficient container orchestration. This allows for faster container provisioning, deploying and management. It does this by streamlining and automating the automation process.
What knowledge is required or recommended to proceed with the installation?
To be able to follow this manual some knowledge is mandatory, because most of the commands are done within the Command Line interface it is necessary to know how it works and how you can browse through files/folders. If you either don’t have this basic knowledge or have trouble with the basic Command Line Interface commands from PowerShell, then a cheat sheet might offer some help. We recommend the following cheat sheet for windows:
Https://www.sans.org/security-resources/sec560/windows\_command\_line\_sheet\_v1.pdf
Another option is to read through the operating system’s documentation or introduction guides. Though the documentation can be overwhelming by the sheer amount of commands.
Microsoft: https://docs.microsoft.com/en-us/windows-serveadministration/windows-commands/windows-commands
MacOS
Https://www.makeuseof.com/tag/mac-terminal-commands-cheat-sheet/
Linux
https://ubuntu.com/tutorials/command-line-for-beginners#2-a-brief-history-lesson https://www.guru99.com/linux-commands-cheat-sheet.html
http://cc.iiti.ac.in/docs/linuxcommands.pdf
Aside from the required knowledge there are also some things that can be helpful to know just to make the use of OpenShift a bit simpler. This consists of some general knowledge on PaaS like Dockers and Kubernetes.
Docker https://www.docker.com/
Kubernetes https://kubernetes.io/

System requirements

Minimum System requirements

The minimum system requirements for the Red Hat OpenShift CodeReady Containers has the following minimum hardware:
Hardware requirements
Code Ready Containers requires the following system resources:
● 4 virtual CPU’s
● 9 GB of free random-access memory
● 35 GB of storage space
● Physical CPU with Hyper-V (intel) or SVM mode (AMD) this has to be enabled in the bios
Software requirements
The minimum system requirements for the Red Hat OpenShift CodeReady Containers has the following minimum operating system requirements:
Microsoft Windows
On Microsoft Windows, the Red Hat OpenShift CodeReady Containers requires the Windows 10 Pro Fall Creators Update (version 1709) or newer. CodeReady Containers does not work on earlier versions or other editions of Microsoft Windows. Microsoft Windows 10 Home Edition is not supported.
macOS
On macOS, the Red Hat OpenShift CodeReady Containers requires macOS 10.12 Sierra or newer.
Linux
On Linux, the Red Hat OpenShift CodeReady Containers is only supported on Red Hat Enterprise Linux/CentOS 7.5 or newer and on the latest two stable Fedora releases.
When using Red Hat Enterprise Linux, the machine running CodeReady Containers must be registered with the Red Hat Customer Portal.
Ubuntu 18.04 LTS or newer and Debian 10 or newer are not officially supported and may require manual set up of the host machine.

Required additional software packages for Linux

The CodeReady Containers on Linux require the libvirt and Network Manager packages to run. Consult the following table to find the command used to install these packages for your Linux distribution:
Table 1.1 Package installation commands by distribution
Linux Distribution Installation command
Fedora Sudo dnf install NetworkManager
Red Hat Enterprise Linux/CentOS Su -c 'yum install NetworkManager'
Debian/Ubuntu Sudo apt install qemu-kvm libvirt-daemonlibvirt-daemon-system network-manage

Installation

Getting started with the installation

To install CodeReady Containers a few steps must be undertaken. Because an OpenShift account is necessary to use the application this will be the first step. An account can be made on “https://www.openshift.com/”, where you need to press login and after that select the option “Create one now”
After making an account the next step is to download the latest release of CodeReady Containers and the pulled secret on “https://cloud.redhat.com/openshift/install/crc/installer-provisioned”. Make sure to download the version corresponding to your platform and/or operating system. After downloading the right version, the contents have to be extracted from the archive to a location in your $PATH. The pulled secret should be saved because it is needed later.
The command line interface has to be opened before we can continue with the installation. For windows we will use PowerShell. All the commands we use during the installation procedure of this guide are going to be done in this command line interface unless stated otherwise. To be able to run the commands within the command line interface, use the command line interface to go to the location in your $PATH where you extracted the CodeReady zip.
If you have installed an outdated version and you wish to update, then you can delete the existing CodeReady Containers virtual machine with the $crc delete command. After deleting the container, you must replace the old crc binary with a newly downloaded binary of the latest release.
C:\Users\[username]\$PATH>crc delete 
When you have done the previous steps please confirm that the correct and up to date crc binary is in use by checking it with the $crc version command, this should provide you with the version that is currently installed.
C:\Users\[username]\$PATH>crc version 
To set up the host operating system for the CodeReady Containers virtual machine you have to run the $crc setup command. After running crc setup, crc start will create a minimal OpenShift 4 cluster in the folder where the executable is located.
C:\Users\[username]>crc setup 

Setting up CodeReady Containers

Now we need to set up the new CodeReady Containers release with the $crc setup command. This command will perform the operations necessary to run the CodeReady Containers and create the ~/.crc directory if it did not previously exist. In the process you have to supply your pulled secret, once this process is completed you have to reboot your system. When the system has restarted you can start the new CodeReady Containers virtual machine with the $crc start command. The $crc start command starts the CodeReady virtual machine and OpenShift cluster.
You cannot change the configuration of an existing CodeReady Containers virtual machine. So if you have a CodeReady Containers virtual machine and you want to make configuration changes you need to delete the virtual machine with the $crc delete command and create a new virtual machine and start that one with the configuration changes. Take note that deleting the virtual machine will also delete the data stored in the CodeReady Containers. So, to prevent data loss we recommend you save the data you wish to keep. Also keep in mind that it is not necessary to change the default configuration to start OpenShift.
C:\Users\[username]\$PATH>crc setup 
Before starting the machine, you need to keep in mind that it is not possible to make any changes to the virtual machine. For this tutorial however it is not necessary to change the configuration, if you don’t want to make any changes please continue by starting the machine with the crc start command.
C:\Users\[username]\$PATH>crc start 
\ it is possible that you will get a Nameserver error later on, if this is the case please start it with* crc start -n 1.1.1.1

Configuration

It is not is not necessary to change the default configuration and continue with this tutorial, this chapter is here for those that wish to do so and know what they are doing. However, for MacOS and Linux it is necessary to change the dns settings.

Configuring the CodeReady Containers

To start the configuration of the CodeReady Containers use the command crc config. This command allows you to configure the crc binary and the CodeReady virtual machine. The command has some requirements before it’s able to configure. This requirement is a subcommand, the available subcommands for this binary and virtual machine are:
get, this command allows you to see the values of a configurable property
set/unset, this command can be used for 2 things. To display the names of, or to set and/or unset values of several options and parameters. These parameters being:
○ Shell options
○ Shell attributes
○ Positional parameters
view, this command starts the configuration in read-only mode.
These commands need to operate on named configurable properties. To list all the available properties, you can run the command $crc config --help.
Throughout this manual we will use the $crc config command a few times to change some properties needed for the configuration.
There is also the possibility to use the crc config command to configure the behavior of the checks that’s done by the $crc start end $crc setup commands. By default, the startup checks will stop with the process if their conditions are not met. To bypass this potential issue, you can set the value of a property that starts with skip-check or warn-check to true to skip the check or warning instead of ending up with an error.
C:\Users\[username]\$PATH>crc config get C:\Users\[username]\$PATH>crc config set C:\Users\[username]\$PATH>crc config unset C:\Users\[username]\$PATH>crc config view C:\Users\[username]\$PATH>crc config --help 

Configuring the Virtual Machine

You can use the CPUs and memory properties to configure the default number of vCPU’s and amount of memory available for the virtual machine.
To increase the number of vCPU’s available to the virtual machine use the $crc config set CPUs . Keep in mind that the default number for the CPU’s is 4 and the number of vCPU’s you wish to assign must be equal or greater than the default value.
To increase the memory available to the virtual machine, use the $crc config set memory . Keep in mind that the default number for the memory is 9216 Mebibytes and the amount of memory you wish to assign must be equal or greater than the default value.
C:\Users\[username]\$PATH>crc config set CPUs  C:\Users\[username]\$PATH>crc config set memory > 

Configuring the DNS

Window / General DNS setup

There are two domain names used by the OpenShift cluster that are managed by the CodeReady Containers, these are:
crc.testing, this is the domain for the core OpenShift services.
apps-crc.testing, this is the domain used for accessing OpenShift applications that are deployed on the cluster.
Configuring the DNS settings in Windows is done by executing the crc setup. This command automatically adjusts the DNS configuration on the system. When executing crc start additional checks to verify the configuration will be executed.

macOS DNS setup

MacOS expects the following DNS configuration for the CodeReady Containers
● The CodeReady Containers creates a file that instructs the macOS to forward all DNS requests for the testing domain to the CodeReady Containers virtual machine. This file is created at /etc/resolvetesting.
● The oc binary requires the following CodeReady Containers entry to function properly, api.crc.testing adds an entry to /etc/hosts pointing at the VM IPaddress.

Linux DNS setup

CodeReady containers expect a slightly different DNS configuration. CodeReady Container expects the NetworkManager to manage networking. On Linux the NetworkManager uses dnsmasq through a configuration file, namely /etc/NetworkManageconf.d/crc-nm-dnsmasq.conf.
To set it up properly the dnsmasq instance has to forward the requests for crc.testing and apps-crc.testing domains to “192.168.130.11”. In the /etc/NetworkManageconf.d/crc-nm-dnsmasq.conf this will look like the following:
● Server=/crc. Testing/192.168.130.11
● Server=/apps-crc. Testing/192.168.130.11

Accessing the Openshift Cluster

Accessing the Openshift web console

To gain access to the OpenShift cluster running in the CodeReady virtual machine you need to make sure that the virtual machine is running before continuing with this chapter. The OpenShift clusters can be accessed through the OpenShift web console or the client binary(oc).
First you need to execute the $crc console command, this command will open your web browser and direct a tab to the web console. After that, you need to select the htpasswd_provider option in the OpenShift web console and log in as a developer user with the output provided by the crc start command.
It is also possible to view the password for kubeadmin and developer users by running the $crc console --credentials command. While you can access the cluster through the kubeadmin and developer users, it should be noted that the kubeadmin user should only be used for administrative tasks such as user management and the developer user for creating projects or OpenShift applications and the deployment of these applications.
C:\Users\[username]\$PATH>crc console C:\Users\[username]\$PATH>crc console --credentials 

Accessing the OpenShift cluster with oc

To gain access to the OpenShift cluster with the use of the oc command you need to complete several steps.
Step 1.
Execute the $crc oc-env command to print the command needed to add the cached oc binary to your PATH:
C:\Users\[username]\$PATH>crc oc-env 
Step 2.
Execute the printed command. The output will look something like the following:
PS C:\Users\OpenShift> crc oc-env $Env:PATH = "CC:\Users\OpenShift\.crc\bin\oc;$Env:PATH" # Run this command to configure your shell: # & crc oc-env | Invoke-Expression 
This means we have to execute* the command that the output gives us, in this case that is:
C:\Users\[username]\$PATH>crc oc-env | Invoke-Expression 
\this has to be executed every time you start; a solution is to move the oc binary to the same path as the crc binary*
To test if this step went correctly execute the following command, if it returns without errors oc is set up properly
C:\Users\[username]\$PATH>.\oc 
Step 3
Now you need to login as a developer user, this can be done using the following command:
$oc login -u developer https://api.crc.testing:6443
Keep in mind that the $crc start will provide you with the password that is needed to login with the developer user.
C:\Users\[username]\$PATH>oc login -u developer https://api.crc.testing:6443 
Step 4
The oc can now be used to interact with your OpenShift cluster. If you for instance want to verify if the OpenShift cluster Operators are available, you can execute the command
$oc get co 
Keep in mind that by default the CodeReady Containers disables the functions provided by the commands $machine-config and $monitoringOperators.
C:\Users\[username]\$PATH>oc get co 

Demonstration

Now that you are able to access the cluster, we will take you on a tour through some of the possibilities within OpenShift Container Platform.
We will start by creating a project. Within this project we will import an image, and with this image we are going to build an application. After building the application we will explain how upscaling and downscaling can be used within the created application.
As the next step we will show the user how to make changes in the network route. We also show how monitoring can be used within the platform, however within the current version of CodeReady Containers this has been disabled.
Lastly, we will show the user how to use user management within the platform.

Creating a project

To be able to create a project within the console you have to login on the cluster. If you have not yet done this, this can be done by running the command crc console in the command line and logging in with the login data from before.
When you are logged in as admin, switch to Developer. If you're logged in as a developer, you don't have to switch. Switching between users can be done with the dropdown menu top left.
Now that you are properly logged in press the dropdown menu shown in the image below, from there click on create a project.
https://preview.redd.it/ytax8qocitv51.png?width=658&format=png&auto=webp&s=72d143733f545cf8731a3cca7cafa58c6507ace2
When you press the correct button, the following image will pop up. Here you can give your project a name and description. We chose to name it CodeReady with a displayname CodeReady Container.
https://preview.redd.it/vtaxadwditv51.png?width=594&format=png&auto=webp&s=e3b004bab39fb3b732d96198ed55fdd99259f210

Importing image

The Containers in OpenShift Container Platform are based on OCI or Docker formatted images. An image is a binary that contains everything needed to run a container as well as the metadata of the requirements needed for the container.
Within the OpenShift Container Platform it’s possible to obtain images in a number of ways. There is an integrated Docker registry that offers the possibility to download new images “on the fly”. In addition, OpenShift Container Platform can use third party registries such as:
- Https://hub.docker.com/
- Https://catalog.redhat.com/software/containers/search
Within this manual we are going to import an image from the Red Hat container catalog. In this example we’ll be using MediaWiki.
Search for the application in https://catalog.redhat.com/software/containers/search

https://preview.redd.it/c4mrbs0fitv51.png?width=672&format=png&auto=webp&s=f708f0542b53a9abf779be2d91d89cf09e9d2895
Navigate to “Get this image”
Follow the steps to “create a registry service account”, after that you can copy the YAML.
https://preview.redd.it/b4rrklqfitv51.png?width=1323&format=png&auto=webp&s=7a2eb14a3a1ba273b166e03e1410f06fd9ee1968
After the YAML has been copied we will go to the topology view and click on the YAML button
https://preview.redd.it/k3qzu8dgitv51.png?width=869&format=png&auto=webp&s=b1fefec67703d0a905b00765f0047fe7c6c0735b
Then we have to paste in the YAML, put in the name, namespace and your pull secret name (which you created through your registry account) and click on create.
https://preview.redd.it/iz48kltgitv51.png?width=781&format=png&auto=webp&s=4effc12e07bd294f64a326928804d9a931e4d2bd
Run the import command within powershell
$oc import-image openshift4/mediawiki --from=registry.redhat.io/openshift4/mediawiki --confirm imagestream.image.openshift.io/mediawiki imported 

Creating and managing an application

There are a few ways to create and manage applications. Within this demonstration we’ll show how to create an application from the previously imported image.

Creating the application

To create an image with the previously imported image go back to the console and topology. From here on select container image.
https://preview.redd.it/6506ea4iitv51.png?width=869&format=png&auto=webp&s=c0231d70bb16c76cd131e6b71256e93550cc8b37
For the option image you'll want to select the “image stream tag from internal registry” option. Give the application a name and then create the deployment.
https://preview.redd.it/tk72idniitv51.png?width=813&format=png&auto=webp&s=a4e662cf7b96604d84df9d04ab9b90b5436c803c
If everything went right during the creating process you should see the following, this means that the application is successfully running.
https://preview.redd.it/ovv9l85jitv51.png?width=901&format=png&auto=webp&s=f78f350207add0b8a979b6da931ff29ffa30128c

Scaling the application

In OpenShift there is a feature called autoscaling. There are two types of application scaling, namely vertical scaling, and horizontal scaling. Vertical scaling is adding only more CPU and hard disk and is no longer supported by OpenShift. Horizontal scaling is increasing the number of machines.
One of the ways to scale an application is by increasing the number of pods. This can be done by going to a pod within the view as seen in the previous step. By either pressing the up or down arrow more pods of the same application can be added. This is similar to horizontal scaling and can result in better performance when there are a lot of active users at the same time.
https://preview.redd.it/s6i1vbcrltv51.png?width=602&format=png&auto=webp&s=e62cbeeed116ba8c55704d61a990fc0d8f3cfaa1
In the picture above we see the number of nodes and pods and how many resources those nodes and pods are using. This is something to keep in mind if you want to scale up your application, the more you scale it up, the more resources it will take up.

https://preview.redd.it/quh037wmitv51.png?width=194&format=png&auto=webp&s=5e326647b223f3918c259b1602afa1b5fbbeea94

Network

Since OpenShift Container platform is built on Kubernetes it might be interesting to know some theory about its networking. Kubernetes, on which the OpenShift Container platform is built, ensures that the Pods within OpenShift can communicate with each other via the network and assigns them their own IP address. This makes all containers within the Pod behave as if they were on the same host. By giving each pod its own IP address, pods can be treated as physical hosts or virtual machines in terms of port mapping, networking, naming, service discovery, load balancing, application configuration and migration. To run multiple services such as front-end and back-end services, OpenShift Container Platform has a built-in DNS.
One of the changes that can be made to the networking of a Pod is the Route. We’ll show you how this can be done in this demonstration.
The Route is not the only thing that can be changed and or configured. Two other options that might be interesting but will not be demonstrated in this manual are:
- Ingress controller, Within OpenShift it is possible to set your own certificate. A user must have a certificate / key pair in PEM-encoded files, with the certificate signed by a trusted authority.
- Network policies, by default all pods in a project are accessible from other pods and network locations. To isolate one or more pods in a project, it is possible to create Network Policy objects in that project to indicate the allowed incoming connections. Project administrators can create and delete Network Policy objects within their own project.
There is a search function within the Container Platform. We’ll use this to search for the network routes and show how to add a new route.
https://preview.redd.it/8jkyhk8pitv51.png?width=769&format=png&auto=webp&s=9a8762df5bbae3d8a7c92db96b8cb70605a3d6da
You can add items that you use a lot to the navigation
https://preview.redd.it/t32sownqitv51.png?width=1598&format=png&auto=webp&s=6aab6f17bc9f871c591173493722eeae585a9232
For this example, we will add Routes to navigation.
https://preview.redd.it/pm3j7ljritv51.png?width=291&format=png&auto=webp&s=bc6fbda061afdd0780bbc72555d809b84a130b5b
Now that we’ve added Routes to the navigation, we can start the creation of the Route by clicking on “Create route”.
https://preview.redd.it/5lgecq0titv51.png?width=1603&format=png&auto=webp&s=d548789daaa6a8c7312a419393795b52da0e9f75
Fill in the name, select the service and the target port from the drop-down menu and click on Create.
https://preview.redd.it/qczgjc2uitv51.png?width=778&format=png&auto=webp&s=563f73f0dc548e3b5b2319ca97339e8f7b06c9d6
As you can see, we’ve successfully added the new route to our application.
https://preview.redd.it/gxfanp2vitv51.png?width=1588&format=png&auto=webp&s=1aae813d7ad0025f91013d884fcf62c5e7d109f1
Storage
OpenShift makes use of Persistent Storage, this type of storage uses persistent volume claims(PVC). PVC’s allow the developer to make persistent volumes without needing any knowledge about the underlying infrastructure.
Within this storage there are a few configuration options:
It is however important to know how to manually reclaim the persistent volumes, since if you delete PV the associated data will not be automatically deleted with it and therefore you cannot reassign the storage to another PV yet.
To manually reclaim the PV, you need to follow the following steps:
Step 1: Delete the PV, this can be done by executing the following command
$oc delete  
Step 2: Now you need to clean up the data on the associated storage asset
Step 3: Now you can delete the associated storage asset or if you with to reuse the same storage asset you can now create a PV with the storage asset definition.
It is also possible to directly change the reclaim policy within OpenShift, to do this you would need to follow the following steps:
Step 1: Get a list of the PVs in your cluster
$oc get pv 
This will give you a list of all the PV’s in your cluster and will display their following attributes: Name, Capacity, Accesmodes, Reclaimpolicy, Statusclaim, Storageclass, Reason and Age.
Step 2: Now choose the PV you wish to change and execute one of the following command’s, depending on your preferred policy:
$oc patch pv  -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}' 
In this example the reclaim policy will be changed to Retain.
$oc patch pv  -p '{"spec":{"persistentVolumeReclaimPolicy":"Recycle"}}' 
In this example the reclaim policy will be changed to Recycle.
$oc patch pv  -p '{"spec":{"persistentVolumeReclaimPolicy":"Delete"}}' 
In this example the reclaim policy will be changed to Delete.

Step 3: After this you can check the PV to verify the change by executing this command again:
$oc get pv 

Monitoring

Within Red Hat OpenShift there is the possibility to monitor the data that has been created by your containers, applications, and pods. To do so, click on the menu option in the top left corner. Check if you are logged in as Developer and click on “Monitoring”. Normally this function is not activated within the CodeReady containers, because it uses a lot of resources (Ram and CPU) to run.
https://preview.redd.it/an0wvn6zitv51.png?width=228&format=png&auto=webp&s=51abf8cc31bd763deb457d49514f99ee81d610ec
Once you have activated “Monitoring” you can change the “Time Range” and “Refresh Interval” in the top right corner of your screen. This will change the monitoring data on your screen.
https://preview.redd.it/e0yvzsh1jtv51.png?width=493&format=png&auto=webp&s=b2c563635cfa60ea7ce2f9c146aa994df6aa1c34
Within this function you can also monitor “Events”. These events are records of important information and are useful for monitoring and troubleshooting within the OpenShift Container Platform.
https://preview.redd.it/l90vkmp3jtv51.png?width=602&format=png&auto=webp&s=4e97f14bedaec7ededcdcda96e7823f77ced24c2

User management

According to the documentation of OpenShift is a user, an entity that interacts with the OpenShift Container Platform API. These can be a developer for developing applications or an administrator for managing the cluster. Users can be assigned to groups, which set the permissions applied to all the group’s members. For example, you can give API access to a group, which gives all members of the group API access.
There are multiple ways to create a user depending on the configured identity provider. The DenyAll identity provider is the default within OpenShift Container Platform. This default denies access for all the usernames and passwords.
First, we’re going to create a new user, the way this is done depends on the identity provider, this depends on the mapping method used as part of the identity provider configuration.
for more information on what mapping methods are and how they function:
https://docs.openshift.com/enterprise/3.1/install_config/configuring_authentication.html
With the default mapping method, the steps will be as following
$oc create user  
Next up, we’ll create an OpenShift Container Platform Identity. Use the name of the identity provider and the name that uniquely represents this identity in the scope of the identity provider:
$oc create identity : 
The is the name of the identity provider in the master configuration. For example, the following commands create an Identity with identity provider ldap_provider and the identity provider username mediawiki_s.
$oc create identity ldap_provider:mediawiki_s 
Create a useidentity mapping for the created user and identity:
$oc create useridentitymapping :  
For example, the following command maps the identity to the user:
$oc create useridentitymapping ldap_provider:mediawiki_s mediawiki 
Now were going to assign a role to this new user, this can be done by executing the following command:
$oc create clusterrolebinding  \ --clusterrole= --user= 
There is a --clusterrole option that can be used to give the user a specific role, like a cluster user with admin privileges. The cluster admin has access to all files and is able to manage the access level of other users.
Below is an example of the admin clusterrole command:
$oc create clusterrolebinding registry-controller \ --clusterrole=cluster-admin --user=admin 

What did you achieve?

If you followed all the steps within this manual you now should have a functioning Mediawiki Application running on your own CodeReady Containers. During the installation of this application on CodeReady Containers you have learned how to do the following things:
● Installing the CodeReady Containers
● Updating OpenShift
● Configuring a CodeReady Container
● Configuring the DNS
● Accessing the OpenShift cluster
● Deploying an application
● Creating new users
With these skills you’ll be able to set up your own Container Platform environment and host applications of your choosing.

Troubleshooting

Nameserver
There is the possibility that your CodeReady container can't connect to the internet due to a Nameserver error. When this is encountered a working fix for us was to stop the machine and then start the CRC machine with the following command:
C:\Users\[username]\$PATH>crc start -n 1.1.1.1 
Hyper-V admin
Should you run into a problem with Hyper-V it might be because your user is not an admin and therefore can’t access the Hyper-V admin user group.
  1. Click Start > Control Panel > Administration Tools > Computer Management. The Computer Management window opens.
  2. Click System Tools > Local Users and Groups > Groups. The list of groups opens.
  3. Double-click the Hyper-V Administrators group. The Hyper-V Administrators Properties window opens.
  4. Click Add. The Select Users or Groups window opens.
  5. In the Enter the object names to select field, enter the user account name to whom you want to assign permissions, and then click OK.
  6. Click Apply, and then click OK.

Terms and definitions

These terms and definitions will be expanded upon, below you can see an example of how this is going to look like together with a few terms that will require definitions.
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. Openshift is based on Kubernetes.
Clusters are a collection of multiple nodes which communicate with each other to perform a set of operations.
Containers are the basic units of OpenShift applications. These container technologies are lightweight mechanisms for isolating running processes so that they are limited to interacting with only their designated resources.
CodeReady Container is a minimal, preconfigured cluster that is used for development and testing purposes.
CodeReady Workspaces uses Kubernetes and containers to provide any member of the development or IT team with a consistent, secure, and zero-configuration development environment.

Sources

  1. https://www.ibm.com/support/knowledgecenteen/SSMKFH/com.ibm.apmaas.doc/install/hyperv_config_add_nonadmin_user_hyperv_usergroup.html
  2. https://access.redhat.com/documentation/en-us/openshift_container_platform/4.5/
  3. https://docs.openshift.com/container-platform/3.11/admin_guide/manage_users.html
submitted by Groep6HHS to openshift [link] [comments]

The Shoulders of Orion- Ch. 1: First Contact

Space-time rippled as the Horns of Glory snapped into real space. The normally smooth transition from FTL subspace travel back to the laws of relativity was instead dangerously jarring, as the inertial dampeners struggled to hold the innards of the massive warship in their proper places. After straining mightily for the briefest of moments, they failed, throwing Admiral Halon Va and the rest of his bridge crew violently into their restraining harnesses. The ship shuddered under the immense stress, then settled, drifting silently through space on minimal power.
“Tactical, get me a status report for the fleet on screen now. I want updates the instant ships jump in.” The Admiral’s voice was still firm and authoritative; it was taking every last shred of resolve he had to keep it that way. “Lieutenant Roshin, put a detail together and work with medical. I’m sure that re-entry caused more than a few extra injuries. Get as many of the crew patched up and ready for emergency action as fast as you can. I want a full casualty report as soon as possible. And if you find Science Officer Lentith and he’s still alive, send him to the bridge immediately.”
Admiral Va settled back into his command chair, drawing creaking sounds from the over-stressed frame as it absorbed the weight of his massive form. The bridge was completely silent now, the command crew entirely focused on the tasks at hand. Or they were too afraid to say anything; Va couldn’t be sure. He was thankful for their silence, though. He didn’t have any answers for them about his failure.
Keying in a few commands on the command panel at his station, the damage report for his ship popped up, the bridge lights flickering from the extra power draw. The Horns of Glory floated before him in hologram form. Long and slender, the ship was over two kilometers from bow to stern. At least, it had been a few hours ago. The forward 20 percent of the holographic ship was flashing red, indicating heavy damage. This was inaccurate, however, as the forward 20 percent of the ship simply wasn’t there anymore. The graceful lines and carefully crafted angles of the ship's armor were an unrecognizable slagged mess, and deep gouges had been cut into the inner decks all over the ship. Whole sections were missing amidships, two of the main reactors were offline, all the primary weapon batteries had been completely destroyed, and most of the critical systems were barely functioning. It was a miracle that she had survived the jump. That morning, Horns of Glory had been the greatest feat of Arien’Ra engineering, and it was now a barely functioning hulk.
And it had all happened under my command, thought Va.
He had no time to wallow in his failures, however, as at that moment tactical finally reconnected to the fleet command systems. The hologram of Horns of Glory quickly scaled down, appearing as a small, flashing, red point of light floating in loose formation with several other points of light. Most of them were flashing red as well. A constant stream of data and various reports scrolled down the right side of the hologram, listing in no uncertain terms the doom that Va had subjected his command to.
If Va had thought that the bridge was quiet before, it was nothing compared to the complete stillness that now settled over them. No one so much as moved a muscle, as they all sat in stunned silence, reading the reports. Occasionally, the hologram would flash, and a new point of light would join the formation, adding more data to the pile spelling out their damnation. After 30 ticks, new points of light had stopped appearing. Admiral Halon Va had lost over 60 percent of his fleet, and not a single other dreadnaught had survived the slaughter. His defeat was total, and the Federation navy was crippled.




Science Officer Beredarin Lentith had been the first member of his family not to enroll in command school in eight generations. They had been some of the finest members of the fleet the Vorqual race had ever contributed to the Federation. His brothers and sisters had all enrolled, which meant that as far as he was concerned, his family had more than fulfilled their duty to the Federation. Military life wasn’t for him, anyway; he wanted to explore. The Federation had been around for over 3000 years, and there were still vast swathes of the galaxy that they knew nothing about. They were still encountering new species every few hundred or so years, and there was nothing he wouldn’t give to find the next one. That had been the dream that directed him away from the military and into academia. The odds of actually finding a new race were so small, though. There were still at least 200,000,000 unexplored systems in the galaxy. There just wasn’t time to visit them all...
He snapped out of his reverie as he stepped over the body, or rather, what was left of the body, of a Zelnassi marine. Most of it was just a green stain on the corridor wall at this point, though there had been enough of the chitinous armored torso to partially obstruct his path. The young lieutenant quickly continued on towards the bridge.
If he was being honest with himself, becoming an expert on the area of unexplored space directly between the Federation and it’s largest military rival wasn’t the smartest of ideas. Between his family reputation and his unique knowledge base, he was just asking to get pressed into service.
Which was exactly what had happened immediately upon the recent outbreak of hostilities.
And now here he was stepping over corpses, marveling at the fact that he had somehow survived this long. He still couldn’t believe the insanity of the Dominion forces. Boarding an enemy ship MID-COMBAT. It was like something out of a youngling’s tale from before space travel. It was pure madness, but there were the bodies to prove that it had happened. He gingerly stepped around the remains of yet another Zelnassi.
The signs of battle continued all the way to the bridge, where he found security forces still holding quickly fortified positions around the bridge entrance. There were more Zelnassi bodies at their feet. Berendarin shuddered. He had been closer to death than he thought.
He quickly pushed those thoughts out of his mind. He could only imagine why he was needed on the bridge so urgently.
The door slid open, and Lentith walked into a completely silent room. Admiral Va was slouched at his command station, his enormous arm propped up on the chair arm and supporting his massive, horned head. Lentith didn’t even know that Arien’Ra COULD slouch. Nevermind that the fastidious Admiral could or would ever do such a thing. Maybe things were somehow worse than he thought. No one seemed to notice him enter, so he announced himself to the Admiral.
Though he didn’t shout, his voice echoed in the deathly silent room, startling most of the bridge command. Two of the other Vorqual officers swore, and the tiny Jezren manning the com station let out a high pitched sound somewhere between a squeak and chirp. Berendarin would have found it quite funny if the situation wasn’t so dire.
Admiral Va immediately snapped back to being the hulk of muscle and horn that imposed his will on a room just by being in it. His booming voice only added to his authority.
“Science Officer Lentith. I’m glad to see you’re still alive. Are you seriously injured?”
Berendarin had almost forgotten that he had walked the entire way to the bridge holding a bandage to his head just above his left eye. The drop out of subspace hadn’t been kind to him. He pulled the bandage away, revealing a dark orange stain on the bandage and a crack in the bone plate above his eye.
“I’m fine, sir, just one of the outer plates, and the bleeding has already stopped.”
“Good. Commander Vortith is currently overseeing the emergency repairs. Take his seat. You are going to help me find a way back home.”
“Sir? I’m sorry I don’t understand. Why don’t we just go back the way we came?”
“That’s not possible. Most of our supply ships and tenders were destroyed when that third wave of Dominion ships hit our flank. Almost all of our pre-prepared fuel reserves are gone. On top of that, some of our ships are so damaged that they don’t have another long jump in them. And if we run into any enemy ships, the whole rest of the fleet is done for. We barely qualify as a fighting force in the state we’re in.”
“Is it really that bad?”
“It’s worse, but we don’t have time to get into the details. You’re the expert on this section of the galaxy. I need you to find the fleet a hiding hole. Somewhere away from the known jump routes through the Spur. Any system where we can use the few miners we have left to scavenge up some fuel, and get some critical repairs done while we’re at it. And from there either wait for reinforcements or get ourselves patched up enough to limp home. Wherever it is, it needs to be close. I’m not leaving any ships behind because they can’t make the jump.”
“Oh. Just that?” The lieutenant knew that Arien’Ra were strict herbivores, but with the look that the Admiral shot him, he couldn’t help but think about the fact that his head would easily fit into that giant, molar filled mouth.
“And away from any known pirate hideaways. Like I said, our fleet can’t take any more fighting. And find it quickly. It won’t be long before the Dominion fleet locates us.”
“I. Uh. Sure. I’ll see what I can find.”
Berendarin shrank into the commander’s chair next to the enormous Arien’Ra, desperately wishing he had been more professional. If he had acted like a proper soldier, it might soften the blow of telling the Admiral that what he wanted was next to impossible. If he had a few weeks, he might be able to find something. So much of the Spur was still un-surveyed. The odds of there being anything useful to the Admiral in the databases was absurdly low, and there was even less of a chance he’d be able to find it in time for the information to matter. He began pouring through his notes anyway. It was better than waiting around to die, which, if the situation was as dire as the Admiral made it sound, was the only other option.
He spent the next hour lost in his notes, finding nothing, while the bridge crew went about piecing the ship and the fleet back together. The young scientist had all but given up on the Admiral’s impossible request when a raucous cheer went up from everyone on the command deck.
“Sir,” The coms officer called out, “The Consul’s Pride just dropped out of subspace and is hailing us, sir.
The main communication screen lit up, and Berendarin Lentith looked to see the face of his oldest sister on screen, strapped into the captain’s chair of her dreadnaught. He let out a sigh of relief; Baraquen was his favorite sibling. Her uniform was drenched in a deep orange blood stain at the shoulder, and she was covered in what looked like flecks of green gore from a Xelnassi. The artificial gravity was clearly malfunctioning, as the captain’s restraining harness was the only thing keeping her from floating around her bridge. But the bone plates of her jaw were turned as always into her calm, self assured smile
“My apologies for the delay in joining you, Admiral Va. We had some… guests shut down our drive mid jump. We had to deal with them before we rejoined the fleet. I assume there is a plan to get us back to federation space?”
“It’s good to see you in one piece, Captain Lentith,” the Admiral responded. He was barely able to keep the relief from his voice. “And there is indeed a plan.”
Berendarin returned to his research as the two ranking officers in the fleet went over the details of their current predicament. He was glad his sister had survived, and not just because they were close. It would have been a terrible blow to the whole family to have lost not only their future matriarch, but the ship she commanded as well. A member of his family had been commanding that dreadnaught uninterrupted for the last 5 generations. Military service had never appealed to Berendarin, but his family history was certainly still important.
And then the solution to the current problem hit him like a driver round. He let out a gasp and tore into his notes with a fervor. Both Admiral Va and his sister’s projection turned to look at him, but he didn’t notice. After a few seconds of curious silence from the rest of the onlookers, Berendarin practically jumped out of his seat.
“Admiral, I think I’ve got something that will work.” The young Lieutenant punched a few commands into his datapad, and a set of stellar coordinates popped up on the navigation terminal. “It’s a main sequence star, about 500 light years from us, fairly close to the edge of the Spur. It’s not anywhere near any established jump routes. The Consul’s Pride made me think of it.” He nodded towards his sister’s face on the ship's screen. “Our great, great grandsire took the Consul’s Pride through the system on her shakedown run a little over 300 cycles ago. Chased a band of Qorthi slavers out of the system. The outer four planets are all gas giants. If we can’t find Helium 3 there, I don’t know where else we should look.”
On screen, Captain Lentith looked impressed, but Admiral Va clearly didn’t seem too sure. “We’re supposed to be going away from Dominion forces, not into them. What were the Qorthi doing there?”
“There are also four rocky inner worlds in the system, Sir, according to reports from the encounter. Apparently, the third planet is a Class 7 Deathworld, and the Qorthi were running some experiments on the primitive lifeforms there. They were caught completely by surprise by the Consul’s Pride, and it was the first time that she fired her weapons in anger. I can’t find any reports of Dominion ships in that section of the Spur since.” There was a long pause before Va responded.
“Good work, Lieutenant. I knew my trust in you wasn’t misplaced.” Admiral Va replied, before turning to the rest of the bridge and booming “Coms! Tactical! Get those coordinates to every ship in the fleet. I want every ship we have left formed up and ready to jump as soon as possible. Any captain who feels that his drives can’t make the jump is to focus all repair efforts on getting their drives functioning immediately. I will transfer repair crews from less damaged ships to more damaged ships if that means we jump even a tick earlier. Get to it everyone. I’m not losing any more of my fleet today.”




The four revolution long jump to Science Officer Lentith’s newfound sanctuary had done wonders for Halon Va’s mental state. The initial shock of his fleet's terrible defeat had worn off, and he had been able to focus on what came next. Repair crews were able to stabilize most of his ship's core systems, and he was no longer worried about the life support systems cutting out and killing the rest of his crew. There had also been time for him to visit with the wounded. To thank them for their sacrifices. He had expected it to be an act of contrition, maybe even a chance to start begging for forgiveness. But there had been no anger in his crew, and no blame hung on his horns. Most had just been relieved that he had survived, and had expressed as much. He would be forever grateful to them for that.
Most importantly, the four revolutions in hyperspace had given the admiral time to really think about what had gone wrong in the nebula. He had barely rested in the preceding four revolutions, spending every scrap of spare time in his office, pouring over records from the battle. That’s where he found himself now, tucked behind his massive ceramic and titanium alloy desk of Tellarim design. It had been custom made for him upon his promotion to this command, a gift from the high admirals and the council. It was the only luxury that Va allowed in his office. The rest of Va’s space he kept strictly utilitarian. There were no trophies adorning his walls, as was customary for other members of his species. The plain bulkheads of his office were instead lined entirely with screens, and each of them were now filled with footage and reports from the battle, running on loop.
Va soaked it all in. The more he watched, the more a singular conclusion crystallized in his mind. He had done everything right; he was sure of that now. 1000 years of doctrine and theory for fighting the Dominion had gone into his preparation for that battle, and he had followed it to the letter. And he had been winning. Then that attack on his flank by the Zelnassi had blown all of that out of the airlock. Something significant had changed in the way the Dominion fought...
Commander Vortith’s voice rang out over the com system. ”Admiral Va, we’ll be transitioning back to real space in moments.”
“Thank you. I’ll be there shortly. And get Science Officer Lentith to the bridge. I want him nearby just in case. He’s the only one who has any idea of where we are.” The Admiral pulled himself from his desk. He would have to leave the rest of his analysis for later. There was just enough time for him to reach the bridge and settle into his command chair before the Horns of Glory snapped back to real space. This time, the inertial dampeners held.
“Tactical, status report.”
“All ships accounted for, Admiral. Though the Consul’s Pride, several cruisers, and three of our escorts are all reporting massive failures in their Drive Cores. They won’t be jumping anywhere anytime soon.”
“Wonderful.” Va wasn’t sure if he meant that sarcastically or not. “Get scans up and running and deploy the pickets that aren’t crippled in a standard scouting formation. How close are we to the nearest gas giant?”
“We’re approximately half a light tick from the system’s innermost gas giant, sir.”
“Excellent. Deploy the rest of the fleet. Put us in a high orbit around the planet in a defensive formation, and get our miners working immediately. Once our orbit is stable, I want every hand, paw and hoof in the fleet working on repairs.”
“Yes sir.”
Admiral Va settled into his command chair for a long shift.
It would be a drawn out, boring process to refuel the ships. With his fleet limping along, and only two functioning miners, it would take far longer than it should. After all the chaos of the last few revolutions, boring would be a welcome change of pace. Va started to relax, sinking into his chair’s acceleration padding. His fleet and his crews were finally safe. The first priority would be to get one of the subspace beacons repaired and to get word back to the Federation that the fleet still existed. And hopefully call for aid. He was sure to be stripped of his rank as soon as contact was made, but hopefully he would avoid a Tribunal. That was an unpleasant prospect…
“Sir, we have unidentified ship signatures appearing from around the planet we’re approaching.”
Va had never heard panic in the voice of his young sensors officer before, but it was certainly there now. Va understood the sentiment, though. He found it difficult to keep the panic from his own voice as he started issuing orders
“Bring the fleet up to combat status immediately. How many ships are there?”
“I’m showing 35 individual signatures. All approaching us at combat speed and still accelerating. At current speeds, they will intercept us in just over 30 ticks, sir.”
“I want details as soon as you have them, Lieutenant. Size, make, estimated firepower. Who they are. And keep scanning the system. Find out where they came from.” The panic had partially subsided for Va. 35 unknowns was not too terrible a threat. He still had almost 240 warships under his command. Still, if there was a way to avoid combat, he had to try. His fleet couldn’t suffer any more losses. “Coms, any attempt by these unknown ships to contact us?”
“I”m not sure, sir,” the diminutive Jezren at the coms replied. “There’s nothing on standard communications channels. The ships are transmitting something, but I can’t figure out what it is.”
“Admiral,” the Lieutenant at the sensors station called out. “I think I might have an idea of where these ships came from. Preliminary scans show there is extensive urbanization on the third and fourth planets, as well as what appear to be habitation sized artificial satellites around the second and sixth planets. One of the moons of the gas giant we’re approaching shows signs of habitation as well. All of them are emitting significant signal pollution. This system clearly already belongs to someone, and they’re broadcasting everywhere.”
Halon Va, High Admiral of the Combined Federation Fleets, turned, slowly and with as much composure as he could muster, to face the young science officer seated to his left. Berendarin sat, mouth agape, staring transfixed at the sensor readouts in front of him. Va had never seen a Vorqual more confused in his life. “I want answers, Officer Lentith.”
“I… I don’t.. This doesn’t make any sense,” the young science officer stammered. “There shouldn’t be anything here.”
“Admiral,” The comms officer cut in, “The signal that we’re picking up from the unknown ships is definitely some kind of communication. I managed to put together audio from it.”
“Play it,” commanded Va. A series of short, guttural, and completely unintelligible sounds came over the speakers in reply. There was a short pause before the sounds repeated themselves again. “Coms, what was that?”
“No idea, sir, but it’s being transmitted on loop. If it is intended as a communication, our translators have no idea what to do with it.”
“Admiral.” The voice came from Va’s left, and was barely audible. Va turned yet again to look at the young science officer. His gaze was locked on the tactical readout, and there something in his eyes that Va couldn’t recognize. A mixture of pure terror and something else. Was it wonder? The young Vorqual’s voice was still barely above a whisper when he continued to address the admiral: “I think we should run the transmission through First Contact Protocols.”




Captain Benjamin Alvarez-León slammed against his restraining harness as the USCS Aurora started it’s decel burn. He had pushed the engines on the outdated cruiser to their limits, and the ship groaned in protest as it started counteracting his rather zealous acceleration orders. He hoped that his mad scramble with his small squadron of outdated ships had been an overreaction. The alternative was something he’d rather not think about.
All Ben had was the reserves; the rest of the fleet was on maneuvers at Sirius. The Admiralty had wanted to test the new, fully modernized fleet’s maneuvering abilities in the gravwell of a binary system. And, in their infinite wisdom, they decided they needed ALL of the new fleet assets, leaving nothing in Sol except for the handful of cruisers and escorts that couldn’t match the capabilities of the modern ships.
A handful of cruisers and escorts that were now hurtling towards more than 200 unknown contacts.
It was the unknown part of all of this that was unnerving Ben. There were no familiar energy signatures. No familiar scan data. No IFF. No signals coming off the contacts of any kind for that matter. Two of the contacts were too big to even be ships. If it wasn’t for the fact that they were moving towards Jupiter in formation, Ben wouldn’t even think they WERE ships.
“So what do you think, Alexi?” Ben asked, turning towards his second in command. “You and the rest of the bridge crew are always making inane bets. Have you whipped up an over-under for what we’re throwing ourselves at yet?”
“Haven’t had time,” came the quick reply from Ben’s right. The short, stocky man from Vladivostok was missing his trademark joviality. “Though, my money is on them being Ithacan, sir.”
Ben bristled at Alexi calling him sir. They’d been friends for twenty years, damnit, and had been practically joined at the hip since going through the Academy together. Outranking him still felt a little off. Now was hardly the time to worry about formalities, though.
“What makes you think they're from Ithaca?”
“It’s the only thing that makes sense. The locals have been getting increasingly radical, and Ithaca is the only sector where reports of piracy have been increasing.”
“Yeah, I could see a rebellion coming from Ithaca,” Ben added slowly, turning over that scenario in his head. “But there’s no way they could swing something of this magnitude. There aren’t even any shipyards in the sector. And even if there were, there’s no way they could keep the construction of over two hundred ships a secret.”
Alexi could only offer him a shrug in response.
It was at that moment that the coms station informed him there was a transmission incoming from the unidentified ships. Ben instructed the ensign to play it, and the bridge was suddenly filled with a stream of grotesque bleating noises and strange grunts, with the occasional recognizable syllable interspersed throughout the transmission. Ben thought he picked out ‘dentify’ from the mess, but he wasn’t sure. There was a long moment of silence on the bridge.
“What the hell was that?”
When no one had any answers for him, Ben tapped his command console and recorded a new message to broadcast.
“This is Captain Alvarez of the USCS Aurora. Unidentified ships, please clarify. Your transmission is badly garbled. We did not receive your identification. You are still trespassing in Commonwealth space and are on an unauthorized course towards Jupiter. Begin decelerating immediately and re-identify yourselves.”
He wouldn’t admit it to the crew, but Ben was profoundly unsettled. Something was deeply, deeply wrong about this whole situation. Not only was he vastly outnumbered by these things, but they were unwilling to communicate properly. He was almost believing this whole thing was some kind of bizarre prank.
“How much longer before we can get a decent visual on these things?
“Any moment now, sir.”
A new transmission arrived just then, and Ben had it played back immediately. This time, instead of almost bovine bleats and grunts, the sounds coming over the speakers were mostly intelligible. Or, they would have been, if any of the syllables were in the right order. It was almost like a toddler was rattling off all of his new favorite sounds, spitting them out in a random order and not knowing how they went together. There were still a few heavy grunts sprinkled in, just for good measure.
Before Ben could process this new joke of a transmission, the contacts finally started slowing. In a matter of moments, the strange wall of contacts was hanging lazily in Jupiter’s orbit, barely moving fast enough to keep their orbit from decaying. They were still in perfect formation.
“Huh. Well, I guess that’s something.”
With nothing to do but sit back and wait as his ship closed the distance, Ben tried to relax and began running over all of the possibilities in his mind of what the new contacts could be. He came up with nothing. Well, nothing feasible, anyway. He took a series of long, calming breaths, trying to clear his mind and focus. This was no time for his imagination to be running wild. But he couldn’t shake the feeling that logic was failing him. Something was off. Something…
“Captain, bringing visual of the unknown contacts up on screen now.”
Ben actually felt his jaw drop. Every contact on his display was clearly a ship. Most were long and spindly, wrapped in layers of some kind of highly reflective armor; a fleet of crystalline arrows hanging in the darkness. The two largest contacts, which Ben had just moments ago thought were too big to be ships, were large enough on the screen for him to clearly see details. In addition to their immense size and strange armor, both ships were dotted with what were clearly weapons platforms, though what kind, Ben couldn’t tell.
Noticeably, almost all of the ships on his screen were heavily damaged. Chunks were missing from some ships, and most had deep lines gouged into their hulls. Any form of decorative paint or markings had been burned away. Something had put these ships through absolute hell. But still, the damage could not take away entirely from the elegance of the ship’s designs. They were graceful and sleek, completely different from anything Ben had ever seen before.
It was all so different. So strange. So very, very… Alien.
Despite every effort he had made to avoid the word, it finally forced itself to form inside Ben’s mind, and forced him to acknowledge the reality that legitimate, extra-Solar life was hanging in the darkness in front of him. It forced him to acknowledge the screams he had been suppressing in the back of his mind. The screams of his imagination crying out in glorious triumph over reality. And with those screams came a deluge of accompanying thoughts and emotions.
He was a child again, staring up at the stars above Armstrong and wondering what else, and who else, was out there. He was a teen again, signing his name to the Academy enrollment paperwork, determined to get out there between the stars and see the galaxy himself. He was a young officer again, screaming and pleading with the Admiralty to at least consider a modern First Contact scenario. He was sitting in his command chair now, hurtling towards honest-to-god aliens, all of his dreams made manifest in an instant. He was overwhelmed. He was terrified.
And he had never imagined that he could feel such elation.
It was the young warrant officer at the coms that snapped Ben out of his reverie. “Sir, the contacts are hailing us on all standard channels, requesting a video feed.” She sounded very, very nervous.
Ben immediately stood up, straightening his uniform as best he could. “If they’re anything less than genocidal monsters, I’m going to offer them aid and repairs. As long as they’re peaceful, there’s no reason not to extend them the full hospitality of humanity.”
“Ben,” Alexi asked, clearly choosing his words carefully, “Are you sure that’s the… Wisest course of action? How will the Admiralty respond to Goddamned alien ships docking at Hephaestus?”
“Alexi, in the 250 years the Commonwealth has existed, the First Contact protocols haven’t been updated since the charter was signed. No one has cared. This has been nothing but a fantasy for most people. I am NOT letting this opportunity get away. Every child that has ever looked up at the stars and wondered finally got an answer, and I will not waste this moment. We’re making friends, the Admiralty and the government be damned.”
“You do realize you’re potentially deciding the fate of our entire species on a whim, right?”
“Is there someone else you’d prefer to have making this call?”
Alexi, apparently deciding that there was not, stood up and straightened his uniform, standing next to his friend as he ordered the connection of the video feed. The channel connected, and the human bridge crew found themselves looking at the bridge of a ship crewed by not one, but three alien races.
The largest alien in the center of the screen opened its mouth to speak. This time, instead of bleats and grunts, a choppy, mechanical voice that didn’t sync up to the alien at all proclaimed from the bridge speakers in broken, stuttering English: “I. Am Admiral. Halon. Va. Of the Federation of. Sentient Races. Greetings and. Welcome. To the. Galaxy.”
Ben couldn’t suppress his smile.
“On behalf of the United Solar Commonwealth, and all of Humanity, greetings, and welcome to Sol. Your ships look like they’ve had a bad time on your way here. If there’s any way we could aid with your repairs, we’d be happy to help.”




Slave 782 slammed his right appendage onto the control console hard enough to rupture his outer membrane and smear ichor over the panel. It had been four days since the battle in the nebula, and with the latest round of reports, he finally had to admit that the rest of the Federation fleet had escaped him.
It was a minor frustration, all things considered, but the escape prevented this from being a total victory. Still, he had proven his worth to his owners in this battle, and his experiments with the Zelnassi had paid dividends beyond his wildest imagination. He had earned a command today, and with every success in that command, his ability to bargain for his people's freedom only increased. For what he would be asking, it might take the total defeat of the Federation to earn that kind of leverage. Also frustrating, but not a task that he couldn’t handle. It would be a long war, he was sure, but like his owners, he was patient.
He would earn his freedom, even if it meant reducing the entire Federation to glass.


Author Wiki
Series Wiki
NEXT
submitted by STATICinMOTION to HFY [link] [comments]

I created an INFO AGGREGATOR for YouTube channels! Has sections for note taking, marking videos as watched, marking videos to rewatch, and a link to every video posted by that channel 🤓

I wanted to have an easy way to take notes on videos I watch on YouTube, and ended up making a Python package to automate the video scraping process for any channel. This package is specifically for scraping videos posted by one channel, and does not support scraping info from multiple channels or linking related videos.
Sources: GitHub, PyPI, releases
pip3 install -U yt-videos-list # MacOS/Linux pip install -U yt-videos-list # Windows python3 # MacOS/Linux python # Windows from yt_videos_list import ListCreator my_driver = 'firefox' # SUBSTITUTE DRIVER YOU WANT (opera, safari, chrome, brave, edge) lc = ListCreator(driver=my_driver, scroll_pause_time=0.8) lc.create_list_for(url='https://www.youtube.com/useschafer5') lc.create_list_for(url='https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ') # see the new files that were just created: import os os.system('ls -lt | head') # MacOS/Linux os.system('dir /O-D | find "_videos_list"') # Windows # for more information on using the module: help(lc) 
For more info about the API and debugging common setup problems, see the API guide. There's also more configuration information and options about which driver to use there, so take a look if you want a better idea! :)

Background

This package uses Selenium with additional logic (in this submodule) to automatically download the relevant Selenium drivers for all browsers you already have. This was crucial since setting up Selenium is often a nightmare the first time (you need to configure path variables if you download it from one place but not another, or you need to move it after you download it, or you need to unzip it, etc...), so the added logic uses curl and tar to download the binaries directly and places the binaries in a location where you don't need to configure anything.
There are also tests here (see the run_tests.sh and run_tests.bat files for an overview) to ensure the output files are consistent every time and across platforms (using hashes to compare expected file to output file). This was initially a source of error since Windows uses CRLF line endings and *nix typically uses LF endings, so I thought this would require manual modification, but turns out it doesn't and this required a bit of tinkering to get right (this is what I incorrectly did the first time, and this is the fix after I realized the problem, and this is the additional configuration you need to do to synchronize output for csv files).
I also added a custom minifier to shrink the source code to save space. This takes all the code from the dev/ directory, strips whitespace and comments, then recreates it in the yt_videos_list/ directory. The goal was to create a minifier similar to the one used by front-end frameworks to shrink shipped code to minimize bandwidth usage. I realize this isn't something that's typically done in Python, but figured since most users just pip installthe package and rarely look at the actual source code, this could be something I could do without causing much problems. 🤓
All this said, is there anything else I can do to make this project better? Mainly looking for feedback on design choices and readability, since these 2 things tend to cause the most problems when working on a new codebase, but if any of you have other feedback I'd love to hear it!
submitted by __forever_curious to Python [link] [comments]

./play.it 2.12: API, GUI and video games

./play.it 2.12: API, GUI and video games

./play.it is a free/libre software that builds native packages for several Linux distributions from DRM-free installers for a collection of commercial games. These packages can then be installed using the standard distribution-provided tools (APT, pacman, emerge, etc.).
A more complete description of ./play.it has already been posted in linux_gaming a couple months ago: ./play.it, an easy way to install commercial games on GNU/Linux
It's already been one year since version 2.11 was released, in January 2019. We will only briefly review the changelog of version 2.12 and focus on the different points of ./play.it that kept us busy during all this time, and of which coding was only a small part.

What’s new with 2.12?

Though not the focus of this article, it would be a pity not to present all the added features of this brand new version. ;)
Compared to the usual updates, 2.12 is a major one, especially since for two years, we slowed down the addition of new features. Some patches took dust since the end of 2018 before finally be integrated in this update!
The list of changes for this 2.12 release can be found on our forge. Here is a full copy for convenience:

Development migration

History

As many free/libre projects, ./play.it development started on some random sector of a creaking hard drive, and unsurprisingly, a whole part of its history (everything predating version 1.13.15 released on Mars 30th, 2016) disappeared into the limbs because some unwise operation destroyed the only copy of the repository… Lesson learned, what's not shared don't stay long, and so was born the first public Git repository of the project. The easing of collaborative work was only accidentally achieved by this quest for eternity, but wasn't the original motivation for making the repository publicly available.
Following this decision, ./play.it source code has been hosted successively by many shared forge platforms:

Dedicated forge

As development progressed, ./play.it began to increase its need for resources, dividing its code into several repositories to improve the workflow of the different aspects of the projects, adding continuous integration tests and their constraints, etc. A furious desire to understand the nooks and crannies behind a forge platform was the last deciding factor towards hosting a dedicated forge.
So it happened, we deployed a forge platform on a dedicated server, hugely benefiting from the tremendous work achieved by the GitLab's package Debian Maintainers team. In return, we tried to contribute our findings in improving this software packaging.
That was not expected, but this migration happened just a little time before the announcement “Déframasoftisons Internet !” (French article) about the planned end of Framagit.
This dedicated instance used to be hosted on a VPS rented from Digital Ocean until the second half of July 2020, and since then has been moved to another VPS, rented from Hetzner. The specifications are similar, as well as the service, but thanks to this migration our hosting costs have been cut in half. Keeping in mind that this is paid by a single person, so any little donation helps a lot on this front. ;)
To the surprise of our system administrator, this last migration took only a couple hours with no service interruption reported by our users.

Forge access

This new forge can be found at forge.dotslashplay.it. Registrations are open to the public, but we ask you to not abuse this, the main restriction being that we do not wish to host projects unrelated to ./play.it. Of course exceptions are made for our active contributors, who are allowed to host some personal projects there.
So, if you wish to use this forge to host your own work, you first need to make some significant contributions to ./play.it.

API

The collection of supported games growing endlessly, we have started the development of a public API allowing access to lots of information related to ./play.it.
This API, which is not yet stabilized, is simply an interface to a versioned database containing all the ./play.it scripts, handled archives, games installable through the project. Relations are, of course, handled between those items, enabling its use for requests like : « What packages are required on my system to install Cæsar Ⅲ ? » or « What are the free (as in beer) games handled via DOSBox ? ».
Originally developed as support for the new, in-development, Web site (we'll talk about it later on), this API should facilitate the development of tools around ./play.it. For example, it'll be useful for whomever would like to build a complete video game handling software (downloading, installation, starting, etc.) using ./play.it as one of its building bricks.
For those curious about the technical side, it's an API based on Lumeneffectuant that makes requests on a MariaDB database, all self-hosted on a Debian Sid. Not only is the code of the API versioned on our forge, but also the structure and content of the databases, which will allow those who desired it to install a local version easily.

New website

Based on the aforementioned API, a new website is under development and will replace our current website based on DokuWiki.
Indeed, if the lack of database and the plain text files structure of DokuWiki seemed at first attractive, as ./play.it supported only a handful of games (link in French), this feature became more inconvenient as the library of ./play.it supported games grew.
We shall make an in-depth presentation of this website for the 2.13 release of ./play.it, but a public demo of the development version from our forge is already available.
If you feel like providing an helping hand on this task, some priority tasks have been identified to allow opening a new Web site able to replace the current one. And for those interested in technical details, this web Site was developed in PHP using the framework Laravel. The current in-development version is hosted for now on the same Debian Sid than the API.

GUI

A regular comment that is done about the project is that, if the purpose is to make installing games accessible to everyone without technical skills, having to run scripts in the terminal remains somewhat intimidating. Our answer until now has been that while the project itself doesn't aim to providing a graphical interface (KISS principle "Keep it simple, stupid"), still and always), but that it would be relatively easy to, later on, develop a graphical front-end to it.
Well, it happens that is now reality. Around the time of our latest publication, one of our contributors, using the API we just talked about, developed a small prototype that is usable enough to warrant a little shout out. :-)
In practice, it is some small Python 3 code (an HCI completely in POSIX shell is for a later date :-°), using GTK 3 (and still a VTE terminal to display the commands issued, but the user shouldn't have to input anything in it, except perhaps the root password to install some packages). This allowed to verify that, as we used to say, it would be relatively easy, since a script of less than 500 lines of code (written quickly over a week-end) was enough to do the job !
Of course, this graphical interface project stays independent from the main project, and is maintained in a specific repository. It seems interesting to us to promote it in order to ease the use of ./play.it, but this doesn't prevent any other similar projects to be born, for example using a different language or graphical toolkit (we, globally, don't have any particular affinity towards Python or GTK).
The use of this HCI needs three steps : first, a list of available games is displayed, coming directly from our API. You just need to select in the list (optionally using the search bar) the game you want to install. Then it switches to a second display, which list the required files. If several alternatives are available, the user can select the one he wants to use. All those files must be in the same directory, the address bar on the top enabling to select which one to use (click on the open button on the top opens a filesystem navigation window). Once all those files available (if they can be downloaded, the software will do it automatically), you can move ahead to the third step, which is just watching ./play.it do its job :-) Once done, a simple click on the button on the bottom will run the game (even if, from this step, the game is fully integrated on your system as usual, you no longer need this tool to run it).
To download potentially missing files, the HCI will use, depending on what's available on the system, either wget, curl or aria2c (this last one also handling torrents), of which the output will be displayed in the terminal of the third phase, just before running the scripts. For privilege escalation to install packages, sudo will be used preferentially if available (with the option to use a third-party application for password input, if the corresponding environment variable is set, which is more user-friendly), else su will be used.
Of course, any suggestion for an improvement will be received with pleasure.

New games

Of course, such an announcement would not be complete without a list of the games that got added to our collection since the 2.11 release… So here you go:
If your favourite game is not supported by ./play.it yet, you should ask for it in the dedicated tracker on our forge. The only requirement to be a valid request is that there exists a version of the game that is not burdened by DRM.

What’s next?

Our team being inexhaustible, work on the future 2.13 version has already begun…
A few major objectives of this next version are :
If your desired features aren't on this list, don't hesitate to signal it us, in the comments of this news release. ;)

Links

submitted by vv224 to linux_gaming [link] [comments]

Wine 5.13 Released

The Wine development release 5.13 is now available.
 
https://www.winehq.org/announce/5.13 
 
What's new in this release (see below for details):
 
- Re-mapping of INI files to the registry. - System call thunks in NTDLL. - Reimplementation of floating point numbers printing. - Beginnings of a restructuration of the console support. - Various bug fixes 
 
The source is available from the following locations:
http://dl.winehq.org/wine/source/5.x/wine-5.13.tar.xz http://mirrors.ibiblio.org/wine/source/5.x/wine-5.13.tar.xz 
 
Binary packages for various distributions will be available from:
http://www.winehq.org/download 
 
You will find documentation on
http://www.winehq.org/documentation 
 
You can also get the current source directly from the git repository.
Check
http://www.winehq.org/git for details. 
 
Wine is available thanks to the work of many people.
See the file AUTHORS in the distribution for the complete list.
 
 
Bugs fixed in 5.13 (total 22):
 
4096 IniFileMapping not Implemented (ini on win9x => Registry on NT) 18072 Core Media Player crashes on missing CLSID_DvdGraphBuilder {fcc152b7-f372-11d0-8e00-00c04fd7c08b} (qdvd.dll) 27298 The Witcher 2 Slow Performance on any setting. 28109 winmm capture tests fail on some machines 31023 CuteFTP 8.3.4 - "Encountered an improper argument." Error boxes after most actions. 32215 11game platform crashes at start 36546 Please remove `tmpfs` special treatment in ntdll / MSI packages cannot be installed from `tmpfs` 42874 Battle.net App is unable to update games 44127 Metal Gear Solid V: Ground Zeroes doesn't launch 45701 Warframe: Launcher.exe does not update, keeps relaunching itself 45876 Call of Duty: Black Ops III and Call of Duty: WWII have no mouse input when using native mfplat 47587 Call to Power II: Screen doesn't repaint after selecting main menu option 49092 Blindwrite 7 crashes with a stack overflow 49103 Call of Duty: Modern Warfare 2 Campaign Remastered mouse input is missing 49422 Dungeon Siege 1 & 2 weapons are misplaced 49438 Wine on ARM64 fails with "could not exec the wine loader" unless --enable-win64 is used 49489 Incorrect rendering in Warframe with nvidia 49496 sprintf uses locale specific decimal point when it should not. 49513 Battle.net fails to install World of Warcraft or Starcraft II 49522 Mass Effect: Andromeda doesn't recognize keyboard input since 5.12 49570 LVM_FINDITEM should do case-insensitive test for item text 49573 Sporadic page fault on 64bit prefix creation on macOS 
submitted by catulirdit to linux_gaming [link] [comments]

THE SEARCH FOR THE GREATEST SHMUP: EPISODE 27 – Darius Cozmic Collection Console

This is it. We have finally managed to reach the shmup that started it all. The one shmup I played before any other and which inspired me to devote my time to the genre. It isn’t the best Darius game by any means, but it is certainly the one closest to my heart. We are finally reviewing Super Nova!
Ok, maybe we’re not just reviewing Super Nova. We are going to be taking a look at the entire Console Cozmic Collection and seeing how it stacks up against the Arcade Collection. They say console ports are usually downgraded versions, but will it also be the case here?
Publisher: ININ Games
Platform: Nintendo Switch
Release date: Jun 16, 2020
Price: $59.99
Tate: Please don’t use your flip grip on this one
The Darius Cozmic Collection Console is a compilation of Darius games released on consoles. This port was also developed by the brilliant M2. You can definitely set your expectations on high, because this collections is as high quality as the arcade collection, albeit with some notably absent features.
The titles included in this collection are:
THE BESTEST PORTS ARE M2 PORTS
If you read my review for the Arcade Collection, then you know what to expect from this collection. Each of the 9 included games feature a wonderful wrapping of quality of life enhancements as well as customization options.
Each title can be accessed from a main menu that features a museum style listing for each game. When highlight a game, you will be presented with an image of the title screen and a brief description of the game on its right. I found the descriptions extremely helpful when deciding which game to play. Having several versions of the same game is great for collection purposes, but the descriptions provided some much needed guidance.
While in-game, you can pull a special menu at any point by pressing ZR or ZL. This menu lets you customize several aspects of a game, such as the controls and the visuals. Just as the arcade collection, you can set your controllers to map buttons to be fire+bomb and even adjust the rapid fire setting. The visuals have less options, but staples such as the display type and scanlines are available. The “other” tab is quite lacking, as it only has the volume setting.
It wouldn’t be much emulation without some save states! Each game has a quick save option which lets you save your current state in one of 12 different slots. The saving and loading process is very smooth, and it doesn’t take any time at all to load any given state. Unlike the arcade collection, there are no ranking penalties for using save states. Rather than being a good thing, it mostly relates to a lack of rankings, but more on that later.
THE MISSING FEATURES
Whereas the arcade collection felt like a love letter to the arcade culture, the console collection lacks a lot of the charm. It’s in part understandable due the nature of consoles not being as flashy as arcades. I don’t mean to say that the work in this collection is lacking in comparison, it’s just that in general arcades had much more going on.
One of my highlights in the arcade collection was my introduction to Darius I with controller vibration in sync to the music. Sound and vibration fanfares were not available on console because there is no such thing as coin operated credits. As a result, rumble is completely absent in this collection.
All of the gadgets are missing from this edition as well. Rather than getting the art of the arcade panels or useful information, all the console collection gets is a background. When looking at both collections side by side, the console collection like extremely empty, as you only have the game screen and nothing else. The only exception is Darius Alpha, which has a boss gadget on the right side of the screen.
THE LONG LOST GAME CHANGERS
To the detriment of gameplay, some of the more useful gadgets won’t be making a return. Losing the boss analyzer and life gauges is rough, but pales in comparison to losing your arm counter. Other than relying on in-game visuals, you no longer have additional graphics showing arm strength, weapon strength or even bonus score counters.
Another addition I was really fond of was the map/zone overview on the pause screen. Most of the games show the route progression in-game (except for Darius Plus). What is lost is the ability to see the map at any time by pressing ZZL, and even worse is losing the information related to a zone. I really enjoyed knowing how many power-ups were present in a given stage, but I absolutely loved knowing which bosses would appear on which route. My routing decisions have 100% been influenced by fighting cool fishes.
To make matters worse, the replay system has been completely revamped. You can no longer save replays of your playthroughs in most of the main games. Instead, replays are reserved only for the special modes of Darius Alpha, the boss rush of Darius Force and the boss rush of Darius II. While this means there’s still a way to relive some of your greatest moments, it is limited to some modes which pale in comparison to the actual games. Oh yeah, the leaderboards are also limited to the special modes as well.
But enough about the collection, let’s get to the games.
DARIUS II/SAGAIA
Darius II and SAGAIA are ports of the original arcade game into the Mega Drive/Sega Genesis. As with arcade ports, the game had to undergo some changes in order to be playable on consoles. Sprites were redrawn to be smaller, gameplay was adapted to a single screen and co-op had to be removed. Still, it manages to fit the entire Darius II in both versions, as opposed to arcade SAGAIA which was a reduced version.
Just to clarify, Darius II and SAGAIA are the same game. The difference in naming comes from localizing the game to North America.
I’ll be honest, out of all the games in the collection, this was the one I played the least. I don’t mean to say the game isn’t good. My reduced play time comes from the fact that I already played A LOT of Darius II for the arcade collection, so for an in-depth overview I recommend checking out the Arcade Collection review.
However, I did get a couple of full playthroughs and I gotta say that it does a great job at capturing the original game’s essence! Gameplay is essencially untouched, so expect to go through the same all-or-nothing upgrade system, branching paths with Darius II bosses and some wacky endings! One of my thoughts that I have to rehash is that the game is either a cakewalk or extremely brutal depending on your upgrade level. If you keep it maxed, then the game is a breeze. If you fall even once, it’s a very tough hill to climb.
SAGAIA MASTER SYSTEM – THE BUDGET DARIUS
In an odd turn of events, a version of SAGAIA was released for the Sega Master System. For those unfamiliar, the Master System is basically the equivalent of the NES. This game exists because the 8-bit market was still going strong in Europe when it released.
As impressive as it might be to have SAGAIA on an 8-bit console, we have to consider that it had to be downgraded from an already downgraded version. If it sounds rough, it is because the game itself is extremely rough. The framerate is lower, the sprites flicker on screen and the game lags when there are too many sprites on screen.
I found it next to impossible to play this game for long periods of time. It really is hard to justify playing the lesser version when I have better alternatives in this same collection.
DARIUS TWIN
Darius Twin was the first Darius to actually be made for consoles. It isn’t an arcade port or a game adapted from a multiple screen format into a single screen. Darius Twin is a completely original entry, and as such it takes full advantage of the console format for the better!
Out of the box I have to say this: Darius Twin is easily my favorite game on this entire collection. The biggest reason is that this feels like a game that doesn’t try to be a coin sink. Instead, it plays around with the concept of a single credit and balances the game around it. The result is a shmup that feels much more fast paced, but never overwhelming and certainly not one where it’s impossible to repair from death.
In terms of mechanics, it is by all means a Darius game in its fundamentals. Pilot the Silver Hawk through branching paths, collect red/green/blue upgrades and beat the fishes. One distinct difference is that you do not lose your power level on death. Although it doesn’t sound like much, I do believe this is the one difference that greatly improves the experience.
Previous Darius games have felt, to varying degrees, as games that should be played without getting hit or else risk not being able to recover. Since Darius Twin doesn’t have this hindrance, you are always in your best shape and it helps keep the fun going. You do have to be careful, as you respawn without arm, but other than that it’s never a lost cause.
SNES AND SUPER FAMICON
Darius Twin comes in 2 different versions: One for the SNES and the other for the Super Famicon. Unlike other entries, the versions are for the most part the same. The difference is that the SNES version has localization. It also features stereo sound, whereas the SFC version had mono. Although it is nice to have the SFC version, in reality you probably want to play the SNES version all the time. Unless, of course, you want humanity to create weapons made from the bones of its kill instead of wood and rocks.
One of the most surprising aspects about Darius Twin is the sound. I’m unapologetically a SNES fan, so when I heard the game’s OST and sound effects, I felt a wave of nostalgia. The tracks and sounds are very SNES-ish and it is a style that I’m very fond of.
I really encourage everyone to go hard on this game. I really enjoyed it and I think you might share my love if you give it a go! It offers a perfect blend of action and challenge which pushes you to your limits, but is never unfair. As an extra bonus, it features several different endings depending on how many lives you lost, with the best ending being unlocked on a true no death run. Also, once you max your wind slash, don’t pickup the weapon swap.
DARIUS FORCE/ SUPER NOVA
Super Nova is a special game for me. It is the one game I remember seeing on the video store and renting thanks to the cool box art. The first stage is a memory I can vividly remember. The first enemy waves, the trilobyte miniboss, the boss theme and even his name: Biohazard.
As a side note, to this day I don’t really know who is the boss on the Super Nova box art. Judging by how long it is, it might be Peace Destroyer, but I’m not really sure.
Darius Force was released after Darius Twin. It certainly has console gaming in mind, but it draws several gameplay elements from arcade Darius. Sadly, they brought my least favorite: the checkpoint system. Dying in Darius Force has to be one of the most disappointing experiences. Upon death, the screen blacks out and you are taken back to the last checkpoint you crossed. Your beam and bombs are reset to level one, although you keep your arm upgrade levels.
It’s also the first game to feature bosses other than marine organisms. Expect to see prehistoric creatures and dinosaurs.
To counter balance the checkpoint system, Darius Force is much more generous on the power-ups. After returning to a checkpoint, you are always treated to a beam and arm power-up. A level 2 beam is quite a downgrade, but at least you get an arm to claw your way back into the game.
A TRIBUTE TO THE CLASSICS
One of the new features of Darius Force is the ability to choose your ship. At the beginning, you are given a choice of 3 different models of the Silver Hawk. The green Hawk is based on Darius I and has the wave upgrade path. The blue Hawk is based on Darius II with the napalm beam. Finally, the red Hawk is an original ship.
Another change is the fact that beam and bombs upgrade together. There are 8 different upgrade levels, with your main beam switching fire type until its final form. Collecting a red power-up will upgrade both of them 1 level. As mentioned before, dying will set you back to level 1, so it becomes crucial to stay alive once you reach level 8. A neat change is that, for the first time, you can switch your bomb type between bomb and laser. Bombs will deal more damage, while laser will go through weak enemies.
The merger of beam and bombs also has a neat strategic implication. For one, you can no longer freely shoot your beam in tandem with your bombs. If you attempt to press both buttons at once, you will fire a downgraded version of both the beam and bombs. This means you need to be more mindful of whether you want the power of your beam or the power of your bombs.
INTENTIONAL WEAKNESS
Luckily, downgrading your weapons might actually be a desirable outcome. For me, the middle levels of the green Hawk were too awkward to use, as they were piercing lasers. By pressing both buttons, I was able to revert to the trusty spread shot until my level was high enough to bypass the beam in favor of the wave shot. If you think about it, the laser is a lot like puberty. No one really likes puberty, but it is an important transition phase we can totally avoid by firing and bombing.
Darius Force includes an extra boss rush mode that was previously accessible with a special code. Rather than needing complicated button inputs, the boss rush mode can be directly accessed when choosing Darius Force from the main menu (not available for Super Nova). It is also one of the few modes which have been blessed replays and leaderboards.
DARIUS PLUS/ DARIUS ALPHA
Finally rounding up the collection are the PC titles. You can think of them as parallel universe versions of the main game.
Darius Plus is a “lite” version of Super Darius, which itself is a souped up version of the original Darius. So you can think of it as just a port of Darius on a single screen format.
As a port of Darius, it has all the levels you are familiar with, while boasting 16 different bosses. The rest of the gameplay is straight up Darius, with the notable exception being that the action is reduced to a single screen instead of having 3.
In terms of where I stand on Darius Plus as a game, I gotta say it is fun but a straight up worse version. The game doesn’t look as clean as the arcade version and the sound is also worse. I also feel like the levels are longer, or perhaps it’s just the screen reduction making levels seem longer than they should be. One thing for sure, is that the gameplay feels dragged on to the point of feeling boring at times. There are sequences that felt like they repeat endlessly until you reached the end of the stage.
The one thing it’s got going over the its original arcade counter part is the 1cc gameplay. Rather than being able to pump credits endlessly, Darius Plus plays on a single credit and is balanced around that as a result. One particular change that makes me happy is that you don’t return to a checkpoint upon dying.
This game exists to remind me how much I hate the laser on the original Darius.
DARIUS ALPHA: THE BOSS RUSH: THE GAME
Finally we have Darius Alpha, the compilation of the extra modes. Instead of being an actual game, Darius Alpha is a boss rush against the 16 bosses. Just like Plus, you have a single credit to beat the whole game. Power-ups are automatically acquired in between boss rounds, but the same restrictions as the main game applies. This means that you will lose your power level if you die, up until your latest upgrade.
The selling point of Alpha in this collection is that it has most of the ranking modes for the collection. The extra modes are the following:
LAST WORDS
Out of the gate, I have to say that this is the worse of the 2 collections. The arcade collection has the Darius games in its pure arcade form. Games which stand strong even to this day when it comes to quality. M2 took these games and made them even better with their porting expertise and several love letters to the games. The console collection not only contains downgraded versions, but also lacks some of the finer details that made them great in the first place.
Despite having more games, Darius II/SAGAIA and Darius Plus are basically downgrades of Darius II and Darius I respectively. This leaves us with Darius Twin and Darius Force to carry the collection, and they actually do! Darius Force might not be as fantastic as I remember, it certainly feels slower than I remember, but I did constantly revisit it while creating this piece because it is a very enjoyable game. Darius Twin was the great surprise, as I find it to be my absolute favorite in this collection, and a strong contender to Darius Gaiden in my opinion.
With all that being said, I consider the contents of this collection to be very good, but with a very notable flaw: the price. At $59.99, this collection is a very tough sell. I can’t in good faith recommend it highly, as the same amount of money can purchase several highly rated titles in this list. In fact, it could even get you the arcade collection and the #1 shmup Ikaruga. Still, the quality of the collection is something I can’t deny, so I’ll be weighting that much more than the price in its final ranking.
THE RANKING SO FAR:
  1. Ikaruga
  2. Psyvariar Delta
  3. Darius Cozmic Collection Arcade
  4. Devil Engine
  5. Rolling Gunner
  6. Blazing Star
  7. Jamestown+
  8. Darius Cozmic Collection Console
  9. Tengai
  10. Steredenn: Binary Stars
  11. Stardust Galaxy Warriors: Stellar Climax
  12. Sky Force: Reloaded
  13. Strikers 1945
  14. Black Paradox
  15. R-Type Dimensions EX
  16. Sine Mora EX
  17. Shikhondo – Soul Eater
  18. Ghost Blade HD
  19. AngerForce: Reloaded
  20. Aero Fighters 2 (ACA Neogeo)
  21. Q-YO Blaster
  22. Lightening Force: Quest for the darkstar (Sega Ages)
  23. Pawarumi
  24. Red Death
  25. Task Force Kampas
  26. Switch ‘N’ Shoot
  27. Last Resort (ACA Neogeo)
submitted by AzorMX to shmups [link] [comments]

Binary Options (BO103) - Recommended Charting Platforms Binary Options Signals With Best Trading Platform - YouTube Binary Options - YouTube 5 BEST BINARY OPTIONS TRADING PLATFORMS BROKERS - YouTube How to Use the New Nadex Binary Option Platform - YouTube List of the 8 best Binary Options Brokers 2019 - Trading ...

Find the best Binary Options Broker 2019 – Conclusion of my review. On this site, I showed you the idea of finding a reliable Binary Options Broker. In the list, you see the best companies in 2019. For successful trading a good broker is necessary. The company should allow you your own strategy of trading and give you good support and service. The broker supports various trading platforms, such as Binary Webtrader, Binary Bot, and Binary Next-Gen. Furthermore, it can personalize client trading needs all under one roof. Th e platform is intuitive to the first-time trader and robust for the veteran. It features a lot of visual tools like charts and technical indicators, and the tutorials on binary options are comprehensive. Likewise ... 20 Best Binary Options Brokers 2020: This is a review of some of the best binary options brokers. The review is essentially a binary options brokers list 2020. The review will give you a deeper understanding of how they operate. The review seeks to arm you with relevant information before you get involved with binary options. Below you will find a list of Binary Options Brokers that offer various binary contracts for trading. Although the term may appear to be very confusing, it’s not that complicated. A binary option is a sort of a contract with a value, expiration date and determined conditions of winning. By purchasing it, you technically make a bet. Most common wager is to predict whether the asset's price ... What exactly binary options platforms are The things to consider when choosing one How a platform can directly impact profits Top 3 United States Websites Updated November, 2020. BEST SITE. 1. 9.8 . Perfect . Bonus Up-to $ 2000 . Assets 130+ Min. Trade $ 1 *Payout % 92.76% . Instant access to social trading. Single account option, for everyone . Tournament with prize of $50,000. 135 traded at ... It's important to understand that not all binary options trading platforms are created equal. Some binary options sites might have great payouts, while others might have faster withdrawals or bigger deposit bonuses. Picking a trading broker often comes down to what's most important to you. Below you will find our rankings of the top binary options trading brokers of 2020. Table of Contents. 1 ... Automated Binary is a relatively new automated binary options trading system. As with any new system, there may be some hesitation as to whether this system is an accurate and legit or perhaps a scam like so many other trading platforms. In our following review, we will rate this system and give you our honest Binary options allow you to trade on a wide range of underlying markets. One of the advantages of trading binary options is that you are not buying or selling an actual asset, only a contract that determines how that asset performs over a period of time. This limits your risk and makes it easy for anyone to start trading. We have compared the best regulated binary options brokers and platforms in November 2020 and created this top list. Every broker and platform has been personally reviewed by us to help you find the best binary options platform for both beginners and experts. The sortable broker comparison list below shows which binary trading sites came out on top based on different criteria. Currently, there are more than 400 trading platforms or brokers. This was not the case in 2008 when binary options trading started since there were about 10 trading platforms. The emergence of many brokers has been good since it has created high competition, which is beneficial to investors in terms of more bonuses and high

[index] [958] [27806] [23768] [14774] [14299] [17079] [8318] [29397] [10075] [6535]

Binary Options (BO103) - Recommended Charting Platforms

Get Your Free Candlestick Guide: http://bit.ly/candlestickguide In this video, Gail Mercer, founder of TradershelpDesk, walks you through how to use the new ... List of the 8 best Binary Options Brokers 2019 - Trading Review Read more about it: https://www.binary-options-review.com/best-binary-options-brokers/ In t... 24 Option Review - Platform Demo and trading strategy - Duration: 10 minutes, 59 seconds. Binary Options . 216 views; 4 years ago; 11:53. $550 for a few minutes - the risk free strategy - 24option ... ★ TOP-3 BEST BROKERS http://binares.com/brokers ★ POCKET OPTION http://binares.com/pocketoption ★ IQOPTION http://binares.com/iqoption ★ BINOMO http://... 5 BEST BINARY OPTIONS TRADING PLATFORMS BROKERS With binary options, the payouts are high but the risk is fixed. ... However, with banks since the risk is re... Get Your Free Demo Account Here - http://electrofx.com/iq Video demonstrating what is in my opinion the best binary options platform for 2016. This binary op... How To Pay Off Your Mortgage Fast Using Velocity Banking How To Pay Off Your Mortgage In 5-7 Years - Duration: 41:34. Think Wealthy with Mike Adams 802,287 views Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.

http://binary-optiontrade.kingpopin.tk