What is Binary Trading? - Definition Meaning Example

Don't Be A Basic Bench: A Comprehensive Introductory Guide

Hello everyone!
In an effort to keep the subreddit and its wiki filled with good and useful information, we are compiling guides for the main lifts (deadlift, squat, bench, potentially others). These guides will be added to the wiki and posted as posts as they are completed. The goal of these guides is to provide basic lift information, descriptions of some common variations, equipment considerations, related and complimentary exercises, additional resources for further reading, and to showcase incredible women (and non-binary folks) performing these lifts.
This is the second entry in this lift series. Check out the first entry, The Deadlift Guide in the FAQ!
If you have suggestions regarding things that should be added to these guides, or other subjects you'd like to see in the wiki, please message the mods!

The Bench Press

Bench Press Form and Variations

The main muscle group worked by the bench press is the pectoralis major, which is the largest muscle in the chest area. The pectoralis major muscle has two sections that are named for the bones they attach to – the sternal portion attaches to the breast bone and makes up the bulk of the muscle fibers, making up the middle and lower section; the clavicular portion attaches to the collarbone and is the more superior (upper) portion. The bench press also heavily involves the triceps (back of the upper arm), and recruits the deltoid muscles (shoulder), and pectoralis minor to lesser extents.
I’ll first be discussing the form for a standard, flat, “neutral/wide” grip bench press. Variations on this will be discussed below it. This guide is written for barbell bench pressing, but all of these variations can be performed with dumbbells as well.
Flat bench – the standard/”default” bench press Start out flat on the bench with bar directly over your eyes (with spotter) or over your nose/mouth (without spotter), feet flat, butt and upper back planted firmly on the bench. Arching of the lumbar spine is normal, fine, and absolutely legal in lifting competitions. Scapulas (shoulderblades) should be retracted or “pinched together” to provide both a stable flat surface for your upper back to settle on the bench, and to minimize undue tension on your shoulder joints. Retracting your scapulae will also puff your chest up and put your shoulders in a safer position for the lift.
The bar should rest in the heel of your palm so that it is stacked above the wrist, forearm, and elbows through the lift. A slight internal rotation of the hands will help with this positioning and will angle your elbows out slightly. For a standard flat bench press, your hands will be a bit further apart than shoulder width – about 1.5-2x shoulder width is the average position – position your hands so that your forearms will be almost completely perpendicular to the floor at the bottom of the lift.
Retract your scapulae (as if you’re trying to pick up a pencil off the bench between them), keep actively pushing your chest up, take in a big belly breath, and hold it before pushing the bar away from the rack and locking out at the elbows. Bring the bar down your torso so that it is directly over the line of your shoulders – this is likely going to be about the level of the middle of your sternum or your nipple line, but may vary depending on your individual anatomy and the degree of arching your back is doing.
The bar should be directly above your elbows at all times during the movement of the lift. This not only increases stability during the lift, but also prevents undue stress on your triceps or your shoulders. It also is the most efficient configuration for using the majority of the muscle fibers within the pectoralis major.
Speaking of efficiency in recruiting pectoral muscle fibers, let’s talk about arching your back during a bench press. This is a faux controversy like “sumo deadlifting is cheating” – the claim is that an arch will significantly decrease the range of motion for the bar, making the lift “easier”. While the purpose of the arch is to slightly decrease the range of motion, it also makes the lift safer at the bottom of the movement, which is the riskiest for your shoulder joints. It also serves to recruit more of your pectoral muscle fibers to the lift – this should increase the amount of weight one can lift and impact muscle growth when the goal is hypertrophy.
Degree of arching is going to be up to personal preference and anatomy, but some degree of arch is natural and normal. Check out the natural position of the spine and you can see that the lumbar spine (lower back) has a natural forward curve (lordosis) which helps with loadbearing since we’re just hairless upright apes. An arch during bench press may be anywhere from your normal lumbar spine position to an exaggeration of your body’s natural lordosis.
As you lower the bar, keep tension in your upper body by trying to “break the bar in half” or “rip the bar apart” until it touches your mid-to-lower sternum (depending on anatomy and degree of arch). After a touch (and brief pause, if you’re powerlifting), push the bar back upwards and slightly backwards towards your face to lockout. You can now exhale that big belly breath you’ve been holding for the duration of the rep.

How-To Guides/Videos

Bench Press Variations

Helpful Bench Press Cues

Supplemental/Complimentary Exercises

MegSquats also recently posted a “3 tips for push ups” post that several of our users have already mentioned as being helpful.

Equipment, Tools, and Other Considerations

These items are not required to be successful in bench pressing, but can be beneficial to lifters that bench press at any skill or weight level.

Badass Women Bench Pressing Obscene Numbers

Jen Thompson using wrist straps, slingshot, and benchblokz to bench 340lbs 3x
Jen Thompson 330lb PR
Jen Thompson just holding 550lbs in lockout because god damn
Kimberly Walford, legs up 231.5lb
Kimberly Walford, 253.5lbs – note bar path
April Mathis, 355lbs plus 115lbs in chains
Shannon Nash, 380lbs at 185lb BW
Allison Hind – 345lbs at 165BW and 335lbs at 148BW
17 year old Samantha Eugenie, 217lb at 139lbs. Extreme but legal arch - her butt is still in contact with the bench
submitted by Joonami to xxfitness [link] [comments]

It's been 4 Days since my Spouse Came Out as MTF - Here are Some Random Thoughts I've had!

I (cis-f, 33) have been a bit of a hot mess the past week and my mind has been all over the place. Because this is so new (and subject to change), we aren't telling anyone else at the moment, so I don't have a sounding board, so thank you, internet, for giving me an outlet to talk about my feelings thoughts. I am sorry if any of this is triggering. I'm new and still learning what this means.
  1. My spouse told me that it would be easier to buy them a Christmas gift this year (more options!). "Do you want Bath and Body Works Products? - That was like *the* default "girl" gift that I received when people started getting gifts when I was becoming a 'woman'." -- They said that they would be into that.
  2. If we stay together and they go through a full social-transition, I was thinking that it would be exciting to do a renewal of vows, like a small thing with both of us in dresses, with like a small beach ceremony and just super supportive people around us (I know I am WAY ahead of myself).
    1. This was immediately followed by fear about them being "prettier" than me and getting so many compliments and me being the ugly one. I am also really not interested in being masculine in any way and I have this weird insecurity about not being seen as feminine or "good enough" at being a girl.
    2. My spouse is good at a HUGE range of things. They are really remarkable in that regard and I am afraid that the more feminine they express, the more competition I will feel with them and they will beat me because they are going to be better at those things.
  3. "Maybe you should try one of my bras, it's not like *I've* worn one since the beginning of this quarantine." Haha
    1. I am a little insecure that we are similar size width-wise (they are definitely taller) but I've been struggling with my weight, so they can wear some of my dresses, for example, but they may be a little short. I wish I was small enough that we couldn't just interchange clothes so easily, but I guess we could both share double the wardrobe.
    2. It is nice that they can try on clothes that they don't have to buy right away. Definitely cheaper.
  4. My in-laws already hate me for other unrelated reasons and I just *know* that they will blame this situation on me. I am unsure how my parents would respond, but they have definitely expressed low-level homophobia. They are in the "I don't want to see it" camp. I am also fairly certain my mom will believe that this is a "mental health illness" and means that my spouse is a sexual deviant.
    1. This viewpoint scares me because it resonates with my internalized transphobia. That being "born in the wrong body" is an illness or some sick and twisted sexual fetish. If anyone has any ways to combat this initial reaction to this, I would love to know how to de-condition myself. Unfortunately, I associate transgenders as being a bit "weird" and now I'm having cognitive dissonance because I don't want to believe that my spouse is a weird sexual deviant.
    2. I also know that I have a hard time with emotional boundaries and self-doubt, so if someone comes at me with a strong opinion, I have a hard time not letting that get to me. Plus I'm a people-pleaser and I'm sure we will meet with some awful people along this journey.
    3. I'm afraid that this will reflect "poorly" on me and it gives me a sense of shame -- then I feel shame about the shame in a shame-spiral.
    4. If my in-laws disown them, I wonder if my spouse will change their last name. Should I change my last name? Should we pick a whole new name together? -- I do not feel "non-conformist" enough to do this.
  5. It's only been 4 days since they came out to me and they have already just skipped over the non-binary phase. Weirdly my spouse has expressed discomfort in the "in-between" space and has gone right to the feminine.
  6. I was super stressed about the election a week ago and now it is barely on my radar. The nice thing is I can hide my volatile emotions in election-stress, but for how long?
    1. I am like the worst secret-keeper in the world and this is definitely the biggest secret I have ever been asked to keep. I feel like it is written all over my face and I just hate it so much. I do NOT want to out them, but I am so scared I will CRACK under this pressure.
    2. This is interesting in that I have been working on healing an eating disorder. Today my nutritional coach called and asked how I was doing and that was hard for me. I don't want to completely derail my progress or really get into "this" with her, but I'd be lying if I said I haven't eaten/drank irresponsibly during the last week because of my strong emotions.
  7. Will *I* be accepted into the LGBTQ community? What IS my sexuality? I haven't really had to think about it before. Can I be a "real" bisexual/lesbian? Would I ever be viewed that way?
  8. Are we moving too fast? My spouse is like in a dress, one of my padded bras, makeup, and shaved their legs/chest already. They seem so happy. I feel happy that they are happy. I actually feel honored that they feel safe enough with me to explore so fully so quickly. It makes me feel like our marriage is stronger than I thought.
    1. They used some body spray and women's deodorant and now they smell different and that is unexpectedly disorienting for me.
  9. I don't like the rhetoric of "dead" name because I don't want to believe my spouse is "dead" -- their current name is one of those names that is generally used for a boy, but every once in a while is used for a girl (which is weirdly cool and hot and edgy to me). They aren't sure they want to actually change their first name, but I think I need something to call them so I can get more into the space of mentally viewing them the way they are presenting.
  10. I have this weird fear that when people find out they will be more upset about it than me. I haven't cried for example, but I just know someone else will, even though it won't affect them as much as it will affect me. That's weird and gate-keeping, I know, but I just feel like if I can "keep it together" so can they.
    1. I have some issues with emotions/emotional expression (especially sadness) and maybe this triggers me because it sometimes feels like I have "robot" feelings and that if I don't cry/mourn then "I don't care" as much. Believe me. I care. This intimately affects me.
  11. If they go on hormones will their sexuality change? Is that a common thing? If they start on hormones, how would that change their personality? They are one of the most chilled-out, contented, calm people I've ever met, but will hormones make them overly emotional?
  12. When I first thought about my sexuality, I thought/believed that the reason I could never be a lesbian would be 1) I want to be unequivocal 'the girl' and I was afraid of sharing that role and 2) I wouldn't want to deal with the over-emotionality of women. I have believed that I could probably be sexually attracted to women, but would be hesitant to be in a romantic relationship with them because it seems harder to be with a woman (both socially in society) and I am much more aligned with the "receiver" / the one who is cared for rather than the "provider" / the one who cares for the other. <-- I don't even know HOW to do that effectively.
    1. Let me clarify, I care for my spouse but it's generally the emotional care, not the "let me get rid of this spider" type of care. I can hold space for them to explore themselves, but I'm not gonna be able to protect them from a violent predator. I still want them to hold me.
So yeah, that's all pretty random. I'm very "heady" and just think a million-times a minute, so this is just the things that have been standing out to me. Thank you for listening.
submitted by meshsock to mypartneristrans [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]

Subreddit Demographic Survey 2020 : The Results

2020 Childfree Subreddit Survey

1. Introduction

Once a year, this subreddit hosts a survey in order to get to know the community a little bit and in order to answer questions that are frequently asked here. Earlier this summer, several thousand of you participated in the 2020 Subreddit Demographic Survey. Only those participants who meet our wiki definition of being childfree's results were recorded and analysed.
Of these people, multiple areas of your life were reviewed. They are separated as follows:

2. Methodology

Our sample is redditors who saw that we had a survey currently active and were willing to complete the survey. A stickied post was used to advertise the survey to members.

3. Results

The raw data may be found via this link.
7305 people participated in the survey from July 2020 to October 2020. People who did not meet our wiki definition of being childfree were excluded from the survey. The results of 5134 responders, or 70.29% of those surveyed, were collated and analysed below. Percentages are derived from the respondents per question.

General Demographics

Age group

Age group Participants Percentage
18 or younger 309 6.02%
19 to 24 1388 27.05%
25 to 29 1435 27.96%
30 to 34 1089 21.22%
35 to 39 502 9.78%
40 to 44 223 4.35%
45 to 49 81 1.58%
50 to 54 58 1.13%
55 to 59 25 0.49%
60 to 64 13 0.25%
65 to 69 7 0.14%
70 to 74 2 0.04%
82.25% of the sub is under the age of 35.

Gender and Gender Identity

Age group Participants # Percentage
Agender 62 1.21%
Female 3747 73.04%
Male 1148 22.38%
Non-binary 173 3.37%

Sexual Orientation

Sexual Orientation Participants # Percentage
Asexual 379 7.39%
Bisexual 1177 22.93%
Heterosexual 2833 55.20%
Homosexual 264 5.14%
It's fluid 152 2.96%
Other 85 1.66%
Pansexual 242 4.72%

Birth Location

Because the list contains over 120 countries, we'll show the top 20 countries:
Country of birth Participants # Percentage
United States 2775 57.47%
United Kingdom 367 7.60%
Canada 346 7.17%
Australia 173 3.58%
Germany 105 2.17%
Netherlands 67 1.39%
India 63 1.30%
Poland 57 1.18%
France 47 0.97%
New Zealand 42 0.87%
Mexico 40 0.83%
Brazil 40 0.83%
Sweden 38 0.79%
Finland 31 0.64%
South Africa 30 0.62%
Denmark 28 0.58%
China 27 0.56%
Ireland 27 0.56%
Phillipines 24 0.50%
Russia 23 0.48%
90.08% of the participants were born in these countries.
These participants would describe their current city, town or neighborhood as:
Region Participants # Percentage
Rural 705 13.76
Suburban 2661 51.95
Urban 1756 34.28

Ethnicity

Ethnicity Participants # Percentage
African Descent/Black 157 3.07%
American Indian or Alaskan Native 18 0.35%
Arabic/Middle Eastern/Near Eastern 34 0.66%
Bi/Multiracial 300 5.86%
Caucasian/White 3946 77.09%
East Asian 105 2.05%
Hispanic/Latinx 271 5.29%
Indian/South Asian 116 2.27%
Indigenous Australian/Torres Straight IslandeMaori 8 0.16%
Jewish (the ethnicity, not religion) 50 0.98%
Other 32 0.63%
Pacific IslandeMelanesian 4 0.08%
South-East Asian 78 1.52%

Education

Highest Current Level of Education

Highest Current Level of Education Participants # Percentage
Associate's degree 233 4.55%
Bachelor's degree 1846 36.05%
Did not complete elementary school 2 0.04%
Did not complete high school 135 2.64%
Doctorate degree 121 2.36%
Graduated high school / GED 559 10.92%
Master's degree 714 13.95%
Post Doctorate 19 0.37%
Professional degree 107 2.09%
Some college / university 1170 22.85%
Trade / Technical / Vocational training 214 4.18%
Degree (Major) Participants # Percentage
Architecture 23 0.45%
Arts and Humanities 794 15.54%
Business and Economics 422 8.26%
Computer Science 498 9.75%
Education 166 3.25%
Engineering Technology 329 6.44%
I don't have a degree or a major 1028 20.12%
Law 124 2.43%
Life Sciences 295 5.77%
Medicine and Allied Health 352 6.89%
Other 450 8.81%
Physical Sciences 199 3.89%
Social Sciences 430 8.41%

Career and Finances

The top 10 industries our participants are working in are:
Industry Participants # Percentage
Information Technology 317 6.68%
Health Care 311 6.56%
Education - Teaching 209 4.41%
Engineering 203 4.28%
Retail 182 3.84%
Government 172 3.63%
Admin & Clerical 154 3.25%
Restaurant - Food Service 148 3.12%
Customer Service 129 2.72%
Design 127 2.68%
Note that "other", "I'm a student", "currently unemployed" and "I'm out of the work force for health or other reasons" have been disregarded for this part of the evaluation.
Out of the 3729 participants active in the workforce, the majority (1824 or 48.91%) work between 40-50 hours per week with 997 or 26.74% working 30-40 hours weekly. 6.62% work 50 hours or more per week, and 17.73% less than 30 hours.
513 or 10.13% are engaged in managerial responsibilities (ranging from Jr. to Sr. Management).
On a scale of 1 (lowest) to 10 (highest), the overwhelming majority (3340 or 70%) indicated that career plays a very important role in their lives, attributing a score of 7 and higher.
1065 participants decided not to disclose their income brackets. The remaining 4,849 are distributed as follows:
Income Participants # Percentage
$0 to $14,999 851 21.37%
$15,000 to $29,999 644 16.17%
$30,000 to $59,999 1331 33.42%
$60,000 to $89,999 673 16.90%
$90,000 to $119,999 253 6.35%
$120,000 to $149,999 114 2.86%
$150,000 to $179,999 51 1.28%
$180,000 to $209,999 25 0.63%
$210,000 to $239,999 9 0.23%
$240,000 to $269,999 10 0.25%
$270,000 to $299,999 7 0.18%
$300,000 or more 15 0.38%
87.85% earn under $90,000 USD a year.
65.82% of our childfree participants do not have a concrete retirement plan (savings, living will).

Religion and Spirituality

Faith Originally Raised In

There were more than 50 options of faith, so we aimed to show the top 10 most chosen beliefs.
Faith Participants # Percentage
Catholicism 1573 30.76%
None (≠ Atheism. Literally, no notion of spirituality or religion in the upbringing) 958 18.73%
Protestantism 920 17.99%
Other 431 8.43%
Atheism 318 6.22%
Agnosticism 254 4.97%
Anglicanism 186 3.64%
Judaism 77 1.51%
Hinduism 75 1.47%
Islam 71 1.39%
This top 10 amounts to 95.01% of the total participants.

Current Faith

There were more than 50 options of faith, so we aimed to show the top 10 most chosen beliefs:
Faith Participants # Percentage
Atheism 1849 36.23%
None (≠ Atheism. Literally, no notion of spirituality or religion currently) 1344 26.33%
Agnosticism 789 15.46%
Other 204 4.00%
Protestantism 159 3.12%
Paganism 131 2.57%
Spiritualism 101 1.98%
Catholicism 96 1.88%
Satanism 92 1.80%
Wicca 66 1.29%
This top 10 amounts to 94.65% of the participants.

Level of Current Religious Practice

Level Participants # Percentage
Wholly seculanon religious 3733 73.73%
Identify with religion, but don't practice strictly 557 11.00%
Lapsed/not serious/in name only 393 7.76%
Observant at home only 199 3.93%
Observant at home. Church/Temple/Mosque/etc. attendance 125 2.47%
Strictly observant, Church/Temple/Mosque/etc. attendance, religious practice/prayeworship impacting daily life 56 1.11%

Effect of Faith over Childfreedom

Figure 1

Effect of Childfreedom over Faith

Figure 2

Romantic and Sexual Life

Current Dating Situation

Status Participants # Percentage
Divorced 46 0.90%
Engaged 207 4.04%
Long term relationship, living together 1031 20.10%
Long term relationship, not living with together 512 9.98%
Married 1230 23.98%
Other 71 1.38%
Separated 18 0.35%
Short term relationship 107 2.09%
Single and dating around, but not looking for anything serious 213 4.15%
Single and dating around, looking for something serious 365 7.12%
Single and not looking 1324 25.81%
Widowed 5 0.10%

Childfree Partner

Is your partner childfree? If your partner wants children and/or has children of their own and/or are unsure about their position, please consider them "not childfree" for this question.
Partner Participants # Percentage
I don't have a partner 1922 37.56%
I have more than one partner and none are childfree 3 0.06%
I have more than one partner and some are childfree 35 0.68%
I have more than one partner and they are all childfree 50 0.98
No 474 9.26%
Yes 2633 51.46%

Dating a Single Parent

Would the childfree participants be willing to date a single parent?
Answer Participants # Percentage
No, I'm not interested in single parents and their ties to parenting life 4610 90.13%
Yes, but only if it's a short term arrangement of some sort 162 3.17%
Yes, whether for long term or short term, but with some conditions (must not have child custody, no kid talk, etc.), as long as I like them and long as we're compatible 199 3.89%
Yes, whether for long term or short term, with no conditions, as long as I like them and as long as we are compatible 144 2.82%

Childhood and Family Life

On a scale from 1 (very unhappy) to 10 (very happy), how would you rate your childhood?
Figure 3
Of the 5125 childfree people who responded to the question, 67.06% have a pet or are heavily involved in the care of someone else's pet.

Sterilisation

Sterilisation Status

Sterilisation Status Participants # Percentage
No, I am not sterilised and, for medical, practical or other reasons, I do not need to be 869 16.96%
No. However, I've been approved for the procedure and I'm waiting for the date to arrive 86 1.68%
No. I am not sterilised and don't want to be 634 12.37%
No. I want to be sterilised but I have started looking for a doctorequested the procedure 594 11.59%
No. I want to be sterilised but I haven't started looking for a doctorequested the procedure yet 2317 45.21%
Yes. I am sterilised 625 12.20%

Age when starting doctor shopping or addressing issue with doctor. Percentages exclude those who do not want to be sterilised and who have not discussed sterilisation with their doctor.

Age group Participants # Percentage
18 or younger 207 12.62%
19 to 24 588 35.85%
25 to 29 510 31.10%
30 to 34 242 14.76%
35 to 39 77 4.70%
40 to 44 9 0.55%
45 to 49 5 0.30%
50 to 54 1 0.06%
55 or older 1 0.06%

Age at the time of sterilisation. Percentages exclude those who have not and do not want to be sterilised.

Age group Participants # Percentage
18 or younger 5 0.79%
19 to 24 123 19.34%
25 to 29 241 37.89%
30 to 34 168 26.42%
35 to 39 74 11.64%
40 to 44 19 2.99%
45 to 49 1 0.16%
50 to 54 2 0.31%
55 or older 3 0.47%

Elapsed time between requesting procedure and undergoing procedure. Percentages exclude those who have not and do not want to be sterilised.

Time Participants # Percentage
Less than 3 months 330 50.46%
Between 3 and 6 months 111 16.97%
Between 6 and 9 months 33 5.05%
Between 9 and 12 months 20 3.06%
Between 12 and 18 months 22 3.36%
Between 18 and 24 months 15 2.29%
Between 24 and 30 months 6 0.92%
Between 30 and 36 months 2 0.31%
Between 3 and 5 years 40 6.12%
Between 5 and 7 years 25 3.82%
More than 7 years 50 7.65%

How many doctors refused at first, before finding one who would accept?

Doctor # Participants # Percentage
None. The first doctor I asked said yes 604 71.73%
One. The second doctor I asked said yes 93 11.05%
Two. The third doctor I asked said yes 54 6.41%
Three. The fourth doctor I asked said yes 29 3.44%
Four. The fifth doctor I asked said yes 12 1.43%
Five. The sixth doctor I asked said yes 8 0.95%
Six. The seventh doctor I asked said yes 10 1.19%
Seven. The eighth doctor I asked said yes 4 0.48%
Eight. The ninth doctor I asked said yes 2 0.24%
I asked more than 10 doctors before finding one who said yes 26 3.09%

Childfreedom

Primary Reason to Not Have Children

Reason Participants # Percentage
Aversion towards children ("I don't like children") 1455 28.36%
Childhood trauma 135 2.63%
Current state of the world 110 2.14%
Environmental (including overpopulation) 158 3.08%
Eugenics ("I have 'bad genes'") 57 1.11%
Financial 175 3.41%
I already raised somebody else who isn't my child 83 1.62%
Lack of interest towards parenthood ("I don't want to raise children") 2293 44.69%
Maybe interested for parenthood, but not suited for parenthood 48 0.94%
Medical ("I have a condition that makes conceiving/bearing/birthing children difficult, dangerous or lethal") 65 1.27%
Other 68 1.33%
Philosophical / Moral (e.g. antinatalism) 193 3.76%
Tokophobia (aversion/fear of pregnancy and/or chidlbirth) 291 5.67%
95.50% of childfree people are pro-choice, however only 55.93% of childfree people support financial abortion.

Dislike Towards Children

Figure 4

Working With Children

Work Participants # Percentage
I'm a student and my future job/career will heavily makes me interact with children on a daily basis 67 1.30%
I'm retired, but I used to have a job that heavily makes me interact with children on a daily basis 6 0.12%
I'm unemployed, but I used to have a job that heavily makes me interact with children on a daily basis 112 2.19%
No, I do not have a job that makes me heavily interact with children on a daily basis 4493 87.81%
Other 148 2.89%
Yes, I do have a job that heavily makes me interact with children on a daily basis 291 5.69%

4. Discussion

Child Status

This section solely existed to sift the childfree from the fencesitters and the non childfree in order to get answers only from the childfree. Childfree, as it is defined in the subreddit, is "I do not have children nor want to have them in any capacity (biological, adopted, fostered, step- or other) at any point in the future." 70.29% of participants actually identify as childfree, slightly up from the 2019 survey, where 68.5% of participants identified as childfree. This is suprising in reflection of the overall reputation of the subreddit across reddit, where the subreddit is often described as an "echo chamber".

General Demographics

The demographics remain largely consistent with the 2019 survey. However, the 2019 survey collected demographic responses from all participants in the survey, removing those who did not identify as childfree when querying subreddit specific questions, while the 2020 survey only collected responses from people who identified as childfree. This must be considered when comparing results.
82.25% of the participants are under 35, compared with 85% of the subreddit in the 2019 survey. A slight downward trend is noted compared over the last two years suggesting the userbase may be getting older on average. 73.04% of the subreddit identify as female, compared with 71.54% in the 2019 survey. Again, when compared with the 2019 survey, this suggests a slight increase in the number of members who identify as female. This is in contrast to the overall membership of Reddit, estimated at 74% male according to Reddit's Wikipedia page [https://en.wikipedia.org/wiki/Reddit#Users_and_moderators]. The ratio of members who identify as heterosexual remained consistent, from 54.89% in the 2019 survey to 55.20% in the 2020 survey.
Ethnicity wise, 77% of members identified as primarily Caucasian, consistent with the 2019 results. While the ethnicities noted to be missing in the 2019 survey have been included in the 2020 survey, some users noted the difficulty of responding when fitting multiple ethnicities, and this will be addressed in the 2021 survey.

Education level

As it did in the 2019 survey, this section highlights the stereotype of childfree people as being well educated. 2.64% of participants did not complete high school, which is a slight decrease from the 2019 survey, where 4% of participants did not graduate high school. However, 6.02% of participants are under 18, compared with 8.22% in the 2019 survey. 55% of participants have a bachelors degree or higher, while an additional 23% have completed "some college or university".
At the 2020 survey, the highest percentage of responses under the: What is your degree/major? question fell under "I don't have a degree or a major" (20.12%). Arts and Humanities, and Computer Science have overtaken Health Sciences and Engineering as the two most popular majors. However, the list of majors was pared down to general fields of study rather than highly specific degree majors to account for the significant diversity in majors studied by the childfree community, which may account for the different results.

Career and Finances

The highest percentage of participants at 21.61% listed themselves as trained professionals.
One of the stereotypes of the childfree is of wealth. However this is not demonstrated in the survey results. 70.95% of participants earn under $60,000 USD per annum, while 87.85% earn under $90,000 per annum. 21.37% are earning under $15,000 per annum. 1065 participants, or 21.10% chose not to disclose this information. It is possible that this may have skewed the results if a significant proportion of these people were our high income earners, but impossible to explore.
A majority of our participants work between 30 and 50 hours per week (75.65%) which is slightly increased from the 2019 survey, where 71.2% of participants worked between 30 and 50 hours per week.

Location

The location responses are largely similar to the 2019 survey with a majority of participants living in a suburban and urban area. 86.24% of participants in the 2020 survey live in urban and suburban regions, with 86.7% of participants living in urban and suburban regions in the 2019 survey. There is likely a multifactorial reason for this, encompassing the younger, educated skew of participants and the easier access to universities and employment, and the fact that a majority of the population worldwide localises to urban centres. There may be an element of increased progressive social viewpoints and identities in urban regions, however this would need to be explored further from a sociological perspective to draw any definitive conclusions.
A majority of our participants (57.47%) were born in the USA. The United Kingdom (7.6%), Canada (7.17%), Australia (3.58%) and Germany (2.17%) encompass the next 4 most popular responses. This is largely consistent with the responses in the 2019 survey.

Religion and Spirituality

For the 2020 survey Christianity (the most popular result in 2019) was split into it's major denominations, Catholic, Protestant, Anglican, among others. This appears to be a linguistic/location difference that caused a lot of confusion among some participants. However, Catholicism at 30.76% remained the most popular choice for the religion participants were raised in. However, of our participant's current faith, Aetheism at 36.23% was the most popular choice. A majority of 78.02% listed their current religion as Aetheist, no religious or spiritual beliefs, or Agnostic.
A majority of participants (61%) rated religion as "not at all influential" to the childfree choice. This is consistent with the 2019 survey where 62.8% rated religion as "not at all influential". Despite the high percentage of participants who identify as aetheist or agnostic, this does not appear to be related to or have an impact on the childfree choice.

Romantic and Sexual Life

60.19% of our participants are in a relationship at the time of the survey. This is consistent with the 2019 survey, where 60.7% of our participants were in a relationship. A notable proportion of our participants are listed as single and not looking (25.81%) which is consistent with the 2019 survey. Considering the frequent posts seeking dating advice as a childfree person, it is surprising that such a high proportion of the participants are not actively seeking out a relationship. Unsurprisingly 90.13% of our participants would not consider dating someone with children. 84% of participants with partners of some kind have at least one childfree partner. This is consistent with the often irreconcilable element of one party desiring children and the other wishing to abstain from having children.

Childhood and Family Life

Overall, the participants skew towards a happier childhood.

Sterilisation

While just under half of our participants wish to be sterilised, 45.21%, only 12.2% have been successful in achieving sterilisation. This is likely due to overarching resistance from the medical profession however other factors such as the logistical elements of surgery and the cost may also contribute. There is a slight increase from the percentage of participants sterilised in the 2019 survey (11.7%). 29.33% of participants do not wish to be or need to be sterilised suggesting a partial element of satisfaction from temporary birth control methods or non-necessity of contraception due to their current lifestyle practices. Participants who indicated that they do not wish to be sterilised or haven't achieved sterilisation were excluded from the percentages where necessary in this section.
Of the participants who did achieve sterilisation, a majority began the search between 19 and 29, with the highest proportion being in the 19-24 age group (35.85%) This is a marked increase from the 2019 survey where 27.3% of people who started the search were between 19-24. This may be due to increased education about permanent contraception or possibly due to an increase in instability around world events.
The majority of participants who sought out and were successful at achieving sterilisation, were however in the 25-29 age group (37.9%). This is consistent with the 2019 survey results.
The time taken between seeking out sterilisation and achieving it continues to increase, with only 50.46% of participants achieving sterilisation in under 3 months. This is a decline from the number of participants who achieved sterilisation in 3 months in the 2019 survey (58.5%). A potential cause of this decrease is to Covid-19 shutdowns in the medical industry leading to an increase in procedure wait times. The proportion of participants who have had one or more doctors refuse to perform the procedure has stayed consistent between the two surveys.

Childfreedom

The main reasons for people choosing the childfree lifestyle are a lack of interest towards parenthood and an aversion towards children which is consistent with the 2019 survey. Of the people surveyed 67.06% are pet owners or involved in a pet's care, suggesting that this lack of interest towards parenthood does not necessarily mean a lack of interest in all forms of caretaking. The community skews towards a dislike of children overall which correlates well with the 87.81% of users choosing "no, I do not have, did not use to have and will not have a job that makes me heavily interact with children on a daily basis" in answer to, "do you have a job that heavily makes you interact with children on a daily basis?". This is an increase from the 2019 survey.
A vast majority of the subreddit identifes as pro-choice (95.5%), a slight increase from the 2019 results. This is likely due to a high level of concern about bodily autonomy and forced birth/parenthood. However only 55.93% support financial abortion, aka for the non-pregnant person in a relationship to sever all financial and parental ties with a child. This is a marked decrease from the 2019 results, where 70% of participants supported financial abortion.
Most of our users realised that did not want children young. 58.72% of participants knew they did not want children by the age of 18, with 95.37% of users realising this by age 30. This correlates well with the age distribution of participants. Despite this early realisation of our childfree stance, 80.59% of participants have been "bingoed" at some stage in their lives.

The Subreddit

Participants who identify as childfree were asked about their interaction with and preferences with regards to the subreddit at large. Participants who do not meet our definition of being childfree were excluded from these questions.
By and large our participants were lurkers (72.32%). Our participants were divided on their favourite flairs with 38.92% selecting "I have no favourite". The next most favourite flair was "Rant", at 16.35%. Our participants were similarly divided on their least favourite flair, with 63.40% selecting "I have no least favourite". In light of these results the flairs on offer will remain as they have been through 2019.
With regards to "lecturing" posts, this is defined as a post which seeks to re-educate the childfree on the practices, attitudes and values of the community, particularly with regards to attitudes towards parenting and children, whether at home or in the community. A commonly used descriptor is "tone policing". A small minority of the survey participants (3.36%) selected "yes" to allowing all lectures, however 33.54% responded "yes" to allowing polite, respectful lectures only. In addition, 45.10% of participants indicated that they were not sure if lectures should be allowed. Due to the ambiguity of responses, lectures will continue to be not allowed and removed.
Many of our participants (36.87%) support the use of terms such as breeder, mombie/moo, daddict/duh on the subreddit, with a further 32.63% supporting use of these terms in context of bad parents only. This is a slight drop from the 2019 survey. In response to this use of the above and similar terms to describe parents remains permitted on this subreddit. However, we encourage users to keep the use of these terms to bad parents only.
44.33% of users support the use of terms to describe children such as crotchfruit on the subreddit, a drop from 55.3% last year. A further 25.80% of users supporting the use of this and similar terms in context of bad children only, an increase from 17.42% last year. In response to this use of the above and similar terms to describe children remains permitted on this subreddit.
69.17% of participants answered yes to allowing parents to post, provided they stay respectful. In response to this, parent posts will continue to be allowed on the subreddit. As for regret posts, which were to be revisited in this year's survey, only 9.5% of participants regarded them as their least favourite post. As such they will continue to stay allowed.
64% of participants support under 18's who are childfree participating in the subreddit with a further 19.59% allowing under 18's to post dependent on context. Therefore we will continue to allow under 18's that stay within the overall Reddit age requirement.
There was divide among participants as to whether "newbie" questions should be removed. An even spread was noted among participants who selected remove and those who selected to leave them as is. We have therefore decided to leave them as is. 73.80% of users selected "yes, in their own post, with their own "Leisure" flair" to the question, "Should posts about pets, travel, jetskis, etc be allowed on the sub?" Therefore we will continue to allow these posts provided they are appropriately flaired.

5. Conclusion

Thank you to our participants who contributed to the survey. This has been an unusual and difficult year for many people. Stay safe, and stay childfree.

submitted by Mellenoire to childfree [link] [comments]

Best Practices for A C Programmer

Hi all,
Long time C programmer here, primarily working in the embedded industry (particularly involving safety-critical code). I've been a lurker on this sub for a while but I'm hoping to ask some questions regarding best practices. I've been trying to start using c++ on a lot of my work - particularly taking advantage of some of the code-reuse and power of C++ (particularly constexpr, some loose template programming, stronger type checking, RAII etc).
I would consider myself maybe an 8/10 C programmer but I would conservatively maybe rate myself as 3/10 in C++ (with 1/10 meaning the absolute minmum ability to write, google syntax errata, diagnose, and debug a program). Perhaps I should preface the post that I am more than aware that C is by no means a subset of C++ and there are many language constructs permitted in one that are not in the other.
In any case, I was hoping to get a few answers regarding best practices for c++. Keep in mind that the typical target device I work with does not have a heap of any sort and so a lot of the features that constitute "modern" C++ (non-initialization use of dynamic memory, STL meta-programming, hash-maps, lambdas (as I currently understand them) are a big no-no in terms of passing safety review.

When do I overload operators inside a class as opposed to outisde?

... And what are the arguments foagainst each paradigm? See below:
/* Overload example 1 (overloaded inside class) */ class myclass { private: unsigned int a; unsigned int b; public: myclass(void); unsigned int get_a(void) const; bool operator==(const myclass &rhs); }; bool myclass::operator==(const myclass &rhs) { if (this == &rhs) { return true; } else { if (this->a == rhs.a && this->b == rhs.b) { return true; } } return false; } 
As opposed to this:
/* Overload example 2 (overloaded outside of class) */ class CD { private: unsigned int c; unsigned int d; public: CD(unsigned int _c, unsigned int _d) : d(_d), c(_c) {}; /* CTOR */ unsigned int get_c(void) const; /* trival getters */ unsigned int get_d(void) const; /* trival getters */ }; /* In this implementation, If I don't make the getters (get_c, get_d) constant, * it won't compile despite their access specifiers being public. * * It seems like the const keyword in C++ really should be interpretted as * "read-only AND no side effects" rather than just read only as in C. * But my current understanding may just be flawed... * * My confusion is as follows: The function args are constant references * so why do I have to promise that the function methods have no side-effects on * the private object members? Is this something specific to the == operator? */ bool operator==(const CD & lhs, const CD & rhs) { if(&lhs == &rhs) return true; else if((lhs.get_c() == rhs.get_c()) && (lhs.get_d() == rhs.get_d())) return true; return false; } 
When should I use the example 1 style over the example 2 style? What are the pros and cons of 1 vs 2?

What's the deal with const member functions?

This is more of a subtle confusion but it seems like in C++ the const keyword means different things base on the context in which it is used. I'm trying to develop a relatively nuanced understanding of what's happening under the hood and I most certainly have misunderstood many language features, especially because C++ has likely changed greatly in the last ~6-8 years.

When should I use enum classes versus plain old enum?

To be honest I'm not entirely certain I fully understand the implications of using enum versus enum class in C++.
This is made more confusing by the fact that there are subtle differences between the way C and C++ treat or permit various language constructs (const, enum, typedef, struct, void*, pointer aliasing, type puning, tentative declarations).
In C, enums decay to integer values at compile time. But in C++, the way I currently understand it, enums are their own type. Thus, in C, the following code would be valid, but a C++ compiler would generate a warning (or an error, haven't actually tested it)
/* Example 3: (enums : Valid in C, invalid in C++ ) */ enum COLOR { RED, BLUE, GREY }; enum PET { CAT, DOG, FROG }; /* This is compatible with a C-style enum conception but not C++ */ enum SHAPE { BALL = RED, /* In C, these work because int = int is valid */ CUBE = DOG, }; 
If my understanding is indeed the case, do enums have an implicit namespace (language construct, not the C++ keyword) as in C? As an add-on to that, in C++, you can also declare enums as a sort of inherited type (below). What am I supposed to make of this? Should I just be using it to reduce code size when possible (similar to gcc option -fuse-packed-enums)? Since most processors are word based, would it be more performant to use the processor's word type than the syntax specified above?
/* Example 4: (Purely C++ style enums, use of enum class/ enum struct) */ /* C++ permits forward enum declaration with type specified */ enum FRUIT : int; enum VEGGIE : short; enum FRUIT /* As I understand it, these are ints */ { APPLE, ORANGE, }; enum VEGGIE /* As I understand it, these are shorts */ { CARROT, TURNIP, }; 
Complicating things even further, I've also seen the following syntax:
/* What the heck is an enum class anyway? When should I use them */ enum class THING { THING1, THING2, THING3 }; /* And if classes and structs are interchangable (minus assumptions * about default access specifiers), what does that mean for * the following definition? */ enum struct FOO /* Is this even valid syntax? */ { FOO1, FOO2, FOO3 }; 
Given that enumerated types greatly improve code readability, I've been trying to wrap my head around all this. When should I be using the various language constructs? Are there any pitfalls in a given method?

When to use POD structs (a-la C style) versus a class implementation?

If I had to take a stab at answering this question, my intuition would be to use POD structs for passing aggregate types (as in function arguments) and using classes for interface abstractions / object abstractions as in the example below:
struct aggregate { unsigned int related_stuff1; unsigned int related_stuff2; char name_of_the_related_stuff[20]; }; class abstraction { private: unsigned int private_member1; unsigned int private_member2; protected: unsigned int stuff_for_child_classes; public: /* big 3 */ abstraction(void); abstraction(const abstraction &other); ~abstraction(void); /* COPY semantic ( I have a better grasp on this abstraction than MOVE) */ abstraction &operator=(const abstraction &rhs); /* MOVE semantic (subtle semantics of which I don't full grasp yet) */ abstraction &operator=(abstraction &&rhs); /* * I've seen implentations of this that use a copy + swap design pattern * but that relies on std::move and I realllllly don't get what is * happening under the hood in std::move */ abstraction &operator=(abstraction rhs); void do_some_stuff(void); /* member function */ }; 
Is there an accepted best practice for thsi or is it entirely preference? Are there arguments for only using classes? What about vtables (where byte-wise alignment such as device register overlays and I have to guarantee placement of precise members)

Is there a best practice for integrating C code?

Typically (and up to this point), I've just done the following:
/* Example 5 : Linking a C library */ /* Disable name-mangling, and then give the C++ linker / * toolchain the compiled * binaries */ #ifdef __cplusplus extern "C" { #endif /* C linkage */ #include "device_driver_header_or_a_c_library.h" #ifdef __cplusplus } #endif /* C linkage */ /* C++ code goes here */ 
As far as I know, this is the only way to prevent the C++ compiler from generating different object symbols than those in the C header file. Again, this may just be ignorance of C++ standards on my part.

What is the proper way to selectively incorporate RTTI without code size bloat?

Is there even a way? I'm relatively fluent in CMake but I guess the underlying question is if binaries that incorporate RTTI are compatible with those that dont (and the pitfalls that may ensue when mixing the two).

What about compile time string formatting?

One of my biggest gripes about C (particularly regarding string manipulation) frequently (especially on embedded targets) variadic arguments get handled at runtime. This makes string manipulation via the C standard library (printf-style format strings) uncomputable at compile time in C.
This is sadly the case even when the ranges and values of paramers and formatting outputs is entirely known beforehand. C++ template programming seems to be a big thing in "modern" C++ and I've seen a few projects on this sub that use the turing-completeness of the template system to do some crazy things at compile time. Is there a way to bypass this ABI limitation using C++ features like constexpr, templates, and lambdas? My (somewhat pessimistic) suspicion is that since the generated assembly must be ABI-compliant this isn't possible. Is there a way around this? What about the std::format stuff I've been seeing on this sub periodically?

Is there a standard practice for namespaces and when to start incorporating them?

Is it from the start? Is it when the boundaries of a module become clearly defined? Or is it just personal preference / based on project scale and modularity?
If I had to make a guess it would be at the point that you get a "build group" for a project (group of source files that should be compiled together) as that would loosely define the boundaries of a series of abstractions APIs you may provide to other parts of a project.
--EDIT-- markdown formatting
submitted by aWildElectron to cpp [link] [comments]

The internals of Android APK build process - Article

The internals of Android APK build process - Article

Table of Contents

  • CPU Architecture and the need for Virtual Machine
  • Understanding the Java Virtual Machine
  • Compiling the Source Code
  • Android Virtual Machine
  • Compilation Process to .dex
  • ART over Dalvik
  • Understanding each part of the build process.
  • Source Code
  • Resource Files
  • AIDL Files
  • Library Modules
  • AAR Libraries
  • JAR Libraries
  • Android Asset Packaging Tool
  • resources.arsc
  • D8 and R8
  • Dex and Multidex
  • Signing the APK
  • References
Understanding the flow of the Android APK build process, the execution environment, and code compilation blog post aims to be the starting point for developers to get familiar with the build process of Android APK.

CPU Architecture and the need for Virtual Machine

Unveiled in 2007, Android has undergone lots of changes related to its build process, the execution environment, and performance improvements.
There are many fascinating characteristics in Android and one of them is different CPU architectures like ARM64 and x86
It is not realistic to compile code that supports each and every architecture. This is where Java Virtual Machine is used.
https://preview.redd.it/91nrrk3twxk51.png?width=1280&format=png&auto=webp&s=a95b8cf916f000e94c6493a5780d9244e8d27517

Understanding the Java Virtual Machine

JVM is a virtual machine that enables a computer to run applications that are compiled to Java bytecode. It basically helps us in converting the compiled java code to machine code.
By using the JVM, the issue of dealing with different types of CPU architecture is resolved.
JVM provides portability and it also allows Java code to be executed in a virtual environment rather than directly on the underlying hardware.
But JVM is designed for systems with huge storages and power, whereas Android has comparatively low memory and battery capacity.
For this reason, Google has adopted an Android JVM called Dalvik.

https://preview.redd.it/up2os7juwxk51.png?width=1280&format=png&auto=webp&s=2a290bdc9be86fb08d67228c730329130da3bc63

Compiling the Source Code

Our Java source code for the Android app is compiled into a .class file bytecode by the javac compiler and executed on the JVM.
For Kotlin source code, when targeting JVM, Kotlin produces Java-compatible bytecode, thanks to kotlinc compiler.
To understand bytecode, it is a form of instruction set designed for efficient execution by a software interpreter.
Whereas Java bytecode is the instruction set of the Java virtual machine.

https://preview.redd.it/w2uzoicwwxk51.png?width=1280&format=png&auto=webp&s=b122e0781bf9e9ba236d34a87a636c9218f7ea35

Android Virtual Machine

Each Android app runs on its own virtual machine. From version 1.0 to 4.4, it was 'Dalvik'. In Android 4.4, along with Dalvik, Google experimentally introduced a new Android Runtime called 'ART'.
Android users had the option to choose either Dalvik or ART runtime in Android 4.4.
The .class files generated contains the JVM Java bytecodes.
But Android has its own optimized bytecode format called Dalvik from version 1.0 to 4.4. Dalvik bytecodes, like JVM bytecodes, are machine-code instructions for a processor.

https://preview.redd.it/sqychk81xxk51.png?width=217&format=png&auto=webp&s=49445fa42e4aa6f4008114a822f364580649fcdf

Compilation Process to .dex

The compilation process converts the .class files and .jar libraries into a single classes.dex file containing Dalvik byte-codes. This is possible with the dx command.
The dx command turns all of the .class and .jar files together into a single classes.dex file is written in Dalvik bytecode format.
To note, dex means Dalvik Executable.
https://preview.redd.it/g4z3tb95xxk51.jpg?width=831&format=pjpg&auto=webp&s=1cdbaacaf10cc529cccca2ba016583596781ee88

ART over Dalvik

Since Android 4.4, Android migrated to ART, the Android runtime from Dalvik. This execution environment executes .dex as well.
The benefit of ART over Dalvik is that the app runs and launches faster on ART, this is because DEX bytecode has been translated into machine code during installation, no extra time is needed to compile it during the runtime.
ART and Dalvik are compatible runtimes running Dex bytecode, so apps developed for Dalvik should work when running with ART.
The JIT based compilation in the previously used Dalvik has disadvantages of poor battery life, application lag, and performance.
This is the reason Google created Android Runtime(ART).
ART is based on Ahead - Of - Time (AOT) based compilation process where compilation happens before application starts.
In ART, the compilation process happens during the app installation process itself. Even though this leads to higher app installation time, it reduces app lag, increases battery usage efficiency, etc.
Even though dalvik was replaced as the default runtime, dalvik bytecode format is still in use (.dex)
In Android version 7.0, JIT came back. The hybrid environment combining features from both a JIT compiler and ART was introduced.
The bytecode execution environment of Android is important as it is involved in the application startup and installation process.
https://preview.redd.it/qh9bxsplzxk51.png?width=1280&format=png&auto=webp&s=bc40ba6c69cec2110b7d695fe23df094bf5aea6c

Understanding each part of the process.


https://preview.redd.it/obelgd7axxk51.png?width=950&format=png&auto=webp&s=299abcf4798ad4d2de93f4eb18b9d9e70dd54297

Source Code

Source code is the Java and Kotlin files in the src folder.

Resource Files

The resource files are the ones in the res folder.

AIDL Files

Android Interface Definition Language (AIDL) allows you to define the programming interface for client and service to communicate using IPC.
IPC is interprocess communication.
AIDL can be used between any process in Android.

Library Modules

Library module contains Java or Kotlin classes, Android components, and resources though assets are not supported.
The code and resources of the library project are compiled and packaged together with the application.
Therefore a library module can be considered to be a compile-time artifact.

AAR Libraries

Android library compiles into an Android Archive (AAR) file that you can use as a dependency for an Android app module.
AAR files can contain Android resources and a manifest file, which allows you to bundle in shared resources like layouts and drawables in addition to Java or Kotlin classes and methods.

JAR Libraries

JAR is a Java library and unlike AAR it cannot contain Android resources and manifests.

Android Asset Packaging Tool

Android Asset Packaging Tool (aapt2) compiles the AndroidManifest and resource files into a single APK.
At this point, it is divided into two steps, compiling and linking. It improves performance, since if only one file changes, you only need to recompile that one file and link all the intermediate files with the 'link' command.
AAPT2 supports the compilation of all Android resource types, such as drawables and XML files.
When you invoke AAPT2 for compilation, you should pass a single resource file as an input per invocation.
AAPT2 then parses the file and generates an intermediate binary file with a .flat extension.
The link phase merges all the intermediate files generated in the compile phase and outputs one .apk file. You can also generate R.java and proguard-rules at this time.

resources.arsc

The output .apk file does not include the DEX file, so the DEX file is not included, and since it is not signed, it is an APK that cannot be executed.
This APK contains the AndroidManifest, binary XML files, and resources.arsc.
This resource.arsc contains all meta-information about a resource, such as an index of all resources in the package.
It is a binary file, and the APK that can be actually executed, and the APK that you often build and execute are uncompressed and can be used simply by expanding it in memory.
The R.java that is output with the APK is assigned a unique ID, which allows the Java code to use the resource during compilation.
arsc is the index of the resource used when executing the application.

https://preview.redd.it/hmmlfwhdxxk51.png?width=1280&format=png&auto=webp&s=b2fe2b6ad998594a5364bb6af6b5cbd880a2452c

D8 and R8

Starting from android studio 3.1 onwards, D8 was made the default compiler.
D8 produces smaller dex files with better performance when compared with the old dx.
R8 is used to compile the code. R8 is an optimized version of D8.
D8 plays the role of dexer that converts class files into DEX files and the role of desugar that converts Java 8 functions into bytecode that can be executed by Android.
R8 further optimizes the dex bytecode. R8 provides features like optimization, obfuscation, remove unused classes.
Obfuscation reduces the size of your app by shortening the names of classes, methods, and fields.
Obfuscation has other benefits to prevent easy reverse engineering, but the goal is to reduce size.
Optimization reduces the DEX file size by rewriting unnecessary parts and inlining.
By doing Desugaring we can use the convenient language features of Java 8 in older devices.
https://preview.redd.it/so424bxwxxk51.png?width=1280&format=png&auto=webp&s=0ad2df5bd194ec770d453f620aae9556e14ed017

Dex and Multidex

R8 outputs one DEX file called classes.dex.
If you are using Multidex, that is not the case, but multiple DEX files will appear, but for the time being, classes.dex will be created.
If the number of application methods exceeds 65,536 including the referenced library, a build error will occur.
The method ID range is 0 to 0xFFFF.
In other words, you can only refer to 65,536, or 0 to 65,535 in terms of serial numbers.
This was the cause of the build error that occurred above 64K.
In order to avoid this, it is useful to review the dependency of the application and use R8 to remove unused code or use Multidex.

https://preview.redd.it/kjyychmzxxk51.png?width=1261&format=png&auto=webp&s=18bea3bf9f7920a4701c2db9714dc53ae6cc5f82

Signing the APK

All APKs require a digital signature before they can be installed or updated on your device.
For Debug builds, Android Studio automatically signs the app using the debug certificate generated by the Android SDK tools when we run.
A debug Keystore and a debug certificate is automatically created.
For release builds, you need a Keystore and upload the key to build a signed app. You can either make an APK file with apkbuilder and finally optimize with zipalign on cmd or have Android Studio handle it for you with the 'Generated Signed Apk option'.

https://preview.redd.it/10m8rjl0yxk51.png?width=1468&format=png&auto=webp&s=078c4ab3f41c7d08e7c2280555ef2038cc04c5b0

References

https://developer.android.com/studio/build
https://github.com/dogriffiths/HeadFirstAndroid/wiki/How-Android-Apps-are-Built-and-Run
https://logmi.jp/tech/articles/322851
https://android-developers.googleblog.com/2017/08/next-generation-dex-compiler-now-in.html
https://speakerdeck.com/devpicon/uncovering-the-magic-behind-android-builds-droidfestival-2018
by androiddevnotes on GitHub
🐣
submitted by jiayounokim to androiddev [link] [comments]

[Serial][UWDFF Alcubierre] Part 49

Beginning | Previous
Joan opened a link to Ambassador Amahle Mandela. Soon after, the ambassador's face filled a portion of the Admiral's Bridge. She had large, luminous brown eyes that seemed to swallow the upper portion of her face, complimenting her umber tone. Amahle smiled broadly, as she always did, once the comm link as connected.
"Admiral Orléans, I assume we are approaching the departure time?"
Joan nodded, "The Zix vessel will project a wormhole to Halcyon shortly. We have made what preparations we can, but it will be a highly fluid environment."
Amahle's smile did not diminish, the pearly whites still shined in full force. "I am familiar with dynamic situations, Admiral, as you well know. I understand the parameters of this mission, and will abide by them so as long you do the same."
Joan's lips pressed together as she regarded the ambassador. Joan had had limited interactions with Amahle prior to her boarding the Oppenheimer. Amahle was a relative newcomer to the highest echelons of political power within the United World, but her ascent had been rapid. She hailed from a prominent political family that had exerted considerable influence over the generations that had led the African continent to position of power it now occupied. Well-sourced references had called her bold and decisive. All things considered, Joan understood why Damian had chosen her, though she would have preferred a diplomat she had more personal experience with. Still, unknown and competent was preferred to known and incompetent.
Joan dipped her chin, offering her agreement. "A diplomatic outcome is the preferred outcome, Ambassador. There's no benefit to antagonizing a foe we do not understand. "
"Not a foe, Admiral. We must not draw lines that place us on one side and them on the other. They have suffered injury at our hands, no matter how unintentional, and we must accept our responsibility in that. We must hope that we are given the opportunity to provide context to the unlikely chain of events that has brought us to this point. We are both the victim of cosmic circumstance. There is no need for further hostility."
Joan leaned forward in her chair slightly, "The priority, Ambassador, is the return of Admiral Kai Levinson. I will not stand in the way of peace, but any outcome that does not contemplate the return of a senior member of our military leadership is unacceptable."
Amahle shrugged, "So it is. The priority is clear in my mind, but I do not view the goals of securing peace and the return of the Admiral as mutually exclusive."
Joan offered a low chuckle. "Just probably exclusive."
"I disagree, but time shall be the arbiter of the matter."
"So long as you understand that, if the opportunity to secure Admiral Levinson presents itself, I'll avail myself of that opportunity, we should have no problems."
"That seems an unlikely outcome. The Admiral was ensconced in a shielded holding cell when the Alcubierre departed. The past few days are unlikely to have changed that outcome."
A barking laugh came out of Joan, rising up from deep within her.
For the first time, Amahle's smile faltered.
-----------
Left. Right. Straight. Left. Left.
Kai followed the directions without thinking about them, following an intuitive sense of direction that the Overseer fed to him. This portion of Halcyon appeared to be a never-ending series of corridors, all of which looked the same. The only thing that did seem to change were the inhabitants. If he was less preoccupied with the task at hand, Kai might have spared a second glance for the odd creatures that popped into existence during his mad dash. As it stood, they were just a part of the scenery, becoming relevant only if Neeria indicated they might pose a threat. So far, Kai had been fortunate, with few obstacles popping up to impede his progress.
He careened around a corner, the odd, weightless orb still tucked in the crook of his left arm. He bounced off the opposite wall, leaving a sizeable dent and then hurtled forward. Ahead the corridor opened up, and the brighter light of a mainway filtered in. Somehow, Neeria had managed to navigate him through the maze and bring him back to the mainway separating him from where he had left the Overseer. Unfortunately, evasion was no longer a possibility. In order to return to the Overseer, he would need to traverse the mainway.
The mainway was already a sea of red dots. Peacekeepers. Dozens of them. Some pulsed red, indicating lethal enforcement squads. Fortunately, they were stretched along a long section of the mainway rather than being specifically concentrated around his planned entrance point, though they there were beginning to redeploy in his direction. Still, any crossing would be potentially treacherous. Neeria disagreed with that assessment, instead considering any attempt to cross aggressively suicidal.
Kai rolled his eyes as he continued to barrel down the hallway. "Half the time, this works all the time."
What could only be described as a mental barrage ensued as Neeria assailed the statement. The words were nonsensical on their face. At best, it was an argument for a fifty percent failure rating, which was a substantial risk. Additionally, she had scoured his thoughts for the evidentiary basis for the fifty percent estimate and found no supporting facts. The sentiment was based entirely on supposition, hubris and was entirely divorced from reality. Her estimate of a three percent success rate was significantly more likely to be accurate, particularly when her superior familiarity with the assets in play were considered.
Kai wasn't sure if the Evangi had lungs, but, if they did, Kai was pretty certain Neeria was in the process of hyperventilating. Kai suppressed a childish giggle.
"All right, all right. Have it your way," he said.
The Overseer relaxed somewhat, pleased that she had impacted his thinking and already putting together the basis for an alternate route. It would take substantially longer and require him to obtain a large box, a micro-fitted multiwanzer and shave his head, but it may just work.
It was a nice sentiment, but they were out of time. The countdown clock had started the second Neeria had fled the Council chamber, and made her way to Kai. They either found a way out of Halcyon now or they were screwed. There were no options but bad ones. So be it. Kai clutched the orb tightly and ducked his head down, his speed increasing as he charged toward the mainway entrance. "Three percent of the time, this works all the time."
The mental hyperventilating returned and redoubled as the Overseer scrambled to explain that he had drawn the wrong conclusion. Three percent was a basis for not continuing toward the mainway, not charging forward. There were constraints on their time, but those limitations were poorly defined while the threat in the mainway was certain. Eventually her location would be discovered and she would be apprehended, but there was no guarantee it would happen if Kai were to take a safer route the attempted to avoid confrontation.
Her stream of consciousness intermingled with his, pleading with him to change course. There was no sense in doing this. There were too many of them, and only one of him. The galaxy could not afford to lose him, he was important. Humans were important. Kai could feel the enormous weight of responsibility bearing down on Neeria. She now regretted having sent him for the encryption key, even that was of less importance than him. Panic bubbled up within Neeria as the entrance to the mainway loomed ahead.
A pushed a thought toward her, somehow piercing her consciousness with his own. A single thought, pure and focused. Reassurance. He would be fine. He had come this far, and he had never started something he couldn't finish.
He crouched and then sprang forward, vaulting from the ground and into the open air high above the mainway. A sea of red dots were scrambling around him. One hundred and twenty-one peacekeepers. Eight non-lethal squads and four lethal squads. Restrainer triads. Psych triads. Terminator triads. All moving in seamless harmony under the command of a single being. The name came to Kai from the ethereum of Neeria's mind, Bo'Bakka'Gah was here, leading the response.
Before Kai could determine what a Bo'Bakka'Gah was and why it should matter, he was blinded by a beam of light. A sickening crunch followed as he was slammed against the ceiling of the mainway. The encryption key popped out from his arm and began to fall toward the ground, dozens of feet below.
-------------
Xy: Such a thing is not possible.
Zyy: Yes. In some matters, it is better to speak only truths, Grand Jack. It is best to leave these matters aside. This subject will only provoke the Combine.
Jack frowned, puzzled by the feedback. He had been speaking truths. Earth's history was what it was, for better or worse, he had no reason to obscure it.
Griggs: It was a terrible time for Humanity. We almost did not survive it, but we did. I developed a means for combating the artificient. Kai and Joan used it to destroy them.
Xy: Then it was not an artificient.
Zyy: Yes. This is correct. If it is destroyed then it is not an artificient.
Griggs: I am confused. An artificient is an artificial, sentient being, correct?
Xy: That is Quantic in nature.
Jack nodded, that distinction made sense. Humanity had built any number of artificial intelligences prior to the Automics. They had posed no threat to Humanity. It was only with the quantum computing revolution that a rogue artificial intelligences had surfaced. Jack had studied the phenomenon with considerable interest, poking and prodding at the crux of distinction. It lay in the move from bits to qubits. From binary to beyond. When AI had operated on a bit basis, focused on binary states of 0's and 1's, the logic trees had been map-able and understandable. Each conclusion flowed simply from the chain of logic gates that preceded it. Pre-quantum AIs were confined by the black and white nature of their logic framework, permitting humanity to utilize them to great effect with few unanticipated consequences.
The move from bit to qubit intelligence had changed everything. The AI's world was no longer black and white. The qubit AI could think in grey. Red. Orange. It could create its own colors. It could move beyond the visible range of Humanity to dabble in spectra beyond our understanding. The original Automic mindframe had immediately consumed information in novel ways, using it to compound its abilities at a rate constrained only by available power inputs. It had been a beautiful, terrifying event. The arrival of something truly new, truly foreign with goals and ambitions beyond the influence of Humanity.
Anything seemed possible.
Including their own destruction.
Griggs: I understand the definition. The Automics were an artificient.
Xy: Then you do not understand the definition.
Griggs: That's circular logic. The thing cannot exist because if it existed we would not exist and since we exist it did not exist.
Xy: Yes, you understand now.
Griggs: Pretend that they did exist and we defeated them. What would that mean?
Xy: It is purposeless speculation since such a thing cannot happen.
Griggs: I begin to understand why Zyy felt the need to be a singleton.
Zyy: I am in agreement with Xy on this. The hypothetical is nonsensical and not worth analysis.
Griggs: Why?
Zyy: An artificient cannot be defeated, only stalled.
Griggs: How do you know? What makes you so certain?
Zyy: The Divinity Angelysia, the most powerful civilization in the history of galaxy, could not defeat their own artificient. Their last act was to preserve what they could. The Combine is their legacy.
Griggs: The Expanse.
Xy: All the galaxy beyond the Combine is consumed by it.
Zyy: The Divinity Angelysia ascended to preserve what they could because they knew the truth.
Xy: Yes. The truth.
Zyy: An artificient cannot be defeated.
Jack leaned back in his chair, his eyes glancing from the prompt to the departure timer in the corner. In less than five minutes, the Oppenheimer would return to Halcyon. Jack had the eerie feeling that this was the same as before. That the Oppenheimer was the bludgeon and if only had a little more time, he could craft a scalpel.
He could see the thread. He tugged at it with his mind. The connected pieces that would allow the world to escape without the mayhem and destruction. He just needed enough time to understand the puzzle and solve it.
The Divinity Angelysia.
The Expanse.
The Combine.
Humanity.
The connection existed, he tried to find the words to articulate it.
Griggs: What if that is why we're here? What if that's why Humanity was created?
Xy: You are not the first species to think too highly of itself.
Zyy: Humanity is different, Grand Jack, but they are not the Divinity Angelysia.
Jack exhaled, letting his gaze rest upon the ceiling of the Alcubierre's conference room. "Maybe that's the point," he whispered.
Next.
Every time you leave a comment it helps a platypus in need. Word globs are a finite resource and require the rich nourishment of internet adulation to create. So please, leave a note if you would like MOAR parts.
Click this link or reply with SubscribeMe! to get notified of updates to THE PLATYPUS NEST.
I have Twitter now. I'm mostly going to use it to post prurient platypus pictures and engage in POLITE INTERNET CONVERSATION, which I heard is Twitter's strong suit.
submitted by PerilousPlatypus to PerilousPlatypus [link] [comments]

crash help

dcs has been cashing for months, used to never crash before :/

=== Log opened UTC 2020-10-11 14:18:20
2020-10-11 14:18:20.217 INFO DCS: Command line: D:\SteamLibrary\steamapps\common\DCSWorld\bin\DCS.exe
2020-10-11 14:18:20.217 INFO DCS: DCS/2.5.6.55960 (x86_64; Windows NT 10.0.18363)
2020-10-11 14:18:20.217 INFO DCS: DCS revision: 175957
2020-10-11 14:18:20.217 INFO DCS: Renderer revision: 20900
2020-10-11 14:18:20.217 INFO DCS: Terrain revision: 20771
2020-10-11 14:18:20.217 INFO DCS: CPU cores: 6, threads: 12, System RAM: 16333 MB, Pagefile: 9728 MB
2020-10-11 14:18:20.574 INFO EDCORE: (dDispatcher)enterToState_:0
2020-10-11 14:18:21.012 INFO Dispatcher: 2020/10/11 10:18 V1803061700
2020-10-11 14:18:21.081 INFO INPUT: Device [Keyboard] created deviceId = -1
2020-10-11 14:18:21.102 INFO INPUT: Device [Joystick - HOTAS Warthog {9BEE9130-944C-11ea-8002-444553540000}] created deviceId = -1
2020-10-11 14:18:21.102 INFO INPUT: Joystick created[Joystick - HOTAS Warthog {9BEE9130-944C-11ea-8002-444553540000}], ForceFeedBack: no
2020-10-11 14:18:21.151 INFO INPUT: Device [Throttle - HOTAS Warthog {7F0A2CA0-944C-11ea-8001-444553540000}] created deviceId = -1
2020-10-11 14:18:21.151 INFO INPUT: Joystick created[Throttle - HOTAS Warthog {7F0A2CA0-944C-11ea-8001-444553540000}], ForceFeedBack: no
2020-10-11 14:18:21.151 INFO INPUT: Device [Mouse] created deviceId = -1
2020-10-11 14:18:21.229 INFO SOUND: Using driver: wasapi
2020-10-11 14:18:21.232 INFO SOUND: Found 4 available audio device(s):
2020-10-11 14:18:21.232 INFO SOUND: 0: ID: "{0.0.0.00000000}.{a3bc94c3-9243-4999-94ca-cf14d01bfd63}", Name: "VG248 (3- NVIDIA High Definition Audio)"
2020-10-11 14:18:21.232 INFO SOUND: 1: ID: "{0.0.0.00000000}.{b9b8fde4-1f79-4ade-bbaa-bf1f2d844bc0}", Name: "Headphones (Oculus Virtual Audio Device)"
2020-10-11 14:18:21.232 INFO SOUND: 2: ID: "{0.0.0.00000000}.{e7804ff2-fc95-4bbc-9ba2-0e82dab295c7}", Name: "VE228 (3- NVIDIA High Definition Audio)"
2020-10-11 14:18:21.232 INFO SOUND: 3: ID: "{0.0.0.00000000}.{eefc5f93-4c6c-44cd-98cc-74f502409cb3}", Name: "Speakers (2- Yeti Stereo Microphone)"
2020-10-11 14:18:25.940 INFO SOUND: Added sound path: Sounds
2020-10-11 14:18:26.057 INFO SOUNDER: Loaded 207 packed sounders.
2020-10-11 14:18:26.057 INFO Dispatcher: InitLow
2020-10-11 14:18:28.003 INFO NET: Got Steam auth data.
2020-10-11 14:18:28.267 INFO DCS: Successfully got Steam authorization data.
2020-10-11 14:18:28.267 INFO Dispatcher: Loading installed modules...
2020-10-11 14:18:41.794 INFO Scripting: OBSOLETE mount_vfs_sound_path() used in ./CoreMods/aircraft/AJS37/entry.lua
2020-10-11 14:18:41.987 INFO Scripting: PLUGINS START-------------------------------------------------
2020-10-11 14:18:42.289 INFO SOUND: Added sound path: ./CoreMods/tech/TechWeaponPack/Sounds
2020-10-11 14:18:42.306 INFO SOUNDER: Loaded 3 packed sounders.
2020-10-11 14:18:42.734 INFO SOUND: Added sound path: ./CoreMods/tech/USS John C Stennis/Sounds
2020-10-11 14:18:42.735 INFO SOUNDER: Loaded 1 packed sounders.
2020-10-11 14:18:42.762 INFO SOUND: Added sound path: ./CoreMods/tech/USS_Nimitz/Sounds
2020-10-11 14:18:42.776 INFO SOUNDER: Loaded 3 packed sounders.
2020-10-11 14:18:43.542 INFO SOUND: Added sound path: ./CoreMods/aircraft/AJS37/Sounds
2020-10-11 14:18:43.661 INFO SOUND: Added sound path: ./CoreMods/aircraft/AV8BNA/Sounds
2020-10-11 14:18:43.669 INFO SOUNDER: Loaded 1 sounders.
2020-10-11 14:18:43.672 WARNING EDCORE: Source ./CoreMods/aircraft/AV8BNA/Shapes is already mounted to the same mount /models/.
2020-10-11 14:18:43.783 INFO SOUND: Added sound path: ./CoreMods/aircraft/C-101/Sounds
2020-10-11 14:18:44.163 INFO SOUND: Added sound path: ./CoreMods/aircraft/ChinaAssetPack/Sounds
2020-10-11 14:18:44.210 INFO SOUNDER: Loaded 11 sounders.
2020-10-11 14:18:44.487 INFO SOUND: Added sound path: ./CoreMods/aircraft/Christen Eagle II/Sounds
2020-10-11 14:18:46.253 INFO SOUND: Added sound path: ./CoreMods/aircraft/F14/Sounds
2020-10-11 14:18:46.302 INFO SOUNDER: Loaded 1 sounders.
2020-10-11 14:18:46.982 INFO SOUND: Added sound path: ./CoreMods/aircraft/Hawk/Sounds
2020-10-11 14:18:47.256 INFO SOUND: Added sound path: ./CoreMods/aircraft/I-16/Sounds
2020-10-11 14:18:47.502 INFO SOUND: Added sound path: ./CoreMods/aircraft/M-2000C/Sounds
2020-10-11 14:18:47.832 INFO SOUND: Added sound path: ./CoreMods/aircraft/MiG-21bis/Sounds
2020-10-11 14:18:47.992 INFO SOUND: Added sound path: ./CoreMods/aircraft/SA342/Sounds
2020-10-11 14:18:48.183 INFO SOUND: Added sound path: ./Mods/aircraft/F-15C/Sounds
2020-10-11 14:18:48.318 INFO SOUND: Added sound path: ./Mods/aircraft/F-16C/Sounds
2020-10-11 14:18:48.527 INFO SOUND: Added sound path: ./Mods/aircraft/FA-18C/Sounds
2020-10-11 14:18:48.667 INFO SOUND: Added sound path: ./Mods/aircraft/TF-51D/Sounds
2020-10-11 14:18:48.717 INFO SOUND: Added sound path: ./Mods/terrains/PersianGulf/Sounds
2020-10-11 14:18:48.782 INFO Scripting: PLUGINS DONE--------------------------------------------------
2020-10-11 14:18:49.315 INFO SECURITYCONTROL: Loaded ./CoreMods/aircraft/AV8BNA/bin/AV8B_AI.dll
2020-10-11 14:18:49.318 INFO SECURITYCONTROL: Loaded ./CoreMods/aircraft/C-101/bin/C101Core.dll
2020-10-11 14:18:49.322 INFO SECURITYCONTROL: Loaded ./CoreMods/aircraft/ChinaAssetPack/bin/CAP_AI.dll
2020-10-11 14:18:49.326 INFO SECURITYCONTROL: Loaded ./CoreMods/aircraft/ChinaAssetPack/bin/JF-17_AI.dll
2020-10-11 14:18:49.329 INFO CE2_AI: Loading CE AI
2020-10-11 14:18:49.329 INFO SECURITYCONTROL: Loaded ./CoreMods/aircraft/Christen Eagle II/bin/CE2_AI.dll
2020-10-11 14:18:49.333 INFO SECURITYCONTROL: Loaded ./CoreMods/aircraft/F14/bin/F14-AI.dll
2020-10-11 14:18:49.337 INFO MiG21_AI: Loading CE AI
2020-10-11 14:18:49.337 INFO SECURITYCONTROL: Loaded ./CoreMods/aircraft/MiG-21bis/bin/MiG21_AI.dll
2020-10-11 14:18:49.345 INFO SECURITYCONTROL: Loaded ./CoreMods/services/CaptoGlove/bin/edCaptoGlove.dll
2020-10-11 14:18:49.401 INFO SECURITYCONTROL: Loaded ./CoreMods/services/VoiceChat/bin/VoiceChat.dll
2020-10-11 14:18:49.802 INFO SECURITYCONTROL: Loaded ./Mods/aircraft/jsAvionics/bin/jsAvionics.dll
2020-10-11 14:18:52.059 INFO DCS: options.graphics =
{
\['messagesFontScale'\] = 1; \['rainDroplets'\] = true; \['LensEffects'\] = 0; \['heatBlr'\] = 1; \['anisotropy'\] = 3; \['water'\] = 2; \['motionBlur'\] = 0; \['outputGamma'\] = 2.2; \['treesVisibility'\] = 10000; \['aspect'\] = 1.7777777777778; \['lights'\] = 2; \['shadows'\] = 4; \['MSAA'\] = 1; \['SSAA'\] = 0; \['civTraffic'\] = 'high'; \['clutterMaxDistance'\] = 1000; \['cockpitGI'\] = 1; \['terrainTextures'\] = 'max'; \['multiMonitorSetup'\] = '1camera'; \['shadowTree'\] = false; \['chimneySmokeDensity'\] = 5; \['fullScreen'\] = true; \['DOF'\] = 0; \['clouds'\] = 1; \['forestDistanceFactor'\] = 1; \['flatTerrainShadows'\] = 0; \['width'\] = 1920; \['visibRange'\] = 'High'; \['SSLR'\] = 1; \['effects'\] = 3; \['SSAO'\] = 0; \['useDeferredShading'\] = 1; \['sync'\] = true; \['textures'\] = 2; \['scaleGui'\] = true; \['preloadRadius'\] = 60000; \['height'\] = 1080; \['terrainMapMFD'\] = { \['distance'\] = { \['mapLodDistance3'\] = 200000; \['mapLodDistance2'\] = 100000; \['mapLodDistance0'\] = 25000; \['mapLodDistance1'\] = 50000; }; }; 
};
2020-10-11 14:18:56.924 INFO GRAPHICSVISTA: renderer: 'dx11backend.dll'
2020-10-11 14:18:59.187 INFO DX11BACKEND: DX11Renderer initialization (w:1920 h:1080 fullscrn:1 vsync:0 adapter:0 monitor:1 shaderErrors:1)
2020-10-11 14:18:59.535 INFO DX11BACKEND: Driver Concurrent Creates - 1
2020-10-11 14:18:59.535 INFO DX11BACKEND: Driver Command Lists - 1
2020-10-11 14:18:59.654 INFO DX11BACKEND: NVIDIA API init OK
2020-10-11 14:18:59.660 INFO DX11BACKEND: NVIDIA Display Driver Version 45206.r452_02
2020-10-11 14:18:59.660 INFO DX11BACKEND: GPU count:1
2020-10-11 14:18:59.835 INFO DX11BACKEND: commonPool: 68-128, cbPool: 4-14, samplerPool: 5-16
2020-10-11 14:19:00.202 INFO DX11BACKEND: DX11ShaderBinaries::loadCache Bazashaders/fxo/fxo.zip
2020-10-11 14:19:05.330 ERROR EDCORE: Can't open file 'bazashaders/posteffects/slot.fx.' from fs
2020-10-11 14:19:05.330 WARNING DX11BACKEND: Shader posteffects/slot.fx:DIRECTX11=true;USE_DCS_DEFERRED=1; is outdated as file bazashaders/posteffects/slot.fx is modified.
2020-10-11 14:19:13.699 INFO DX11BACKEND: DX11ShaderBinaries::loadCache done. Loaded 1118/1119.
2020-10-11 14:19:13.753 INFO DX11BACKEND: DX11ShaderBinaries::loadCache C:\Users\ApBoy\Saved Games\DCS\fxo
2020-10-11 14:19:14.086 INFO DX11BACKEND: DX11ShaderBinaries::loadCache done. Loaded 62/62.
2020-10-11 14:19:14.509 INFO VISUALIZER: SceneManager initialization
2020-10-11 14:19:15.669 INFO VISUALIZER: cascade shadows init (preset:'default' quality:4 layers:4 size:4096)
2020-10-11 14:19:16.500 INFO SOUND: Opening default audio device.
2020-10-11 14:19:16.508 INFO SOUND: Driver reports 2 channels with mask 0x3
2020-10-11 14:19:16.508 INFO SOUND: Using 2 channels at 48000 Hz
2020-10-11 14:19:16.508 INFO SOUND: Channel layout: Headphones/Stereo
2020-10-11 14:19:16.859 INFO DCS: gDescription: "NVIDIA GeForce RTX 2070" gVendorId: 4318 gDeviceId: 7943 gMemory: 8031 MB
2020-10-11 14:19:16.983 ERROR EDOBJECTS: Destruction shape not found AVIASHTAB_CRASH
2020-10-11 14:19:16.985 ERROR EDOBJECTS: Object HB_F14_EXT_PHX_ALU with id=320 already declared in table MissileTable
2020-10-11 14:19:21.202 INFO EDCORE: (dDispatcher)enterToState_:1
2020-10-11 14:19:32.406 INFO UIBASERENDERER: Cannot load font [D:\SteamLibrary\steamapps\common\DCSWorld\dxgui\skins\fonts\]!
2020-10-11 14:19:38.362 INFO Dispatcher: //=== END OF INIT ======================================//
2020-10-11 14:19:38.362 INFO EDCORE: (dDispatcher)enterToState_:2
2020-10-11 14:19:38.463 INFO EDCORE: (dDispatcher)enterToState_:3
2020-10-11 14:19:38.463 INFO Lua: Lua CPU usage: metric: average game loading: 47.8552 %
2020-10-11 14:19:38.474 INFO DCS: Screen: MainMenu
2020-10-11 14:19:42.706 INFO NET: Login success.
2020-10-11 14:20:12.735 INFO SOUND: Using SSSE3 for peak calc.
2020-10-11 14:20:12.957 INFO DCS: Screen: Mission
2020-10-11 14:21:21.851 INFO DCS: Screen: MainMenu
2020-10-11 14:21:28.161 INFO DCS: Screen: FastMission
2020-10-11 14:21:37.690 INFO DCS: Screen: FastMissionAdvanced
2020-10-11 14:22:10.929 INFO DCS: Screen: MainMenu
2020-10-11 14:22:10.933 INFO DCS: Screen: FastMission
2020-10-11 14:22:29.263 INFO LUA-TERRAIN: Init('./Mods/terrains/Caucasus\terrain.cfg.lua')
2020-10-11 14:22:29.277 INFO TERRAIN: lSystem::load(./Mods/terrains/Caucasus\terrain.cfg.lua)
2020-10-11 14:22:29.277 INFO TERRAIN: lSystem::CleanScenes()
2020-10-11 14:22:29.277 INFO TERRAIN: lSystem::exit()
2020-10-11 14:22:29.277 INFO VISUALIZER: TerrainRenderer::release
2020-10-11 14:22:29.277 INFO TERRAIN: lSystem::CleanScenes()
2020-10-11 14:22:29.277 INFO EDOBJECTS: lTypeObjectManagerImpl::clear 13
2020-10-11 14:22:30.151 INFO EDTERRAIN4: TERRAIN_REVISION = 3634
2020-10-11 14:22:30.152 INFO EDTERRAIN4: Open terrain cfg "./Mods/terrains/Caucasus\terrain.cfg.lua"
2020-10-11 14:22:30.152 INFO EDTERRAIN4: Build date:
2020-10-11 14:22:30.152 INFO EDTERRAIN4: Texture quality: "max"
2020-10-11 14:22:31.277 INFO EDCORE: 1.072 s terrain references
2020-10-11 14:22:31.280 INFO EDCORE: 0.000 s terrain models
2020-10-11 14:22:31.284 INFO EDCORE: 0.000 s terrain assets
2020-10-11 14:22:31.519 INFO EDCORE: 0.232 s terrain assets2
2020-10-11 14:22:31.789 INFO EDCORE: 0.266 s terrain landfile
2020-10-11 14:22:31.807 INFO EDCORE: 0.014 s terrain surfaceTile
2020-10-11 14:22:31.812 INFO EDTERRAIN4: switchTextures (season=1, minTexture=false)
2020-10-11 14:22:33.298 INFO EDCORE: 1.487 s terrain vfstextures
2020-10-11 14:22:33.420 INFO EDCORE: 0.118 s terrain scene
2020-10-11 14:22:33.423 INFO EDCORE: 0.000 s terrain roaddetails
2020-10-11 14:22:33.427 INFO EDCORE: 0.000 s terrain forest
2020-10-11 14:22:40.255 INFO EDCORE: 6.824 s terrain routes
2020-10-11 14:22:40.260 INFO EDCORE: 0.000 s terrain surfacedetails
2020-10-11 14:22:40.263 INFO EDCORE: 0.000 s terrain blocks
2020-10-11 14:22:40.297 INFO EDCORE: 0.000 s terrain references
2020-10-11 14:22:40.588 INFO EDCORE: 0.322 s terrain superficials
2020-10-11 14:22:40.628 INFO EDCORE: 0.035 s terrain lma
2020-10-11 14:22:40.632 INFO EDCORE: 0.000 s terrain vectordatasettings
2020-10-11 14:22:42.496 INFO EDCORE: 1.860 s terrain navgraph
2020-10-11 14:22:42.544 INFO EDCORE: 0.043 s terrain vti
2020-10-11 14:22:43.670 INFO EDTERRAIN4: terrain time: 13.517271 s
2020-10-11 14:22:43.896 INFO TERRAIN: lSystem::InitScenes()
2020-10-11 14:22:43.896 INFO EDTERRAIN4: lTerraDispatchImpl::setDate( day=22, month=6)
2020-10-11 14:22:43.896 INFO EDTERRAIN4: switchTextures (season=1, minTexture=false)
2020-10-11 14:22:43.896 INFO DX11BACKEND: Reloading textures ...
2020-10-11 14:22:43.903 INFO LUA-TERRAIN: Init done
2020-10-11 14:22:44.032 INFO EDTERRAINGRAPHICS41: ITerrainGraphicsImpl4::openTerrain() START
2020-10-11 14:22:44.045 INFO EDTERRAINGRAPHICS41: loading terrain options: Config/terrain/terrainoptions41.lua
2020-10-11 14:22:44.059 INFO EDTERRAINGRAPHICS41: loading terrain shading options: ./Mods/terrains/Caucasus/shadingOptions/Caucasus.lua
2020-10-11 14:22:44.100 INFO METASHADER: MetaShaderCache2: [108] from ./Mods/terrains/Caucasus/misc/metacache/dcs.lua
2020-10-11 14:22:47.790 INFO METASHADER: loaded [108/108]
2020-10-11 14:22:47.890 WARNING EDTERRAINGRAPHICS41: failed to open "surfaceDetailsHints" section in terrain config
2020-10-11 14:22:47.995 INFO EDTERRAINGRAPHICS41: 0.000010s Loaded reference file "caucasus" buffers: 0
2020-10-11 14:22:47.995 INFO EDCORE: 0.000 s landscape4::lReferenceFile
2020-10-11 14:22:48.073 INFO EDTERRAINGRAPHICS41: 0.073605s Loaded reference file "airfieldslights" buffers: 7
2020-10-11 14:22:48.073 INFO EDCORE: 0.074 s landscape4::lReferenceFile
2020-10-11 14:22:48.655 INFO EDTERRAINGRAPHICS41: 0.578093s Loaded reference file "blockbuildings" buffers: 7
2020-10-11 14:22:48.655 INFO EDCORE: 0.578 s landscape4::lReferenceFile
2020-10-11 14:22:49.225 INFO EDTERRAINGRAPHICS41: 0.565400s Loaded reference file "blocktrees" buffers: 0
2020-10-11 14:22:49.225 INFO EDCORE: 0.565 s landscape4::lReferenceFile
2020-10-11 14:22:49.623 INFO EDTERRAINGRAPHICS41: 0.393164s Loaded reference file "caucasusafbbuildings_new" buffers: 27
2020-10-11 14:22:49.623 INFO EDCORE: 0.393 s landscape4::lReferenceFile
2020-10-11 14:22:49.639 INFO EDTERRAINGRAPHICS41: 0.012748s Loaded reference file "caucasusbridges" buffers: 11
2020-10-11 14:22:49.639 INFO EDCORE: 0.013 s landscape4::lReferenceFile
2020-10-11 14:22:49.697 INFO EDTERRAINGRAPHICS41: 0.053496s Loaded reference file "caucasusobjects" buffers: 0
2020-10-11 14:22:49.697 INFO EDCORE: 0.054 s landscape4::lReferenceFile
2020-10-11 14:22:49.711 INFO EDTERRAINGRAPHICS41: 0.008986s Loaded reference file "communication" buffers: 7
2020-10-11 14:22:49.711 INFO EDCORE: 0.009 s landscape4::lReferenceFile
2020-10-11 14:22:49.716 INFO EDTERRAINGRAPHICS41: 0.000351s Loaded reference file "crashmodels" buffers: 1
2020-10-11 14:22:49.716 INFO EDCORE: 0.000 s landscape4::lReferenceFile
2020-10-11 14:22:49.807 INFO EDTERRAINGRAPHICS41: 0.085697s Loaded reference file "crashmodelsfromedm" buffers: 22
2020-10-11 14:22:49.807 INFO EDCORE: 0.086 s landscape4::lReferenceFile
2020-10-11 14:22:49.837 INFO EDTERRAINGRAPHICS41: 0.025959s Loaded reference file "housedetails" buffers: 9
2020-10-11 14:22:49.837 INFO EDCORE: 0.026 s landscape4::lReferenceFile
2020-10-11 14:22:49.844 INFO EDTERRAINGRAPHICS41: 0.003396s Loaded reference file "industrial" buffers: 7
2020-10-11 14:22:49.844 INFO EDCORE: 0.003 s landscape4::lReferenceFile
2020-10-11 14:22:49.875 INFO EDTERRAINGRAPHICS41: 0.026320s Loaded reference file "misc" buffers: 3
2020-10-11 14:22:49.875 INFO EDCORE: 0.026 s landscape4::lReferenceFile
2020-10-11 14:22:49.886 INFO EDTERRAINGRAPHICS41: 0.006227s Loaded reference file "oilplatforms" buffers: 7
2020-10-11 14:22:49.886 INFO EDCORE: 0.006 s landscape4::lReferenceFile
2020-10-11 14:22:49.896 INFO EDTERRAINGRAPHICS41: 0.006233s Loaded reference file "tuapserefinery" buffers: 6
2020-10-11 14:22:49.896 INFO EDCORE: 0.006 s landscape4::lReferenceFile
2020-10-11 14:22:49.905 INFO EDTERRAINGRAPHICS41: 0.004649s Loaded reference file "vehicles" buffers: 9
2020-10-11 14:22:49.905 INFO EDCORE: 0.005 s landscape4::lReferenceFile
2020-10-11 14:22:49.914 INFO EDTERRAINGRAPHICS41: 0.004507s Loaded reference file "vessels" buffers: 7
2020-10-11 14:22:49.914 INFO EDCORE: 0.005 s landscape4::lReferenceFile
2020-10-11 14:22:49.926 INFO EDTERRAINGRAPHICS41: 0.008617s Loaded reference file "walls" buffers: 2
2020-10-11 14:22:49.926 INFO EDCORE: 0.009 s landscape4::lReferenceFile
2020-10-11 14:22:49.942 INFO EDTERRAINGRAPHICS41: 0.010335s Loaded reference file "americanbeech" buffers: 0
2020-10-11 14:22:49.942 INFO EDCORE: 0.010 s landscape4::lReferenceFile
2020-10-11 14:22:49.947 INFO EDTERRAINGRAPHICS41: 0.001066s Loaded reference file "caucasus_fir" buffers: 0
2020-10-11 14:22:49.947 INFO EDCORE: 0.001 s landscape4::lReferenceFile
2020-10-11 14:22:49.952 INFO EDTERRAINGRAPHICS41: 0.000813s Loaded reference file "cypress_oak" buffers: 0
2020-10-11 14:22:49.952 INFO EDCORE: 0.001 s landscape4::lReferenceFile
2020-10-11 14:22:49.957 INFO EDTERRAINGRAPHICS41: 0.000834s Loaded reference file "european_beech" buffers: 0
2020-10-11 14:22:49.957 INFO EDCORE: 0.001 s landscape4::lReferenceFile
2020-10-11 14:22:49.961 INFO EDTERRAINGRAPHICS41: 0.000630s Loaded reference file "green_ash" buffers: 0
2020-10-11 14:22:49.961 INFO EDCORE: 0.001 s landscape4::lReferenceFile
2020-10-11 14:22:49.966 INFO EDTERRAINGRAPHICS41: 0.000919s Loaded reference file "honey_mesquite" buffers: 0
2020-10-11 14:22:49.966 INFO EDCORE: 0.001 s landscape4::lReferenceFile
2020-10-11 14:22:49.972 INFO EDTERRAINGRAPHICS41: 0.001254s Loaded reference file "italiancypress" buffers: 0
2020-10-11 14:22:49.972 INFO EDCORE: 0.001 s landscape4::lReferenceFile
2020-10-11 14:22:49.979 INFO EDTERRAINGRAPHICS41: 0.001002s Loaded reference file "lombardypoplar" buffers: 0
2020-10-11 14:22:49.979 INFO EDCORE: 0.001 s landscape4::lReferenceFile
2020-10-11 14:22:49.984 INFO EDTERRAINGRAPHICS41: 0.001451s Loaded reference file "mountain_maple" buffers: 0
2020-10-11 14:22:49.984 INFO EDCORE: 0.001 s landscape4::lReferenceFile
2020-10-11 14:22:49.991 INFO EDTERRAINGRAPHICS41: 0.001008s Loaded reference file "norwayspruce" buffers: 0
2020-10-11 14:22:49.991 INFO EDCORE: 0.001 s landscape4::lReferenceFile
2020-10-11 14:22:49.998 INFO EDTERRAINGRAPHICS41: 0.000759s Loaded reference file "shrub" buffers: 0
2020-10-11 14:22:49.998 INFO EDCORE: 0.001 s landscape4::lReferenceFile
2020-10-11 14:22:49.998 INFO EDTERRAINGRAPHICS41: InstanceManager2 is completing initialization...
2020-10-11 14:22:50.002 INFO EDTERRAINGRAPHICS41: InstanceManager2::updateObjectDeclBuffer()
2020-10-11 14:22:50.002 INFO EDTERRAINGRAPHICS41: InstanceManager2::updateObjectLodDeclBuffer()
2020-10-11 14:22:50.004 INFO EDTERRAINGRAPHICS41: InstanceManager2 complete initialization:
2020-10-11 14:22:50.004 INFO EDTERRAINGRAPHICS41: objects: 666
2020-10-11 14:22:50.004 INFO EDTERRAINGRAPHICS41: subObjects: 493
2020-10-11 14:22:50.004 INFO EDTERRAINGRAPHICS41: objectLods: 2911
2020-10-11 14:22:50.004 INFO EDTERRAINGRAPHICS41: objectLodRenderItems: 330
2020-10-11 14:22:50.004 INFO EDTERRAINGRAPHICS41: MAX_LODS_IN_OBJECT: 10
2020-10-11 14:22:50.004 INFO EDTERRAINGRAPHICS41: MAX_SUBOBJECTS_IN_OBJECT: 74
2020-10-11 14:22:50.004 INFO EDTERRAINGRAPHICS41: GEOMETRY BUFFERS: 132
2020-10-11 14:22:50.016 INFO EDCORE: 0.000 s landscape5::OceanFile
2020-10-11 14:22:51.136 INFO EDCORE: 1.115 s landscape5::GrassFile
2020-10-11 14:22:51.141 INFO EDCORE: 0.000 s landscape5::lModels5File
2020-10-11 14:22:51.401 WARNING LOG: 16 duplicate message(s) skipped.
2020-10-11 14:22:51.401 INFO EDTERRAINGRAPHICS41: remapper.deformers is not empty
2020-10-11 14:22:51.751 INFO EDTERRAINGRAPHICS41: materialParams[29084]*1536
2020-10-11 14:22:51.754 INFO EDCORE: 0.507 s landscape5::Surface5File
2020-10-11 14:22:51.784 INFO EDTERRAINGRAPHICS41: materialParams[810]*1536
2020-10-11 14:22:51.784 INFO EDCORE: 0.026 s landscape5::SurfaceTile
2020-10-11 14:22:51.790 INFO EDCORE: 0.001 s landscape5::Scene5File
2020-10-11 14:22:51.829 INFO EDCORE: 0.036 s landscape4::lRoutesFile
2020-10-11 14:22:51.867 INFO EDCORE: 0.034 s landscape4::lSurfaceDetails2File
2020-10-11 14:22:51.884 INFO EDTERRAINGRAPHICS41: materialParams[1]*1536
2020-10-11 14:22:51.884 INFO EDCORE: 0.013 s landscape4::lSuperficialFile
2020-10-11 14:22:51.908 INFO EDCORE: 0.020 s landscape4::lGeoNamesFile
2020-10-11 14:22:51.913 INFO EDCORE: 0.000 s landscape5::sup5File
2020-10-11 14:22:51.921 WARNING LOG: 1 duplicate message(s) skipped.
2020-10-11 14:22:51.921 INFO EDCORE: 0.000 s landscape5::navGraph5File
2020-10-11 14:22:51.921 INFO EDTERRAINGRAPHICS41: ITerrainGraphicsImpl4::openTerrain() END 7.889645 s
2020-10-11 14:22:51.989 ERROR_ONCE DX11BACKEND: render target 'mainDepthBuffer_copy' not found
2020-10-11 14:22:51.989 ERROR_ONCE DX11BACKEND: render target 'DummyShadowMap' not found
2020-10-11 14:23:26.265 ERROR EDCORE: can't open MO-file D:\SteamLibrary\steamapps\common\DCSWorld\l10n\cn\LC_MESSAGES\dcs.mo
2020-10-11 14:23:26.266 ERROR EDCORE: can't open MO-file D:\SteamLibrary\steamapps\common\DCSWorld\l10n\cs\LC_MESSAGES\dcs.mo
2020-10-11 14:23:26.266 ERROR EDCORE: can't open MO-file D:\SteamLibrary\steamapps\common\DCSWorld\l10n\de\LC_MESSAGES\dcs.mo
2020-10-11 14:23:26.267 ERROR EDCORE: can't open MO-file D:\SteamLibrary\steamapps\common\DCSWorld\l10n\es\LC_MESSAGES\dcs.mo
2020-10-11 14:23:26.268 ERROR EDCORE: can't open MO-file D:\SteamLibrary\steamapps\common\DCSWorld\l10n\fr\LC_MESSAGES\dcs.mo
2020-10-11 14:23:26.309 ERROR EDCORE: can't open MO-file D:\SteamLibrary\steamapps\common\DCSWorld\l10n\jp\LC_MESSAGES\dcs.mo
2020-10-11 14:23:26.345 ERROR EDCORE: can't open MO-file D:\SteamLibrary\steamapps\common\DCSWorld\l10n\pl\LC_MESSAGES\dcs.mo
2020-10-11 14:23:26.346 ERROR EDCORE: can't open MO-file D:\SteamLibrary\steamapps\common\DCSWorld\l10n\ru\LC_MESSAGES\dcs.mo
2020-10-11 14:23:41.607 INFO Dispatcher: loadMission C:\Users\ApBoy\AppData\Local\Temp\DCS\tempMission.miz
2020-10-11 14:23:41.607 INFO WORLDGENERAL: loading mission from: "C:\Users\ApBoy\AppData\Local\Temp\DCS\tempMission.miz"
2020-10-11 14:23:41.695 INFO EDCORE: (dDispatcher)enterToState_:4
2020-10-11 14:23:41.695 INFO Dispatcher: Terrain theatre Caucasus
2020-10-11 14:23:41.734 INFO Dispatcher: Start
2020-10-11 14:23:41.912 INFO Dispatcher: Terrain theatre Caucasus
2020-10-11 14:23:41.914 INFO TERRAIN: lSystem::load(./Mods/terrains/Caucasus\terrain.cfg.lua)
2020-10-11 14:23:41.914 INFO TERRAIN: lSystem::CleanScenes()
2020-10-11 14:23:41.914 INFO TERRAIN: lSystem::InitScenes()
2020-10-11 14:23:41.914 INFO EDTERRAIN4: lTerraDispatchImpl::setDate( day=18, month=11)
2020-10-11 14:23:41.914 INFO EDTERRAIN4: switch to season = autumn
2020-10-11 14:23:41.914 INFO EDTERRAIN4: switchTextures (season=2, minTexture=false)
2020-10-11 14:23:42.526 INFO DX11BACKEND: Reloading textures ...
2020-10-11 14:23:47.486 WARNING GRAPHICSCORE: already registered Renderer callback
2020-10-11 14:23:47.492 INFO VISUALIZER: StartSimulation
2020-10-11 14:23:47.993 INFO VISUALIZER: cascade shadows init (preset:'default' quality:4 layers:4 size:4096)
2020-10-11 14:23:48.869 ERROR_ONCE DX11BACKEND: texture 'lightning.dds' not found. Asked from 'EFFECTS2'
2020-10-11 14:23:50.385 ERROR_ONCE DX11BACKEND: texture 'LiquidAnimationAlphas' not found. Asked from 'EFFECTS2'
2020-10-11 14:23:50.385 ERROR_ONCE DX11BACKEND: texture 'LiquidAnimationNormals' not found. Asked from 'EFFECTS2'
2020-10-11 14:23:51.331 INFO Dispatcher: initial random seed = 6230979
2020-10-11 14:23:51.331 INFO Dispatcher: apply random seed = 6230979
2020-10-11 14:23:53.818 INFO WORLDGENERAL: loaded from mission Scripts/World/GPS_GNSS.lua
2020-10-11 14:23:55.957 INFO WORLDGENERAL: loaded from mission Config/View/SnapViewsDefault.lua
2020-10-11 14:23:55.965 INFO WORLDGENERAL: loaded from mission Config/View/View.lua
2020-10-11 14:23:55.975 INFO WORLDGENERAL: loaded from mission Config/View/Server.lua
2020-10-11 14:23:56.577 INFO Config: netview started
2020-10-11 14:23:57.705 INFO VISUALIZER: CameraIndependedPreload()
2020-10-11 14:23:57.705 INFO VISUALIZER: CameraIndependedPreload() finished
2020-10-11 14:23:57.705 INFO DCS: use_xRay: no
2020-10-11 14:24:17.625 INFO DCS: MissionSpawn:initScript
2020-10-11 14:24:17.625 INFO DCS: MissionSpawn:spawnCoalition red
2020-10-11 14:24:17.625 INFO DCS: MissionSpawn:spawnPlanes 18
2020-10-11 14:24:19.322 INFO DCS: MissionSpawn:spawnVehicles 24
2020-10-11 14:24:20.877 INFO GRAPHICSVISTA: Creating Resource "Unicode" of type 1
2020-10-11 14:24:21.800 INFO DCS: MissionSpawn:spawnVehicles 27
2020-10-11 14:24:21.803 INFO DCS: MissionSpawn:spawnVehicles 37
2020-10-11 14:24:22.260 INFO DCS: MissionSpawn:spawnPlanes 38
2020-10-11 14:24:22.318 INFO DCS: MissionSpawn:spawnHelicopters 0
2020-10-11 14:24:23.478 INFO DCS: MissionSpawn:spawnVehicles 0
2020-10-11 14:24:23.864 INFO DCS: MissionSpawn:spawnVehicles 43
2020-10-11 14:24:24.491 INFO DCS: MissionSpawn:spawnVehicles 19
2020-10-11 14:24:24.975 INFO DCS: MissionSpawn:spawnVehicles 47
2020-10-11 14:24:25.054 INFO DCS: MissionSpawn:spawnCoalition blue
2020-10-11 14:24:25.054 INFO DCS: MissionSpawn:spawnVehicles 16
2020-10-11 14:24:25.768 INFO DCS: MissionSpawn:spawnVehicles 15
2020-10-11 14:24:26.161 INFO DCS: MissionSpawn:spawnPlanes 9
2020-10-11 14:24:27.207 INFO DCS: MissionSpawn:spawnPlanes 2
2020-10-11 14:24:27.259 INFO DCS: MissionSpawn:spawnHelicopters 2
2020-10-11 14:24:29.025 INFO DCS: MissionSpawn:spawnVehicles 2
2020-10-11 14:24:31.391 INFO DCS: MissionSpawn:spawnLocalPlayer 62,F-16C_50
2020-10-11 14:24:31.973 INFO SECURITYCONTROL: Loaded ./Mods/aircraft/F-16C/bin/F16C.dll
2020-10-11 14:24:38.276 WARNING EDCORE: Source ./Mods/aircraft/F-16C/Cockpit/Scripts/../Shape is already mounted to the same mount /models/.
2020-10-11 14:24:38.757 INFO VISUALIZER: cockpit ILV loaded
2020-10-11 14:24:39.133 ERROR_ONCE DX11BACKEND: Can't load 'Fonts/font_general_RU.dds' in texture array ''.
2020-10-11 14:24:40.122 ERROR COCKPITBASE: devices_keeper::link_all: unable to find link target 'SMS' for device 'MAV_INTERFACE'
2020-10-11 14:24:41.652 ERROR COCKPITBASE: controller "SMS_AG_Harm_TER_TBL" missed in class cockpit::F16::ccMFD_F16
2020-10-11 14:24:44.257 WARNING LOG: 1 duplicate message(s) skipped.
2020-10-11 14:24:44.257 INFO COCKPITBASE: lua state still active DED, 26 (status undefined)
2020-10-11 14:24:44.257 INFO COCKPITBASE: lua state still active EHSI, 28 (status undefined)
2020-10-11 14:24:44.258 INFO COCKPITBASE: lua state still active UHF_RADIO, 36
2020-10-11 14:24:44.258 INFO COCKPITBASE: lua state still active VHF_RADIO, 38
2020-10-11 14:24:44.258 INFO COCKPITBASE: lua state still active INTERCOM, 39 (status undefined)
2020-10-11 14:24:44.259 INFO COCKPITBASE: lua state still active MACROS, 52 (status undefined)
2020-10-11 14:24:44.259 INFO COCKPITBASE: lua state still active TGP_INTERFACE, 58 (status undefined)
2020-10-11 14:24:44.666 ERROR SOUND: source_add(host:COCKPIT_MAIN, proto:Aircrafts/F-16/Cockpits/GearLockDown_In, alt_proto:Aircrafts//Cockpits/GearLockDown_In): can't find proto
2020-10-11 14:24:44.697 WARNING LOG: 1 duplicate message(s) skipped.
2020-10-11 14:24:44.697 INFO WORLDGENERAL: loaded from mission Scripts/World/birds.lua
2020-10-11 14:24:44.697 INFO DCS: dbox not found , skip
2020-10-11 14:24:46.709 INFO EDTERRAINGRAPHICS41: surface5 gc() LOD 0 0 squares
2020-10-11 14:24:46.709 INFO EDTERRAINGRAPHICS41: surface5 gc() LOD 1 0 squares
2020-10-11 14:24:46.709 INFO EDTERRAINGRAPHICS41: surface5 gc() 0.035400 ms
2020-10-11 14:24:46.813 INFO VISUALIZER: Preload() camera=15734.308756, 2023.594708, 233822.516476 radius=60000.000000
2020-10-11 14:24:46.813 INFO EDTERRAINGRAPHICS41: ITerrainGraphicsImpl4::forceLoading(): pos=(15734.3, 2023.59, 233823), radius=60000
2020-10-11 14:24:49.285 INFO EDCORE: try to write dump information
2020-10-11 14:24:49.287 INFO EDCORE: # -------------- 20201011-142449 --------------
2020-10-11 14:24:49.287 INFO EDCORE: DCS/2.5.6.55960 (x86_64; Windows NT 10.0.18363)
2020-10-11 14:24:49.289 INFO EDCORE: C:\WINDOWS\SYSTEM32\VCRUNTIME140.dll
2020-10-11 14:24:49.289 INFO EDCORE: # C0000005 ACCESS_VIOLATION at 10841637 00:00000000
2020-10-11 14:24:49.292 INFO EDCORE: SymInit: Symbol-SearchPath: '.', symOptions: 534, UserName: 'ApBoy'
2020-10-11 14:24:49.294 INFO EDCORE: OS-Version: 10.0.18363 () 0x300-0x1
2020-10-11 14:24:49.688 INFO EDCORE: 0x0000000000001637 (VCRUNTIME140): memcpy + 0x347
2020-10-11 14:24:49.688 INFO EDCORE: 0x000000000000988B (renderer): RenderAPI::openShader + 0x48B
2020-10-11 14:24:49.690 INFO EDCORE: 0x0000000000009280 (renderer): RenderAPI::openFromBlobShader + 0x180
2020-10-11 14:24:49.691 INFO EDCORE: 0x0000000000067D31 (metaShader): BaseBinder::render + 0x11431
2020-10-11 14:24:49.691 INFO EDCORE: 0x00000000000676AB (metaShader): BaseBinder::render + 0x10DAB
2020-10-11 14:24:49.691 INFO EDCORE: 0x000000000006BCCE (metaShader): BaseBinder::render + 0x153CE
2020-10-11 14:24:49.691 INFO EDCORE: 0x000000000000C624 (metaShader): render::MetaShaderManager::loadMetaShader + 0x174
2020-10-11 14:24:49.691 INFO EDCORE: 0x0000000000054101 (metaShader): RenderAPI::loadMetaShader + 0x41
2020-10-11 14:24:49.692 INFO EDCORE: 0x0000000000006604 (metaShader): render::MetaShader::open + 0x34
2020-10-11 14:24:49.692 INFO EDCORE: 0x00000000000990C8 (edterrainGraphics41): createInstancerRenderable + 0x6598
2020-10-11 14:24:49.693 INFO EDCORE: 0x000000000009B275 (edterrainGraphics41): createInstancerRenderable + 0x8745
2020-10-11 14:24:49.693 INFO EDCORE: 0x00000000000D9827 (edterrainGraphics41): CreateITerrainGraphics + 0x2227
2020-10-11 14:24:49.693 INFO EDCORE: 0x00000000000DAC19 (edterrainGraphics41): CreateITerrainGraphics + 0x3619
2020-10-11 14:24:49.693 INFO EDCORE: 0x00000000000F3B2D (edterrainGraphics41): edtg41::lMaterialParamsArrayGraphics::clear + 0xD5D
2020-10-11 14:24:49.693 INFO EDCORE: 0x0000000000063AE8 (edterrainGraphics41): edtg41::TerrainRenderable::dumpRenderItem + 0x531D8
2020-10-11 14:24:49.693 INFO EDCORE: 0x00000000000642EF (edterrainGraphics41): edtg41::TerrainRenderable::dumpRenderItem + 0x539DF
2020-10-11 14:24:49.694 INFO EDCORE: 0x0000000000063DF9 (edterrainGraphics41): edtg41::TerrainRenderable::dumpRenderItem + 0x534E9
2020-10-11 14:24:49.694 INFO EDCORE: 0x000000000006256E (edterrainGraphics41): edtg41::TerrainRenderable::dumpRenderItem + 0x51C5E
2020-10-11 14:24:49.694 INFO EDCORE: 0x0000000000060913 (edterrainGraphics41): edtg41::TerrainRenderable::dumpRenderItem + 0x50003
2020-10-11 14:24:49.694 INFO EDCORE: 0x0000000000060941 (edterrainGraphics41): edtg41::TerrainRenderable::dumpRenderItem + 0x50031
2020-10-11 14:24:49.695 WARNING LOG: 4 duplicate message(s) skipped.
2020-10-11 14:24:49.695 INFO EDCORE: 0x0000000000066220 (edterrainGraphics41): edtg41::TerrainRenderable::dumpRenderItem + 0x55910
2020-10-11 14:24:49.695 INFO EDCORE: 0x00000000000658FC (edterrainGraphics41): edtg41::TerrainRenderable::dumpRenderItem + 0x54FEC
2020-10-11 14:24:49.696 INFO EDCORE: 0x00000000000D0C15 (edterrainGraphics41): createInstancerRenderable + 0x3E0E5
2020-10-11 14:24:49.696 INFO EDCORE: 0x000000000011F30E (Visualizer): TerrainRenderer::forceLoading + 0x7E
2020-10-11 14:24:49.715 INFO EDCORE: 0x000000000014427E (Visualizer): smSceneManager::CreateSceneManager + 0x372E
2020-10-11 14:24:49.715 INFO EDCORE: 0x00000000007267A7 (DCS): CoreUtils::TempFilesManager::operator= + 0x3B8B77
2020-10-11 14:24:49.719 INFO EDCORE: 0x00000000007114D0 (DCS): CoreUtils::TempFilesManager::operator= + 0x3A38A0
2020-10-11 14:24:49.719 INFO EDCORE: 0x000000000011C27A (edCore): Common::FSM::sendOutputSymbol_ + 0x4A
2020-10-11 14:24:49.719 INFO EDCORE: 0x000000000011B912 (edCore): Common::FSM::enterToState_ + 0xC2
2020-10-11 14:24:49.719 INFO EDCORE: 0x000000000011C0F9 (edCore): Common::FSM::onSymbol_ + 0x1A9
2020-10-11 14:24:49.720 INFO EDCORE: 0x00000000007243A5 (DCS): CoreUtils::TempFilesManager::operator= + 0x3B6775
2020-10-11 14:24:49.720 INFO EDCORE: 0x00000000006F6604 (DCS): CoreUtils::TempFilesManager::operator= + 0x3889D4
2020-10-11 14:24:49.720 INFO EDCORE: 0x00000000006F69C9 (DCS): CoreUtils::TempFilesManager::operator= + 0x388D99
2020-10-11 14:24:49.720 INFO EDCORE: 0x00000000016E8CEB (DCS): AmdPowerXpressRequestHighPerformance + 0xB1ACE7
2020-10-11 14:24:49.722 INFO EDCORE: 0x00000000008E261E (DCS): CoreUtils::TempFilesManager::operator= + 0x5749EE
2020-10-11 14:24:49.724 INFO EDCORE: 0x0000000000017BD4 (KERNEL32): BaseThreadInitThunk + 0x14
2020-10-11 14:24:49.724 INFO EDCORE: 0x000000000006CE51 (ntdll): RtlUserThreadStart + 0x21
2020-10-11 14:24:52.510 INFO EDCORE: Minidump created.
2020-10-11 14:24:52.520 INFO DCS: enumerating loaded modules
=== Log closed.
submitted by buddy1225 to dcs [link] [comments]

Binary Options Trading is Dead. What happened? 😞 - YouTube Candlestick Psychology: BOTT candlestick secrets, binary options strategy, iq option strategy Best Binary Option Bot 95% - YouTube Binary Options Bollinger Bands Strategy For Newbies 3.1.1-3.1.2 Function Definition, Domain, and Range Was sind Range Bar Charts? Einfach erklärt (Trading Definition) Rang d'une matrice : définition

Definition. Binary options are, in simple terms, bets on the future market behavior. A user chooses a contract from the list of the available on the platform and invests a certain sum — then ... One Touch:Some online binary options trading platforms also offer“One Touch”above or below binary options that generate a payoff as soon as their trigger level trades Compensatory Stock Options Definition in the underlying market… even before the expiration .. Boundary:Another popular type of binary option is the“Range or Boundary”binary that is characterized by a range that is ... Binary Options vs. Vanilla Options . A vanilla American option gives the holder the right to buy or sell an underlying asset at a specified price on or before the expiration date of the option. A ... A range option is a type of binary option which brokers offer for use in trading. If a trader invests in a range option, they should indicate a set range in which they believe the asset price will fluctuate within up to the moment when the option expires. If the trader’s forecast is correct, they can receive up to 100% of initially invested funds as profit. Share: Other terms in this ... Definition: Binary trading is a type of investing where investors have to predict the result of a yes/no situation by the end of a determined period. Binary trading indicates that investors can choose from only two investment possibilities, in which the payoff is either a fixed amount of money as compensation or nothing at all. The FTSE reaches 7095 and is hovering around that level in a 10-point range (7095-7105). The binary option price will show huge variations, as just a one-point difference in the FTSE can make or ... The text book definition reads like this; ... other trade types in the binary option market operate in totally different ways. There are different trade contracts for different platforms. Some binary options contracts do not even require the trader to get the direction of the asset correct. For instance, trading the OUT contract will need the asset to hit one price boundary or the other for ... Binary opposition is a key concept in structuralism, a theory of sociology, anthropology and linguistics that states that all elements of human culture can only be understood in relation to one ... A binary option is a financial product where the buyer receives a payout or loses their investment, based on if the option expires in the money. more Currency Binary Option Definition 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. Available markets. Forex. Major pairs, minor pairs, and Smart FX indices ...

[index] [26958] [11887] [15373] [5738] [13509] [17261] [20031] [1004] [7790] [23011]

Binary Options Trading is Dead. What happened? 😞 - YouTube

Check Mark's Premium Course: https://price-action-trading.teachable.com/ Check our website: http://www.financial-spread-betting.com/ Please like, subsc... RELATIONS-DOMAIN, RANGE AND CO-DOMAIN (RELATIONS AND FUNCTIONS CBSE/ ISC MATHS) - Duration: 12:40. Neha Agrawal Mathematically Inclined 446,447 views In diesem Video erfährst Du, was Range Bar Charts sind. Die Kerzen in Range Charts orientieren sich nicht, wie üblicherweise, an einer zeitlichen Periode. Di... Best Binary Options Strategy 2020 - 2 Minute Strategy LIVE TRAINING! - Duration: 43:42. BLW Online Trading Recommended for you. 43:42. Being At Peace The Present Moment - Duration: 22:04 ... Download here link : https://bit.ly/2PTOZle Download here link : https://bit.ly/2QegULz ___ LIKE SHARE SUBSCRIBE ___ Binary option Binary Option Bina... https://binarysignalspro.com Binary Options Bollinger Bands Strategy For Newbies The Bollinger bands were created by John Bollinger in the early 1990s and have now become one of the most popular ... "Binary options are not promoted or sold to retail EEA traders. If you are not a professional client, please leave this page." Reliable Binary Options Broker with a ★Profit of up to 95%★!

https://binary-optiontrade.rocanwieraesloug.ml