Binary options indicator software engineering

AJ ALMENDINGER

glimpse into the future of Roblox

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

Vibin’

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

What does Roblox mean to you?

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

Knowledge is power

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

2020 Game Jam

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

‘Til next year

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

Improving Simulation and Performance with an Advanced Physics Solver

August

05, 2020

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

Implementing the Laws of Physics

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

Taking Small Steps

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

Solving

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

Mitigation Strategies

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

Getting More Details

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

In Conclusion

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

Using Clang to Minimize Global Variable Use

July

23, 2020

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

Introducing -finstrument-functions

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

Implementing the Callback Hooks

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

Symbolizing the Traces

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

Putting it All Together

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

Future Work

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

Further Reading

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

more related issues


more related issues
in the conversion of old and new systems, the most difficult one is uuuuuuuuuuuuuuu.

  1. Among the following options, the one that does not belong to the combination of two parameters, one change and three combinations:
    the form control that can accept numerical data input is.

Internal gateway protocol is divided into: distance vector routing protocol, and hybrid routing protocol.

Firewall can prevent the transmission of infected software or files
among the following coupling types, the lowest coupling degree is ().

The () property of the Navigator object returns the platform and version information of the browser.

What are the main benefits of dividing IP subnets? ()
if users want to log in to the remote server and become a simulation terminal of the remote server temporarily, they can use the
[26-255] software life cycle provided by the remote host, which means that most operating systems, such as DOS, windows, UNIX, etc., adopt tree structureFolder structure.

An array is a group of memory locations related by the fact that they all have __________ name and __________ Type.
in Windows XP, none of the characters in the following () symbol set can form a file name. [2008 vocational college]
among the following options, the ones that do not belong to the characteristics of computer viruses are:
in the excel 2010 cell Format dialog box, the nonexistent tab is
the boys___ The teacher talked to are from class one.
for an ordered table with length of 18, if the binary search is used, the length of the search for the 15th element is ().

SRAM memory is______ Memory.

() is a website with certain complementary advantages. It places the logo or website name of the other party's website on its own website, and sets the hyperlink of each other's website, so that users can find their own website from the cooperative website and achieve the purpose of mutual promotion.

  1. Accounting qualification is managed by information technology ()
    which of the following devices can forward the communication between different VLANs?

The default port number of HTTP hypertext transfer protocol is:
forIn the development method of object, () will be the dominant standard modeling language in the field of object-oriented technology.

When you visit a website, what is the first page you see?

File D:\\ city.txt The content is as follows: Beijing Tianjin Shanghai Chongqing writes the following event process: privatesub form_ click() Dim InD Open \d:\\ city.txt \For input as ? 1 do while not EOF (1) line input ? 1, Ind loop close 1 print ind End Sub run the program, click the form, and the output result is.

When users use dial-up telephone lines to access the Internet, the most commonly used protocol is.

In the I2C system, the main device is usually taken by the MCU with I2C bus interface, and the slave device must have I2C bus interface.

The basic types of market research include ()
the function of the following program is: output all integers within 100 that can be divisible by 3 and have single digits of 6. What should be filled in the underline is (). 56b33287e4b0e85354c031b5. PNG
the infringement of the scope of intellectual property rights is:
multimedia system is a computer that can process sound and image interactivelySystem.

In order to allow files of different users to have the same file name, () is usually used in the file system.

The following () effects are not included in PowerPoint 2010 animation effects.

Macro virus can infect________ Documents.

The compiled Java program can be executed directly.

In PowerPoint, when adding text to a slide with AutoShape, how to indicate that text can be edited on the image when an AutoShape is selected ()
organizational units can put users, groups, computers and other units into the container of the active directory.

Ethernet in LAN adopts the combination technology of packet switching and circuit switching. ()
interaction designers need to design information architecture and interface details.

In the process of domain name resolution, the local domain name server queries the root domain name server by using the search method.

What stage of e-commerce system development life cycle does data collection and processing preparation belong to?

Use the "ellipse" tool on the Drawing toolbar of word, press the () key and drag the mouse to draw a circle.

The proportion of a country's reserve position in the IMF, including the convertible currency part of the share subscribed by Member States to the IMF, and the portion that can be paid in domestic currency, respectively.

  1. When installing Windows 7 operating system, the system disk partition must be in format before installation.

High rise buildings, public places of entertainment and other decoration, in order to prevent fire should be used____。 ()
with regard to the concept of area in OSPF protocol, what is wrong in the following statements is ()
suppose that the channel bandwidth is 4000Hz and the modulation is 256 different symbols. According to the Nyquist theorem, the data rate of the ideal channel is ()
which of the following is the original IEEE WLAN standard ()?

What is correct about data structure is:
the key deficiency of waterfall model is that ().

The software development mode with almost no product plan, schedule and formal development process is
in the following description of computers, the correct one is ﹥
Because human eyes are sensitive to chroma signal, the sampling frequency of luminance signal can be lower than that of chroma signal when video signal is digitized, so as to reduce the amount of digital video data.

[47-464] what is correct in the following statements is
ISO / IEC WG17 is responsible for the specific drafting, discussion, amendment, formulation, voting and publication of the final ISO international standards for iso14443, iso15693 and iso15693 contactless smart lock manufacturers smart card standards.

Examples of off - balance - sheet activities include _________

The correct description of microcomputer is ().

Business accident refers to the accident caused by the failure of operation mechanism of tourism service department. It can be divided into ().

IGMP Network AssociationWhat is the function of the discussion?

Using MIPS as the unit to measure the performance of the computer, it refers to the computer______

In the excel workbook, after executing the following code, the value of cell A3 of sheet 1 is________ Sub test1() dim I as integer for I = 1 to 5 Sheet1. Range (\ \ a \ \ & I) = I next inend sub
What are the characteristics of electronic payment compared with traditional payment?

When the analog signal is encoded by linear PCM, the sampling frequency is 8kHz, and the code energy control unit is 8 bits, then the information transmission rate is ()
  1. The incorrect discussion about the force condition of diesel engine connecting rod is.

Software testing can be endless.

The game software running on the windows platform of PC is sent to the mobile phone of Android system and can run normally.

The following is not true about the video.

The way to retain the data in the scope of request is ()
distribution provides the basis and support for the development of e-commerce.

  1. Which of the following belong to the content of quality control in the analysis
    1. During the operation of a program, the CNC system appears "soft limit switch overrun", which belongs to
    2. The wrong description of the gas pipe is ()
    3. The following statement is wrong: ()
    the TCP / IP protocol structure includes () layer.

Add the records in table a to table B, and keep the original records in table B. the query that should be used is.

For additives with product anti-counterfeiting certification mark, after confirming that the product is in conformity with the factory quality certificate and the real object, one copy () shall be taken and pasted on the ex factory quality certificate of the product and filed together.

() accounts are disabled by default.

A concept of the device to monitor a person's bioparameters is that it should.
  1. For the cephalic vein, the wrong description is
    an image with a resolution of 16 pixels × 16 pixels and a color depth of 8 bits, with the data capacity of at least______ Bytes. (0.3 points)
  2. What are the requirements for the power cord of hand-held electric tools?

In the basic mode of electronic payment, credit card belongs to () payment system.

The triode has three working states: amplification, saturation and cut-off. In the digital circuit, when the transistor is used as a switch, it works in two states of saturation or cut-off.

Read the attached article and answer the following: compared with today's music, those of the past
() refers to the subjective conditions necessary for the successful completion of an activity.

In the OSI reference model, what is above the network layer is_______ 。

The decision tree corresponding to binary search is not only a binary search tree, but also an ideal balanced binary tree. In order to guide the interconnection, interoperability and interoperability of computer networks, ISO has issued the OSI reference model, and its basic structure is divided into
26_______ It belongs to the information system operation document.

In C ? language, the following operators have the highest priority___ ?
the full Chinese name of BPR is ()
please read the following procedures: dmain() {int a = 5, B = 0, C = 0; if (a = B + C) printf (\ * * \ n \); else printf (\ $$n \);} the above programs
() software is not a common tool for web page making.

When a sends a message to B, in order to achieve security, a needs to encrypt the message with ().

The Linux exchange partition is used to save the visited web page files.

  1. Materials consumed by the basic workshop may be included in the () cost item.

The coverage of LAN is larger than that of Wan.

Regarding the IEEE754 standard of real number storage, the wrong description is______

Task 4: convert decimal number to binary, octal and hexadecimal number [Topic 1] (1134.84375) 10 = () 2=()8 = () 16
the purpose of image data compression is to ()
in IE browser, to view the frequently visited sites that have been saved, you need to click.

  1. When several companies jointly write a document, the document number of each company should be quoted in the header at the same time. ()
    assuming that the highest frequency of analog signal is 10MHz, and the sampling frequency must be greater than (), then the sample signal can not be distorted.

The incredible performing artist from Toronto.
in access, the relationship between a table and a database is.

In word 2010, the following statement about the initial drop is correct.

Interrupt service sub function does not need to be called in the program, but after applying for interrupt, the CPU automatically finds the corresponding program according to the interrupt number.

Normal view mode is the default view mode for word documents.

A common variable is defined as follows: Union data {int a; int b; float C;} data; how much memory space does the variable data occupy in VC6.0?

______ It is not a relational database management system.

In the basic model of decision support system, what is in the core position is:
among the following key factors of software outsourcing projects, () is the factor that affects the final product quality and production efficiency of software outsourcing.

Word Chinese textThe shortcut for copying is ().
submitted by Amanda2020-jumi to u/Amanda2020-jumi [link] [comments]

Subreddit Demographic Survey 2019 : The Results

Subreddit Demographic Survey 2019

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, a few thousand of you participated in a massive Subreddit Demographic Survey.
Unfortunately during the process of collating results we lost contact with SailorMercure, who in previous years has completed all of the data analysis from the Google form responses. We were therefore required to collate and analyse the responses from the raw data via Excel. I attach the raw data below for those who would like to review it. For 2020 we will be rebuilding the survey from scratch.
Raw Data
Multiple areas of your life were probed: general a/s/l, education, finances, religious beliefs, marital status, etc. They are separated in 10 sections:
  1. General Demographics
  2. Education Level
  3. Career and Finances
  4. Child Status
  5. Current Location
  6. Religion and Spirituality
  7. Sexual and Romantic Life
  8. Childhood and Family Life
  9. Sterilization
  10. Childfreedom

2. Methodology

Our sample is people from this subreddit who saw that we had a survey going on and were willing to complete the survey. A weekly stickied announcement was used to alert members of the community that a survey was being run.

3. Results

5,976 participants over the course of two months at a subscriber count of 588,488 (total participant ratio of slightly >1%)

3.1 General Demographics

5,976 participants in total

Age group

Age group Participants # Percentage
18 or younger 491 8.22%
19 to 24 1820 30.46%
25 to 29 1660 27.78%
30 to 34 1107 18.52%
35 to 39 509 8.52%
40 to 44 191 3.20%
45 to 49 91 1.52%
50 to 54 54 0.90%
55 to 59 29 0.49%
60 to 64 15 0.25%
65 to 69 4 0.07%
70 to 74 2 0.03%
75 or older 3 0.05%
84.97% of the sub is under the age of 35.

Gender and Gender Identity

4,583 participants out of 5,976 (71.54%) were assigned the gender of female at birth, 1,393 (23.31%) were assigned the gender of male at birth. Today, 4,275 (70.4%) participants identify themselves as female, 1,420 (23.76%) as male, 239 (4.00%) as non binary and 42 (0.7%) as other (from lack of other options).

Sexual Orientation

Sexual Orientation Participants # Percentage
Asexual 373 6.24%
Bisexual 1,421 23.78%
Heterosexual 3,280 54.89%
Homosexual 271 4.53%
It's fluid 196 3.28%
Other 95 1.59%
Pansexual 340 5.69%

Birth Location

Because the list contains over 120 countries, we'll show the top 20 countries:
Country of birth Participants # Percentage
United States 3,547 59.35%
Canada 439 7.35%
United Kingdom 414 6.93%
Australia 198 3.31%
Germany 119 1.99%
Netherlands 72 1.20%
France 68 1.14%
Poland 66 1.10%
India 59 0.99%
Mexico 49 0.82%
New Zealand 47 0.79%
Brazil 44 0.74%
Sweden 43 0.72%
Philippines 39 0.65%
Finland 37 0.62%
Russia 34 0.57%
Ireland 33 0.55%
Denmark 31 0.52%
Norway 30 0.50%
Belgium 28 0.47%
90.31% of the participants were born in these countries.

Ethnicity

That one was difficult for many reasons and didn't encompass all possibilities simply from lack of knowledge.
Ethnicity Participants # Percentage
Caucasian / White 4,583 76.69%
Hispanic / Latinx 332 5.56%
Multiracial 188 3.15%
East Asian 168 2.81%
Biracial 161 2.69%
African Descent / Black 155 2.59%
Indian / South Asian 120 2.01%
Other 83 1.39%
Jewish (the ethnicity, not the religion) 65 1.09%
Arab / Near Eastern / Middle Eastern 40 0.67%
American Indian or Alaskan Native 37 0.62%
Pacific Islander 24 0.40%
Aboriginal / Australian 20 0.33%

3.2 Education Level

5,976 participants in total

Current Level of Education

Highest Current Level of Education Participants # Percentage
Bachelor's degree 2061 34.49%
Some college / university 1309 21.90%
Master's degree 754 12.62%
Graduated high school / GED 721 12.06%
Associate's degree 350 5.86%
Trade / Technical / Vocational training 239 4.00%
Did not complete high school 238 3.98%
Professional degree 136 2.28%
Doctorate degree 130 2.18%
Post Doctorate 30 0.50%
Did not complete elementary school 8 0.13%

Future Education Plans

Educational Aims Participants # Percentage
I'm good where I am right now 1,731 28.97%
Master's degree 1,384 23.16%
Bachelor's degree 1,353 22.64%
Doctorate degree 639 10.69%
Vocational / Trade / Technical training 235 3.93%
Professional degree 214 3.58%
Post Doctorate 165 2.76%
Associate's degree 164 2.74%
Graduate high school / GED 91 1.52%
Of our 5,976 participants, a total of 1,576 (26.37%) returned to higher education after a break of 3+ years, the other 4,400 (73.76%) did not.
Degree (Major) Participants # Percentage
I don't have a degree or a major 1,010 16.90%
Other 580 9.71%
Health Sciences 498 8.33%
Engineering 455 7.61%
Information and Communication Technologies 428 7.16%
Arts and Music 403 6.74%
Social Sciences 361 6.04%
Business 313 5.24%
Life Sciences 311 5.20%
Literature and Languages 255 4.27%
Humanities 230 3.85%
Fundamental and Applied Sciences 174 2.91%
Teaching and Education Sciences 174 2.91%
Communication 142 2.38%
Law 132 2.21%
Economics and Politics 101 1.69%
Finance 94 1.57%
Social Sciences and Social Action 84 1.41%
Environment and Sustainable Development 70 1.17%
Marketing 53 0.89%
Administration and Management Sciences 52 0.87%
Environmental Planning and Design 24 0.40%
Fashion 18 0.30%
Theology and Religious Sciences 14 0.23%
A number of you commented in the free-form field at the end of the survey, that your degree was not present and that it wasn't related to any of the listed ones. We will try to mitigate this in the next survey!

3.3 Career and Finances

Out of the 5,976 participants, 2,199 (36.80%) work in the field they majored in, 953 (15.95%) graduated but do not work in their original field. 1,645 (27.53%) are still studying. The remaining 1,179 (19.73%) are either retired, currently unemployed or out of the workforce for unspecified reasons.
The top 10 industries our participants are working in are:
Industry Participants # Percentage
Health Care and Social Assistance 568 9.50%
Retail 400 6.69%
Arts, Entertainment, and Recreation 330 5.52%
College, University, and Adult Education 292 4.89%
Government and Public Administration 258 4.32%
Finance and Insurance 246 4.12%
Hotel and Food Services 221 3.70%
Scientific or Technical Services 198 3.31%
Software 193 3.23%
Information Services and Data Processing 169 2.83%
*Note that "other", "I'm a student" and "currently unemployed" have been disgregarded for this part of the evaluation.
Out of the 4,477 participants active in the workforce, the majority (1,632 or 36.45%) work between 40-50 hours per week, 34.73% (1,555) are working 30-40 hours weekly. Less than 6% work >50 h per week, and 23.87% (1,024 participants) less than 30 hours.
718 or 16.04% are taking over managerial responsibilities (ranging from Jr. to Sr. Management); 247 (5.52%) are self employed or partners.
On a scale of 1 (lowest) to 10 (highest), the overwhelming majority (4,009 or 67.09%) indicated that career plays a very important role in their lives, attributing a score of 7 and higher.
Only 663 (11.09%) gave it a score below 4, indicating a low importance.
The importance of climbing the career ladder is very evenly distributed across all participants and ranges in a harmonized 7-12% range for each of the 10 steps of importance.
23.71% (1,417) of the participants are making extra income with a hobby or side job.
From the 5,907 participants not already retired, the overwhelming majority of 3,608 (61.11%) does not actively seek early retirement. From those who are, most (1,024 / 17.34%) want to do so between 55-64; 7 and 11% respectively in the age brackets before or after. Less than 3.5% are looking for retirement below 45 years of age.
1,127 participants decided not to disclose their income brackets. The remaining 4,849 are distributed as follows:
Income Participants # Percentage
$0 to $14,999 1,271 26.21%
$15,000 to $29,999 800 16.50%
$30,000 to $59,999 1,441 29.72%
$60,000 to $89,999 731 15.08%
$90,000 to $119,999 300 6.19%
$120,000 to $149,999 136 2.80%
$150,000 to $179,999 67 1.38%
$180,000 to $209,999 29 0.60%
$210,000 to $239,999 22 0.45%
$240,000 to $269,999 15 0.31%
$270,000 to $299,999 5 0.10%
$300,000 or more 32 0.66%

3.4 Child Status

5,976 participants in total
94.44% of the participants (5,644) would call themselves "childfree" (as opposed to 5.56% of the participants who would not call themselves childfree. However, only 68.51% of the participants (4,094) do not have children and do not want them in any capacity at any point of the future. The other 31.49% have a varying degree of indecision, child wanting or child having on their own or their (future) spouse's part.
The 4,094 participants were made to participate in the following sections of the survey.

3.5 Current Location

4,094 childfree participants in total

Current Location

There were more than 200 options of country, so we are showing the top 10 CF countries.
Current Location Participants # Percentage
United States 2,495 60.94%
United Kingdom 331 8.09%
Canada 325 7.94%
Australia 146 3.57%
Germany 90 2.20%
Netherlands 66 1.61%
France 43 1.05%
Sweden 40 0.98%
New Zealand 33 0.81%
Poland 33 0.81%
The Top 10 amounts to 87.98% of the childfree participants' current location.

Current Location Qualification

These participants would describe their current city, town or neighborhood as:
Qualification Participants # Percentage
Urban 1,557 38.03%
Suburban 1,994 48.71%
Rural 543 13.26%

Tolerance to "Alternative Lifestyles" in Current Location

Figure 1
Figure 2
Figure 3

3.6 Religion and Spirituality

4094 childfree participants in total

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
Christianity 2,624 64.09%
Atheism 494 12.07%
None (≠ Atheism. Literally, no notion of spirituality or religion in the upbringing) 431 10.53%
Agnosticism 248 6.06%
Judaism 63 1.54%
Other 45 1.10%
Hinduism 42 1.03%
Islam 40 0.98%
Buddhism 24 0.59%
Paganism 14 0.34%
This top 10 amounts to 98.3% of the 4,094 childfree 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 2,276 55.59%
Agnosticism 829 20.25%
Christianity 343 8.38%
Other 172 4.20%
Paganism 100 2.44%
Satanism 67 1.64%
Spiritualism 55 1.34%
Witchcraft 54 1.32%
Buddhism 43 1.05%
Judaism 30 0.73%
This top 10 amounts to 96.95% of the participants.

Level of Current Religious Practice

Level Participants # Percentage
Wholly secular / Non religious 3045 74.38%
Identify with religion, but don't practice strictly 387 9.45%
Lapsed / Not serious / In name only 314 7.67%
Observant at home only 216 5.28%
Observant at home. Church/Temple/Mosque/Etc. attendance 115 2.81%
Church/Temple/Mosque/Etc. attendance only 17 0.42%

Effect of Faith over Childfreedom

Figure 4

Effect of Childfreedom over Faith

Figure 5

3.7 Romantic and Sexual Life

4,094 childfree participants in total

Current Dating Situation

Status Participants # Percentage
Divorce 37 0.90
Engaged 215 5.25
Long term relationship, living together 758 18.51
Long term relationship, not living with together 502 12.26
Married 935 22.84
Other 69 1.69
Separated 10 0.24
Short term relationship 82 2.00
Single and dating around, but not looking for anything serious 234 5.72
Single and dating around, looking for something serious 271 6.62
Single and not looking 975 23.82
Widowed 6 0.15

Ethical Non-Monogamy

Non-monogamy (or nonmonogamy) is an umbrella term for every practice or philosophy of intimate relationship that does not strictly hew to the standards of monogamy, particularly that of having only one person with whom to exchange sex, love, and affection.
82.3% of the childfree participants do not practice ethical non-monogamy, as opposed to 17.7% who say they do.

Childfree Partner

Regarding to currently having a childfree or non childfree partner, excluding the 36.7% of childfree participants who said they do not have a partner at the moment. For this question only, only 2591 childfree participants are considered.
Partner Participants # Percentage
Childfree partner 2105 81.2%
Non childfree partner 404 9.9%
More than one partner; all childfree 53 1.3%
More than one partner; some childfree 24 0.9%
More than one partner; none childfree 5 0.2%

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 3693 90.2
Yes, but only if it's a short term arrangement of some sort 139 3.4
Yes, whether for long term or short term, but with some conditions 161 3.9
Yes, whether for long term or short term, with no conditions 101 2.5

3.8 Childhood and Family Life

On a scale from 1 (very unhappy) to 10 (very happy), how would you rate your childhood?
Answer Participants # Percentage
1 154 3.8%
2 212 5.2%
3 433 10.6%
4 514 12.6%
5 412 10.1%
6 426 10.4%
7 629 15.4%
8 704 17.2%
9 357 8.7%
10 253 6.2%

3.9 Sterilization

4,094 childfree participants in total
Sterilization Status Participants # Percentage
No, I am not sterilized and, for medical, practical or other reasons, I do not need to be 687 16.8
No. However, I've been approved for the procedure and I'm waiting for the date to arrive 119 2.9
No. I am not sterilized and don't want to be 585 14.3
No. I want to be sterilized but I have started looking for a doctor (doctor shopping) 328 8.0
No. I want to be sterilized but I haven't started doctor shopping yet 1896 46.3
Yes. I am sterilized 479 11.7

Already Sterilized

479 sterilized childfree participants in total

Age when starting doctor shopping or addressing issue with doctor

Age group Participants # Percentage
18 or younger 37 7.7%
19 to 24 131 27.3%
25 to 29 159 33.2%
30 to 34 92 19.2%
35 to 39 47 9.8%
40 to 44 9 1.9%
45 to 49 1 0.2%
50 to 54 1 0.2%
55 or older 2 0.4%

Age at the time of sterilization

Age group Participants # Percentage
18 or younger 4 0.8%
19 to 24 83 17.3%
25 to 29 181 37.8%
30 to 34 121 25.3%
35 to 39 66 13.8%
40 to 44 17 3.5%
45 to 49 3 0.6%
50 to 54 1 0.2%
55 or older 3 0.6%

Elapsed time between requesting procedure and undergoing procedure

Time Participants # Percentage
Less than 3 months 280 58.5
Between 3 and 6 months 78 16.3
Between 6 and 9 months 20 4.2
Between 9 and 12 months 10 2.1
Between 12 and 18 months 17 3.5
Between 18 and 24 months 9 1.9
Between 24 and 30 months 6 1.3
Between 30 and 36 months 4 0.8
Between 3 and 5 years 19 4.0
Between 5 and 7 years 9 1.9
More than 7 years 27 5.6

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

Doctor # Participants # Percentage
None. The first doctor I asked said yes 340 71.0%
One. The second doctor I asked said yes 56 11.7%
Two. The third doctor I asked said yes 37 7.7%
Three. The fourth doctor I asked said yes 15 3.1%
Four. The fifth doctor I asked said yes 8 1.7%
Five. The sixth doctor I asked said yes 5 1.0%
Six. The seventh doctor I asked said yes 4 0.8%
Seven. The eighth doctor I asked said yes 1 0.2%
Eight. The ninth doctor I asked said yes 1 0.2%
I asked more than 10 doctors before finding one who said yes 12 2.5%

Approved, not Sterilized Yet

119 approved but not yet sterilised childfree participants in total. Owing to the zero participants who were approved but not yet sterilised in the 45+ age group in the 2018 survey, these categories were removed from the 2019 survey.

Age when starting doctor shopping or addressing issue with doctor

Age group Participants # Percentage
18 or younger 11 9.2%
19 to 24 42 35.3%
25 to 29 37 31.1%
30 to 34 23 19.3%
35 to 39 5 4.2%
40 to 45 1 0.8%

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

Doctor # Participants # Percentage
None. The first doctor I asked said yes 77 64.7%
One. The second doctor I asked said yes 12 10.1%
Two. The third doctor I asked said yes 12 10.1%
Three. The fourth doctor I asked said yes 5 4.2%
Four. The fifth doctor I asked said yes 2 1.7%
Five. The sixth doctor I asked said yes 4 3.4%
Six. The seventh doctor I asked said yes 1 0.8%
Seven. The eighth doctor I asked said yes 1 0.8%
Eight. The ninth doctor I asked said yes 0 0.0%
I asked more than ten doctors before finding one who said yes 5 4.2%

How long between starting doctor shopping and finding a doctor who said "Yes"?

Time Participants # Percentage
Less than 3 months 65 54.6%
3 to 6 months 13 10.9%
6 to 9 months 9 7.6%
9 to 12 months 1 0.8%
12 to 18 months 2 1.7%
18 to 24 months 2 1.7%
24 to 30 months 1 0.8%
30 to 36 months 1 0.8%
3 to 5 years 8 6.7%
5 to 7 years 6 5.0%
More than 7 years 11 9.2%

Age when receiving green light for sterilization procedure?

Age group Participants # Percentage
18 or younger 1 0.8%
19 to 24 36 30.3%
25 to 29 45 37.8%
30 to 34 27 22.7%
35 to 39 9 7.6%
40 to 44 1 0.8%

Not Sterilized Yet But Looking

328 searching childfree participants in total

How many doctors did you ask so far?

Doctor # Participants # Percentage
1 204 62.2%
2 61 18.6%
3 29 8.8%
4 12 3.7%
5 7 2.1%
6 6 1.8%
7 1 0.3%
8 1 0.3%
9 1 0.3%
More than 10 6 1.8%

How long have you been searching so far?

Time Participants # Percentage
Less than 3 months 117 35.7%
3 to 6 months 44 13.4%
6 to 9 months 14 4.3%
9 to 12 months 27 8.2%
12 to 18 months 18 5.5%
18 to 24 months 14 4.3%
24 to 30 months 17 5.2%
30 to 36 months 9 2.7%
3 to 5 years 35 10.7%
5 to 7 years 11 3.4%
More than 7 years 22 6.7%

At what age did you start searching?

Age group Participants # Percentage
18 or younger 50 15.2%
19 to 24 151 46.0%
25 to 29 86 26.2%
30 to 34 31 9.5%
35 to 39 7 2.1%
40 to 44 2 0.6%
45 to 54 1 0.3%

3.10 Childfreedom

4,094 childfree participants in total
Only 1.1% of the childfree participants (46 out of 4094) literally owns a jetski, but 46.1% of the childfree participants (1889 out of 4094) figuratively owns a jetski. A figurative jetski is an expensive material possession that purchasing would have been almost impossible had you had children.

Primary Reason to Not Have Children

Reason Participants # Percentage
Aversion towards children ("I don't like children") 1222 29.8
Childhood trauma 121 3.0
Current state of the world 87 2.1
Environmental (it includes overpopulation) 144 3.5
Eugenics ("I have "bad genes" ") 62 1.5
Financial 145 3.5
I already raised somebody else who isn't my child 45 1.1
Lack of interest towards parenthood ("I don't want to raise children") 1718 42.0
Maybe interested for parenthood, but not suited for parenthood 31 0.8
Medical ("I have a condition that makes conceiving/bearing/birthing children difficult, dangerous or lethal") 52 1.3
Other 58 1.4
Philosophical / Moral (e.g.: antinatalism) 136 3.3
Tokophobia (aversion/fear of pregnancy and/or chidlbirth) 273 6.7

4. Discussion

Section 1 : General Demographics

The demographics remain largely consistent with the 2018 survey. 85% of the participants are under 35, compared with 87.5% of the subreddit in the 2018 survey. 71.54% of the subreddit identify as female, compared with 70.4% in the 2018 survey. 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]. There was a marked drop in the ratio of members who identify as heterosexual, from 67.7% in the 2018 survey to 54.89% in the 2019 survey. Ethnicity wise, 77% of members identified as primarily Caucasian, a slight drop from the 2018 survey, where 79.6% of members identified as primarily Caucasian.
Further research may be useful to explore the unusually high female membership of /childfree and the potential reasons for this. It is possible that the results are skewed towards those more inclined to complete a survey.
In the 2018 survey the userbase identified the following missing ethicities:
This has been rectified in the current 2019 survey.

Section 2 : Education level

As it did in the 2018 survey, this section highlights the stereotype of childfree people as being well educated. 4% of participants did not complete high school, which is a slight increase from the 2018 survey, where 3.1% of participants did not graduate high school. This could potentially be explained by the slightly higher percentage of participants under 18. 5.6% of participants were under 18 at the time of the 2018 survey, and 8.2% of participants were under 18 at the time of the 2019 survey.
At the 2019 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" (16.9%) and "other" (9.71%). However, of the participants who were able to select a degree and/or major, the most popular responses were:
Response Participants # Percentage
Health Sciences 498 8.33%
Engineering 455 7.61%
Information and Communication Technologies 428 7.16%
Arts and Music 403 6.74%
Social Sciences 361 6.04%
Compared to the 2018 survey, health sciences have overtaken engineering, however the top 5 majors remain the same. There is significant diversity in the subreddit with regards to chosen degree/major.

Section 3 : Career and Finances

The highest percentage of participants (17.7%) listed themselves as a student. However, of those currently working, significant diversity in chosen field of employment was noted. This is consistent with the 2018 survey. The highest percentage of people working in one of the fields listed remains in Healthcare and Social Services. This is slightly down from the 2018 survey (9.9%) to 9.5%.
One of the stereotypes of the childfree is of wealth. However this is not demonstrated in the survey results. 72.4% of participants earn under $60,000 USD per annum, while 87.5% earn under $90,000 per annum. 26.2% are earning under $15,000 per annum. The results remain largely consistent with the 2018 survey. 1127 participants, or 19% 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 (71.2%) which is markedly increased from the 2018 survey, where 54.6% of participants worked between 30 and 50 hours per week.

Section 4 : 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." 68.5% of participants actually identify as childfree, slightly up from the 2018 survey, where 66.3% 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".

Section 5 : Current Location

The location responses are largely similar to the 2018 survey with a majority of participants living in a suburban and urban area. 86.7% of participants in the 2019 survey live in urban and suburban regions, with 87.6% of participants living in urban and suburban regions in the 2018 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 (60.9%) live in the USA. The United Kingdom (8.1%), Canada (7.9%), Australia (3.6%) and Germany (2.2%) encompass the next 4 most popular responses. Compared to the 2018 survey, there has been a slight drop in the USA membership (64%), United Kingdom membership (7.3%) Canadian membership (8.1%), Australian membership (3.8%). There has been a slight increase in German membership, up from 1.7%. This may reflect a growing globalisation of the childfree concept.

Section 6 : Religion and Spirituality

A majority of participants were raised Christian (64.1%) however the majority are currently aetheist (55.6%) or agnostic (20.25%). This is consistent with the 2018 survey results.
A majority of participants (62.8%) rated religion as "not at all influential" to the childfree choice. This is consistent with the 2018 survey where 60.9% 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.

Section 7 : Romantic and Sexual Life

60.7% of our participants are in a relationship at the time of the survey. This is an almost identical result to the 2018 survey, where 60.6% of our participants were in a relationship. A notable proportion of our participants are listed as single and not looking (23.8%) which is consistent with the 2018 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.
Participants that practice ethical non-monogamy are unusual (17.7%) and this result is consistent with the results of the 2018 survey. Despite the reputuation for childfree people to live an unconventional lifestyle, this finding suggests that a majority of our participants are monogamous.
84.2% 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.

Section 8 : Childhood and Family Life

Overall, the participants skew towards a happier childhood.

Section 9 : Sterilization

While just under half of our participants wish to be sterilised, 46.3%, only 11.7% 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. This is also a decrease from the percentage of participants sterilised in the 2018 survey (14.8%). 31.1% 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 from no sexual activity.
Of the participants who did achieve sterilisation, a majority began the search between 19 and 29, with the highest proportion being in the 25-29 age group (33.2%) This is a drop from the 2018 survey where 37.9% of people who started the search were between 25-29.
The majority of participants who sought out and were successful at achieving sterilisation, were again in the 25-29 age group (37.8%). This is consistent with the 2018 survey results.
Over half of the participants who were sterilised had the procedure completed in less than 3 months (58.5%). This is a decline from the number of participants who achieved sterilisation in 3 months in the 2018 survey (68%). The proportion of participants who have had one or more doctors refuse to perform the procedure has stayed consistent between the two surveys.

Section 10 : Childfreedom

The main reasons for people chosing the childfree lifestyle are a lack of interest towards parenthood and an aversion towards children. Of the people surveyed 63.8% are pet owners, 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 81.4% 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?".
A vast majority of the subreddit identifes as pro-choice (94.5%). This is likely due to a high level of concern about bodily autonomy and forced parenthood. However only 70% support financial abortion for the non-pregnant person in a relationship to sever all financial and parental ties with a child.
45.9% identify as feminist, however many users prefer to identify with egalitarianism or are unsure. Only 8% firmly do not identify as a feminist.
Most of our users realised that did not want children young. 60% of participants knew they did not want children by the age of 18, with 96% 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.4% of participants have been "bingoed" at some stage in their lives. Only 13% of participants are opposed to parents making posts on this subreddit.
Bonus section: The Subreddit
In light of the "State of the Subreddit" survey from 2018, some of the questions from this survey were added to the current Subreddit Survey 2019.
By and large our participants were lurkers (66.17%). Our participants were divided on their favourite flairs with 33.34% selecting "I have no favourite". The next most favourite flair was "Rant", at 20.47%. Our participants were similarly divided on their least favourite flair, with 64.46% selecting "I have no least favourite". Potentially concerningly were the 42.01% of participants who selected "I have never participated on this sub", suggesting a disparity between members who contributed to this survey and members who actually participate in the subreddit. To further address this, next year's survey will clarify the "never participated" option by specifying that "never participated" means "never up/downvoting, reading posts or commenting" in addition to never posting.
A small minority of the survey participants (6.18%) selected "yes" to allowing polite, well meaning lectures. An even smaller minority (2.76%) selected "yes" to allowing angry, trolling lectures. In response to this lectures remain not tolerated, and removed on sight or on report.
Almost half of our users (49.95%) support the use of terms such as breeder, mombie/moo, daddict/duh on the subreddit, with a further 22.52% supporting use of these terms in context of bad parents only. In response to this use of the above and similar terms to describe parents remains permitted on ths subreddit.
55.3% of users support the use of terms to describe children such as crotchfruit on the subreddit, with a further 17.42% of users supporting the use of this and similar terms in context of bad children only. In response to this use of the above and similar terms to describe children remains permitted on ths subreddit.
56.03% of participants support allowing parents to post, with a further 28.77% supporting parent posts dependent on context. In response to this, parent posts will continue to be allowed on the subreddit. Furthermore 66.19% of participants support parents and non childfree making "I need your advice" posts, with a further 21.37% supporting these dependent on context. In light of these results we have decided to implement a new "regret" flair to better sort out parents from fencesitters, which will be trialed until the next subreddit survey due to concern from some of our members. 64.92% of participants support parents making "I support you guys" posts. Therefore, these will continue to be allowed.
71.03% of participants support under 18's who are childfree participating in the subreddit. Therefore we will continue to allow under 18's that stay within the overall Reddit age requirement.
We asked participants their opinion on moving Rants and Brants to a stickied weekly thread. Slightly less than half (49.73%) selected leaving them as they are in their own posts. In light of the fact that Rants are one of the participant's favourite flairs, we will leave them as they are.
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.

5. Conclusion

Thank you to our participants who contributed to the survey. To whoever commented, "Do I get a donut?", no you do not, but you get our appreciation for pushing through all of the questions!
Overall there have been few significant changes in the community from 2018.

Thank you also for all of your patience!

submitted by CFmoderator to childfree [link] [comments]

Ambrosia and Registration

Now that Ambrosia is gone, new registrations are no longer possible, and due to their expiring codes, using legitimate license keys has become difficult. We may hope to see a few of their games revived in the future but at present, only the original releases are available. Perhaps this case study on Ambrosia's registration algorithms will be useful to some.

The Old System

In their earliest days, ASW didn't require registration, but they eventually began locking core features away behind codes. All of their classic titles use the original algorithm by Andrew Welch.
Given a licensee name, number of copies, and game name, the code generator runs through two loops. The first loop iterates over each letter of the capitalized licensee name, adding the ASCII representation of that letter with the number of copies and then rotating the resulting bits. The second loop repeats that operation, only using the game's name instead of the license holder's name.
Beginning with Mars Rising, later games added a step to these loops: XOR the current code with the common hex string $DEADBEEF. However, the rest of the algorithm remained essentially unchanged.
The resulting 32 bits are converted into a text registration code by adding the ASCII offset of $41 to each hex digit. This maps the 32-bit string into 8 characters, but due to the limit of a hex digit to only encode 16 values, codes only contain letters from the first 16 of the alphabet.
The following chart shows an example using a well-known hacked code for Slithereens.
 Iteration 1 ('A' in ANONYMOUS) Name: Anonymous Code = $0 + $41 Number: 100 (hex: $64) -> << 6 ... -> Code = $FD53 FFA0 Game: Slithereens + $64 ^ $DEAD BEEF >> 1 Add $41 to each digit: Registration -> $41 + $F = $50 = P -> Reverse string -> ------------ $41 + $D = $4E = N | AKPPDFNP | ... ------------ 
Here is a Python implementation of the v1 system: aswreg_v1.py
Once you have the bitstring module installed via sudo pip install bitstring, you can test the output yourself with python aswreg_v1.py "Anonymous" 100 "Slithereens".

The New System

As Ambrosia's Matt Slot explains, the old system continued to allow a lot of piracy, so in the early 2000's they decided to switch to a more challenging registration system. This new method was based on polynomial hashing and included a timestamp so that codes could be expired and renewed. Ambrosia now had better control over code distribution, but they assumed their renewal server would never be shut down...
They also took more aggressive steps to reduce key sharing. The registration app checks against a list of blacklisted codes, and if found to be using one, the number of licenses is internally perturbed so that subsequent calculations fail. To combat tampering, your own information can get locally blacklisted in a similar manner if too many failed attempts occur, at least until the license file is deleted. Furthermore, the app attempts to verify the system time via a remote time server to minimize registration by changing the computer's clock.
You can disable the internet connection, set the clock back, and enter codes. There's also a renewal bot for EV: Nova. But let us look at the algorithm more closely.

64-bit Codes

The first noticeable difference is that registration codes in v2 are now 12 digits, containing both letters and numbers. This is due to a move from a 32-bit internal code to a 64-bit one. Rather than add an ASCII offset to hex digits, every letter or number in a new registration code has a direct mapping to a chunk of 5 bits. Using 5 bits per digit supports up to 32 values, or almost all letters of the alphabet and digits up to 9 (O, I, 0, and 1 were excluded given their visual similarities).
The resulting 64 bits (really only 60 because the upper 4 are unused: 12 digits * 5 bits each = 60) are a combination of two other hashes XOR'd together. This is a notable change from v1 because it only used the registration code to verify against the hashing algorithm. Only the licensee name, number of copies, and game name were really used. In v2, the registration code is itself a hash which contains important information like a code's timestamp.

Two Hashes

To extract such information from the registration code, we must reverse the XOR operation and split out the two hashes which were combined. Fortunately, XOR is reversible, and we can compute one of the hashes. The first hash, which I'll call the userkey, is actually quite similar to v1's algorithm. It loops through the licensee name, adding the ASCII value, number of copies, and shifting bits. This is repeated with the game name. An important change is including multiplication by a factor based on the string size.
The second hash, which I'll call the basekey, is the secret sauce of v2; it's what you pay Ambrosia to generate when registering a product. It is not computed by the registration app, but there are several properties by which it must be validated.
The chart below visualizes the relationships among the various hashes, using the well-known "Barbara Kloeppel" code for EV: Nova.
 TEXTCODE: ------------------ | L4B5-9HJ5-P3NB | ------------------ HASH1 (userkey): | calculated from licensee name, | copies, and game name BINCODE: ---------------------- 5 bits per character, /-> | 0x0902f8932acce305 | plus factors & rotation / ---------------------- ---------------------- / | 0x0008ecc1c2ee5e00 | <-- XOR ---------------------- \ \ ---------------------- \-> | 0x090a1452e822bd05 | ---------------------- HASH2 (basekey): generated by Ambrosia, extracted via XOR 

The Basekey

The basekey is where we must handle timestamps and several validation checks. Consider the binary representation of the sample 0x090a1452e822bd05:
binary basekey (above) and indices for reference (below): 0000 1001 0000 1010 0001 0100 0101 0010 1110 1000 0010 0010 1011 1101 0000 0101 b0 b3 b7 b11 b15 b19 b23 b27 b31 b35 b39 b43 b47 b51 b55 b59 b63 

Timestamps

Timestamp are encoded as a single byte comprised of bits indexed at b56,51,42,37,28,23,14,9 from the basekey. In this example, the timestamp is 01100010 or 0x62 or 98.
The timestamp represents the number of fortnights that have passed since Christmas Day, 2000 Eastern time, modulo 256 to fit in one byte. For example, 98 fortnights places the code at approximately October 2004.
Stored as a single byte, there are 256 unique timestamps. This is 512 weeks or about 10 years. Yes, this means that a code's validity rotates approximately once every decade.
After the code's timestamp is read, it is subtracted from the current timestamp (generated from the system clock or network time server if available). The difference must be less than 2, so codes are valid for 4 weeks or about a month at a time.
Of note, Pillars of Garendall has a bug in which the modulo is not taken correctly, so the timestamp corresponding to 0xFF is valid without expiry.

Validity Check

The last three bits, b60-63, contain the sum of all other 3-bit chunks in the basekey, modulo 7. Without the correct number in these bits, the result will be considered invalid.
To this point, we have covered sufficient material to renew licenses. The timestamp can be changed, the last three bits updated, the result XOR'd with the userkey, and finally, the code converted from binary to text.

Factors for Basekey Generation

I was next curious about code generation. For the purposes of this write-up, I have not fully reverse engineered the basekey, only duplicated the aspects which are used for validation. This yields functional keys, just not genuine ones. If the authors of the EV: Nova renewal bot have fully reversed the algorithm, perhaps they will one day share the steps to genuine basekey creation.
One aspect validated by the registration app is that the licensee name, number, and game name can be modified to yield a set of base factors. These are then multiplied by some number and written into the basekey. We do not need the whole algorithm; we simply must check that the corresponding regions in the basekey are multiples of the appropriate factors.
The regions of note in the basekey are f1 = b5-9,47-51,33-37,19-23, f2 = b43-47,29-33,15-19,57-61, and f3 = b24-28,10-14,52-56,38-42. The top 5 bits and f3 are never actually checked, so they can be ignored.
Considering f1 and f2, the values in the sample basekey are 0x25DA and 0x1500, respectively. The base factors are 0x26 and 0x1C, which are multiples by 0xFF and 0xC0, respectively.
Rather than analyze the code in detail, I wrote a small script to translate over the disassembled PPC to Python wholesale. It is sufficient for generating keys to EV: Nova, using the perfectly-valid multiple of 1x, but I have found it fails for other v2 products.

Scripts

Here is a Python implementation for v2: aswreg_v2.py and aswreg_v2core.py
With bitstring installed, you can renew codes like python aswreg_v2.py renew "L4B5-9HJ5-P3NB" "Barbara Kloeppel" 1 "EV Nova" (just sample syntax, blacklisted codes will still fail in the app). There's also a function to check a code's timestamp with date or create a new license with generate.
As earlier cautioned, generating basekeys relies on code copied from disassembled PPC and will likely not work outside EV: Nova. In my tests with other v2 products, all essential parts of the algorithm remain the same, even the regions of the basekey which are checked as multiples of the factors. What differs is the actual calculation of base factors. Recall that these keys were created by Ambrosia outside the local registration system, so the only options are to copy the necessary chunks of code to make passable factors for each product or to fully reverse engineer the basekey algorithm. I've no doubt the factors are an easy computation once you know the algorithm, but code generation becomes less critical when renewal is an option for other games. I leave it to the authors of the Zeus renewal bot if they know how to find these factors more generally.
To renew codes for other games, keep in mind the name must be correct. For instance, Pillars of Garendall is called "Garendall" internally. You can find a game's name by typing a gibberish license in the registration app and seeing what file is created in Preferences. It should be of the form License.
Finally, a couple disclaimers: I have only tested with a handful of keys, so my interpretations and implementations may not be completely correct. YMMV. Furthermore, these code snippets are posted as an interesting case study about how a defunct company once chose to combat software piracy, not to promote piracy. Had Ambrosia remained operational, I'm sure we would have seen a v3 registration system or a move to online-based play as so many other games are doing today, but I hope this has been helpful for those who still wish to revisit their favorite Ambrosia classics.
submitted by asw_anon to evnova [link] [comments]

Part 2: Tools & Info for Sysadmins - Mega List of Tips, Tools, Books, Blogs & More

(continued from part 1)
Unlocker is a tool to help delete those irritating locked files that give you an error message like "cannot delete file" or "access is denied." It helps with killing processes, unloading DLLs, deleting index.dat files, as well as unlocking, deleting, renaming, and moving locked files—typically without requiring a reboot.
IIS Crypto's newest version adds advanced settings; registry backup; new, simpler templates; support for Windows Server 2019 and more. This tool lets you enable or disable protocols, ciphers, hashes and key exchange algorithms on Windows and reorder SSL/TLS cipher suites from IIS, change advanced settings, implement best practices with a single click, create custom templates and test your website. Available in both command line and GUI versions.
RocketDock is an application launcher with a clean interface that lets you drag/drop shortcuts for easy access and minimize windows to the dock. Features running application indicators, multi-monitor support, alpha-blended PNG and ICO icons, auto-hide and popup on mouse over, positioning and layering options. Fully customizable, portable, and compatible with MobyDock, ObjectDock, RK Launcher and Y'z Dock skins. Works even on slower computers and is Unicode compliant. Suggested by lieutenantcigarette: "If you like the dock on MacOS but prefer to use Windows, RocketDock has you covered. A superb and highly customisable dock that you can add your favourites to for easy and elegant access."
Baby FTP Server offers only the basics, but with the power to serve as a foundation for a more-complex server. Features include multi-threading, a real-time server log, support for PASV and non-PASV mode, ability to set permissions for download/upload/rename/delete/create directory. Only allows anonymous connections. Our thanks to FatherPrax for suggesting this one.
Strace is a Linux diagnostic, debugging and instructional userspace tool with a traditional command-line interface. Uses the ptrace kernel feature to monitor and tamper with interactions between processes and the kernel, including system calls, signal deliveries and changes of process state.
exa is a small, fast replacement for ls with more features and better defaults. It uses colors to distinguish file types and metadata, and it recognizes symlinks, extended attributes and Git. All in one single binary. phils_lab describes it as "'ls' on steroids, written in Rust."
rsync is a faster file transfer program for Unix to bring remote files into sync. It sends just the differences in the files across the link, without requiring both sets of files to be present at one of the ends. Suggested by zorinlynx, who adds that "rsync is GODLY for moving data around efficiently. And if an rsync is interrupted, just run it again."
Matter Wiki is a simple WYSIWYG wiki that can help teams store and collaborate. Every article gets filed under a topic, transparently, so you can tell who made what changes to which document and when. Thanks to bciar-iwdc for the recommendation.
LockHunter is a file unlocking tool that enables you to delete files that are being blocked for unknown reasons. Can be useful for fighting malware and other programs that are causing trouble. Deletes files into the recycle bin so you can restore them if necessary. Chucky2401 finds it preferable to Unlocker, "since I am on Windows 7. There are no new updates since July 2017, but the last beta was in June of this year."
aria2 is a lightweight multi-source command-line download utility that supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink. It can be manipulated via built-in JSON-RPC and XML-RPC interfaces. Recommended by jftuga, who appreciates it as a "cross-platform command line downloader (similar to wget or curl), but with the -x option can run a segmented download of a single file to increase throughput."
Free Services
Temp-Mail allows you to receive email at a temporary address that self-destructs after a certain period of time. Outwit all the forums, Wi-Fi owners, websites and blogs that insist you register to use them. Petti-The-Yeti says, "I don't give any company my direct email anymore. If I want to trial something but they ask for an email signup, I just grab a temporary email from here, sign up with it, and wait for the trial link or license info to come through. Then, you just download the file and close the website."
Duck DNS will point a DNS (sub domains of duckdns.org) to an IP of your choice. DDNS is a handy way for you to refer to a serverouter with an easily rememberable name for situations when the server's ip address will likely change. Suggested by xgnarf, who finds it "so much better for the free tier of noip—no 30-day nag to keep your host up."
Joe Sandbox detects and analyzes potential malicious files and URLs on Windows, Android, Mac OS, Linux and iOS for suspicious activities. It performs deep malware analysis and generates comprehensive and detailed reports. The Community Edition of Joe Sandbox Cloud allows you to run a maximum of 6 analyses per month, 3 per day on Windows, Linux and Android with limited analysis output. This one is from dangibbons94, who wanted to "share this cool service ... for malware analysis. I usually use Virus total for URL scanning, but this goes a lot more in depth. I just used basic analysis, which is free and enough for my needs."
Hybrid Analysis is a malware analysis service that detects and analyzes unknown threats for the community. This one was suggested by compupheonix, who adds that it "gets you super detailed reports... it's about the most fleshed out and detailed one I can find."
JustBeamIt is a file-transfer service that allows you to send files of any size via a peer-to-peer streaming model. Simply drag and drop your file and specify the recipient's email address. They will then receive a link that will trigger the download directly from your computer, so the file does not have to be uploaded to the service itself. The link is good for one download and expires after 10 minutes. Thanks to cooljacob204sfw for the recommendation!
ShieldsUP is a quick but powerful internet security checkup and information service. It was created by security researcher Steve Gibson to scan ports and let you know which ones have been opened through your firewalls or NAT routers.
Firefox Send is an encrypted file transfer service that allows you to share files up to 2.5GB from any browser or an Android app. Uses end-to-end encryption to keep data secure and offers security controls you can set. You can determine when your file link expires, the number of downloads, and whether to add a password. Your recipient receives a link to download the file, and they don’t need a Firefox account. This one comes from DePingus, who appreciates the focus on privacy. "They have E2E, expiring links, and a clear privacy policy."
Free DNS is a service where programmers share domain names with one another at no cost. Offers free hosting as well as dynamic DNS, static DNS, subdomain and domain hosting. They can host your domain's DNS as well as allowing you to register hostnames from domains they're hosting already. If you don't have a domain, you can sign up for a free account and create up to 5 subdomains off the domains others have contributed and point these hosts anywhere on the Internet. Thanks to 0x000000000000004C (yes, that's a username) for the suggestion!
ANY.RUN is an interactive malware analysis service for dynamic and static research of the majority of threats in any environment. It can provide a convenient in-depth analysis of new, unidentified malicious objects and help with the investigation of incidents. ImAshtonTurner appreciates it as "a great sandbox tool for viewing malware, etc."
Plik is a scalable, temporary file upload system similar to wetransfer that is written in golang. Thanks go to I_eat_Narwhals for this one!
Free My IP offers free, dynamic DNS. This service comes with no login, no ads, no newsletters, no links to click and no hassle. Kindly suggested by Jack of All Trades.
Mailinator provides free, temporary email inboxes on a receive-only, attachment-free system that requires no sign-up. All @mailinator.com addresses are public, readable and discoverable by anyone at any time—but are automatically deleted after a few hours. Can be a nice option for times when you to give out an address that won't be accessible longterm. Recommended by nachomountain, who's been using it "for years."
Magic Wormhole is a service for sending files directly with no intermediate upload, no web interface and no login. When both parties are online you with the minimal software installed, the wormhole is invoked via command line identifying the file you want to send. The server then provides a speakable, one-time-use password that you give the recipient. When they enter that password in their wormhole console, key exchange occurs and the download begins directly between your computers. rjohnson99 explains, "Magic Wormhole is sort of like JustBeamIt but is open-source and is built on Python. I use it a lot on Linux servers."
EveryCloud's Free Phish is our own, new Phishing Simulator. Once you've filled in the form and logged in, you can choose from lots of email templates (many of which we've coped from what we see in our Email Security business) and landing pages. Run a one-off free phish, then see who clicked or submitted data so you can understand where your organization is vulnerable and act accordingly.
Hardening Guides
CIS Hardening Guides contain the system security benchmarks developed by a global community of cybersecurity experts. Over 140 configuration guidelines are provided to help safeguard systems against threats. Recommended by cyanghost109 "to get a start on looking at hardening your own systems."
Podcasts
Daily Tech News is Tom Merrit's show covering the latest tech issues with some of the top experts in the field. With the focus on daily tech news and analysis, it's a great way to stay current. Thanks to EmoPolarbear for drawing it to our attention.
This Week in Enterprise Tech is a podcast that features IT experts explaining the complicated details of cutting-edge enterprise technology. Join host Lou Maresca on this informative exploration of enterprise solutions, with new episodes recorded every Friday afternoon.
Security Weekly is a podcast where a "bunch of security nerds" get together and talk shop. Topics are greatly varied, and the atmosphere is relaxed and conversational. The show typically tops out at 2 hours, which is perfect for those with a long commute. If you’re fascinated by discussion of deep technical and security-related topics, this may be a nice addition to your podcast repertoire.
Grumpy Old Geeks—What Went Wrong on the Internet and Who's To Blame is a podcast about the internet, technology and geek culture—among other things. The hosts bring their grumpy brand of humor to the "state of the world as they see it" in these roughly hour-long weekly episodes. Recommended by mkaxsnyder, who enjoys it because, "They are a good team that talk about recent and relevant topics from an IT perspective."
The Social-Engineer Podcast is a monthly discussion among the hosts—a group of security experts from SEORG—and a diverse assortment of guests. Topics focus around human behavior and how it affects information security, with new episodes released on the second Monday of every month. Thanks to MrAshRhodes for the suggestion.
The CyberWire podcasts discuss what's happening in cyberspace, providing news and commentary from industry experts. This cyber security-focused news service delivers concise, accessible, and relevant content without the gossip, sensationalism, and the marketing buzz that often distract from the stories that really matter. Appreciation to supermicromainboard for the suggestion.
Malicious Life is a podcast that tells the fascinating—and often unknown—stories of the wildest hacks you can ever imagine. Host Ran Levi, a cybersecurity expert and author, talks with the people who were actually involved to reveal the history of each event in depth. Our appreciation goes to peraphon for the recommendation.
The Broadcast Storm is a podcast for Cisco networking professionals. BluePieceOfPaper suggests it "for people studying for their CCNA/NP. Kevin Wallace is a CCIE Collaboration so he knows his *ishk. Good format for learning too. Most podcasts are about 8-15 mins long and its 'usually' an exam topic. It will be something like "HSPR" but instead of just explaining it super boring like Ben Stein reading a powerpoint, he usually goes into a story about how (insert time in his career) HSPR would have been super useful..."
Software Engineering Radio is a podcast for developers who are looking for an educational resource with original content that isn't recycled from other venues. Consists of conversations on relevant topics with experts from the software engineering world, with new episodes released three to four times per month. a9JDvXLWHumjaC tells us this is "a solid podcast for devs."
Books
System Center 2012 Configuration Manager is a comprehensive technical guide designed to help you optimize Microsoft's Configuration Manager 2012 according to your requirements and then to deploy and use it successfully. This methodical, step-by-step reference covers: the intentions behind the product and its role in the broader System Center product suite; planning, design, and implementation; and details on each of the most-important feature sets. Learn how to leverage the user-centric capabilities to provide anytime/anywhere services & software, while strengthening control and improving compliance.
Network Warrior: Everything You Need to Know That Wasn’t on the CCNA Exam is a practical guide to network infrastructure. Provides an in-depth view of routers and routing, switching (with Cisco Catalyst and Nexus switches as examples), SOHO VoIP and SOHO wireless access point design and configuration, introduction to IPv6 with configuration examples, telecom technologies in the data-networking world (including T1, DS3, frame relay, and MPLS), security, firewall theory and configuration, ACL and authentication, Quality of Service (QoS), with an emphasis on low-latency queuing (LLQ), IP address allocation, Network Time Protocol (NTP) and device failures.
Beginning the Linux Command Line is your ally in mastering Linux from the keyboard. It is intended for system administrators, software developers, and enthusiastic users who want a guide that will be useful for most distributions—i.e., all items have been checked against Ubuntu, Red Hat and SUSE. Addresses administering users and security and deploying firewalls. Updated to the latest versions of Linux to cover files and directories, including the Btrfs file system and its management and systemd boot procedure and firewall management with firewalld.
Modern Operating Systems, 4th Ed. is written for students taking intro courses on Operating Systems and for those who want an OS reference guide for work. The author, an OS researcher, includes both the latest materials on relevant operating systems as well as current research. The previous edition of Modern Operating Systems received the 2010 McGuffey Longevity Award that recognizes textbooks for excellence over time.
Time Management for System Administrators is a guide for organizing your approach to this challenging role in a way that improves your results. Bestselling author Thomas Limoncelli offers a collection of tips and techniques for navigating the competing goals and concurrent responsibilities that go along with working on large projects while also taking care of individual user's needs. The book focuses on strategies to help with daily tasks that will also allow you to handle the critical situations that inevitably require your attention. You'll learn how to manage interruptions, eliminate time wasters, keep an effective calendar, develop routines and prioritize, stay focused on the task at hand and document/automate to speed processes.
The Practice of System and Network Administration, 3rd Edition introduces beginners to advanced frameworks while serving as a guide to best practices in system administration that is helpful for even the most advanced experts. Organized into four major sections that build from the foundational elements of system administration through improved techniques for upgrades and change management to exploring assorted management topics. Covers the basics and then moves onto the advanced things that can be built on top of those basics to wield real power and execute difficult projects.
Learn Windows PowerShell in a Month of Lunches, Third Edition is designed to teach you PowerShell in a month's worth of 1-hour lessons. This updated edition covers PowerShell features that run on Windows 7, Windows Server 2008 R2 and later, PowerShell v3 and later, and it includes v5 features like PowerShellGet. For PowerShell v3 and up, Windows 7 and Windows Server 2008 R2 and later.
Troubleshooting with the Windows Sysinternals Tools is a guide to the powerful Sysinternals tools for diagnosing and troubleshooting issues. Sysinternals creator Mark Russinovich and Windows expert Aaron Margosis provide a deep understanding of Windows core concepts that aren’t well-documented elsewhere along with details on how to use Sysinternals tools to optimize any Windows system’s reliability, efficiency, performance and security. Includes an explanation of Sysinternals capabilities, details on each major tool, and examples of how the tools can be used to solve real-world cases involving error messages, hangs, sluggishness, malware infections and more.
DNS and BIND, 5th Ed. explains how to work with the Internet's distributed host information database—which is responsible for translating names into addresses, routing mail to its proper destination, and listing phone numbers according to the ENUM standard. Covers BIND 9.3.2 & 8.4.7, the what/how/why of DNS, name servers, MX records, subdividing domains (parenting), DNSSEC, TSIG, troubleshooting and more. PEPCK tells us this is "generally considered the DNS reference book (aside from the RFCs of course!)"
Windows PowerShell in Action, 3rd Ed. is a comprehensive guide to PowerShell. Written by language designer Bruce Payette and MVP Richard Siddaway, this volume gives a great introduction to Powershell, including everyday use cases and detailed examples for more-advanced topics like performance and module architecture. Covers workflows and classes, writing modules and scripts, desired state configuration and programming APIs/pipelines.This edition has been updated for PowerShell v6.
Zero Trust Networks: Building Secure Systems in Untrusted Networks explains the principles behind zero trust architecture, along with what's needed to implement it. Covers the evolution of perimeter-based defenses and how they evolved into the current broken model, case studies of zero trust in production networks on both the client and server side, example configurations for open-source tools that are useful for building a zero trust network and how to migrate from a perimeter-based network to a zero trust network in production. Kindly recommended by jaginfosec.
Tips
Here are a couple handy Windows shortcuts:
Here's a shortcut for a 4-pane explorer in Windows without installing 3rd-party software:
(Keep the win key down for the arrows, and no pauses.) Appreciation goes to ZAFJB for this one.
Our recent tip for a shortcut to get a 4-pane explorer in Windows, triggered this suggestion from SevaraB: "You can do that for an even larger grid of Windows by right-clicking the clock in the taskbar, and clicking 'Show windows side by side' to arrange them neatly. Did this for 4 rows of 6 windows when I had to have a quick 'n' dirty "video wall" of windows monitoring servers at our branches." ZAFJB adds that it actually works when you right-click "anywhere on the taskbar, except application icons or start button."
This tip comes courtesy of shipsass: "When I need to use Windows Explorer but I don't want to take my hands off the keyboard, I press Windows-E to launch Explorer and then Ctrl-L to jump to the address line and type my path. The Ctrl-L trick also works with any web browser, and it's an efficient way of talking less-technical people through instructions when 'browse to [location]' stumps them."
Clear browser history/cookies by pressing CTRL-SHIFT-DELETE on most major browsers. Thanks go to synapticpanda, who adds that this "saves me so much time when troubleshooting web apps where I am playing with the cache and such."
To rename a file with F2, while still editing the name of that file: Hit TAB to tab into the renaming of the next file. Thanks to abeeftaco for this one!
Alt-D is a reliable alternative to Ctrl-L for jumping to the address line in a browser. Thanks for this one go to fencepost_ajm, who explains: "Ctrl-L comes from the browser side as a shortcut for Location, Alt-D from the Windows Explorer side for Directory."
Browser shortcut: When typing a URL that ends with dot com, Ctrl + Enter will place the ".com" and take you to the page. Thanks to wpierre for this one!
This tip comes from anynonus, as something that daily that saves a few clicks: "Running a program with ctrl + shift + enter from start menu will start it as administrator (alt + y will select YES to run as admin) ... my user account is local admin [so] I don't feel like that is unsafe"
Building on our PowerShell resources, we received the following suggestion from halbaradkenafin: aka.ms/pskoans is "a way to learn PowerShell using PowerShell (and Pester). It's really cool and a bunch of folks have high praise for it (including a few teams within MSFT)."
Keyboard shortcut: If you already have an application open, hold ctrl + shift and middle click on the application in your task bar to open another instance as admin. Thanks go to Polymira for this one.
Remote Server Tip: "Critical advice. When testing out network configuration changes, prior to restarting the networking service or rebooting, always create a cron job that will restore your original network configuration and then reboot/restart networking on the machine after 5 minutes. If your config worked, you have enough time to remove it. If it didn't, it will fix itself. This is a beautifully simple solution that I learned from my old mentor at my very first job. I've held on to it for a long time." Thanks go to FrigidNox for the tip!
Websites
Deployment Research is the website of Johan Arwidmark, MS MVP in System Center Cloud and Datacenter Management. It is dedicated to sharing information and guidance around System Center, OS deployment, migration and more. The author shares tips and tricks to help improve the quality of IT Pros’ daily work.
Next of Windows is a website on (mostly) Microsoft-related technology. It's the place where Kent Chen—a computer veteran with many years of field experience—and Jonathan Hu—a web/mobile app developer and self-described "cool geek"—share what they know, what they learn and what they find in the hope of helping others learn and benefit.
High Scalability brings together all the relevant information about building scalable websites in one place. Because building a website with confidence requires a body of knowledge that can be slow to develop, the site focuses on moving visitors along the learning curve at a faster pace.
Information Technology Research Library is a great resource for IT-related research, white papers, reports, case studies, magazines, and eBooks. This library is provided at no charge by TradePub.com. GullibleDetective tells us it offers "free PDF files from a WIIIIIIDE variety of topics, not even just IT. Only caveat: as its a vendor-supported publishing company, you will have to give them a bit of information such as name, email address and possibly a company name. You undoubtedly have the ability to create fake information on this, mind you. The articles range from Excel templates, learning python, powershell, nosql etc. to converged architecture."
SS64 is a web-based reference guide for syntax and examples of the most-common database and OS computing commands. Recommended by Petti-The-Yeti, who adds, "I use this site all the time to look up commands and find examples while I'm building CMD and PS1 scripts."
Phishing and Malware Reporting. This website helps you put a stop to scams by getting fraudulent pages blocked. Easily report phishing webpages so they can be added to blacklists in as little as 15 minutes of your report. "Player024 tells us, "I highly recommend anyone in the industry to bookmark this page...With an average of about 10 minutes of work, I'm usually able to take down the phishing pages we receive thanks to the links posted on that website."
A Slack Channel
Windows Admin Slack is a great drive-by resource for the Windows sysadmin. This team has 33 public channels in total that cover different areas of helpful content on Windows administration.
Blogs
KC's Blog is the place where Microsoft MVP and web developer Kent Chen shares his IT insights and discoveries. The rather large library of posts offer helpful hints, how-tos, resources and news of interest to those in the Windows world.
The Windows Server Daily is the ever-current blog of technologist Katherine Moss, VP of open source & community engagement for StormlightTech. Offers brief daily posts on topics related to Windows server, Windows 10 and Administration.
An Infosec Slideshow
This security training slideshow was created for use during a quarterly infosec class. The content is offered generously by shalafi71, who adds, "Take this as a skeleton and flesh it out on your own. Take an hour or two and research the things I talk about. Tailor this to your own environment and users. Make it relevant to your people. Include corporate stories, include your audience, exclude yourself. This ain't about how smart you are at infosec, and I can't stress this enough, talk about how people can defend themselves. Give them things to look for and action they can take. No one gives a shit about your firewall rules."
Tech Tutorials
Tutorialspoint Library. This large collection of tech tutorials is a great resource for online learning. You'll find nearly 150 high-quality tutorials covering a wide array of languages and topics—from fundamentals to cutting-edge technologies. For example, this Powershell tutorial is designed for those with practical experience handling Windows-based Servers who want to learn how to install and use Windows Server 2012.
The Python Tutorial is a nice introduction to many of Python’s best features, enabling you to read and write Python modules and programs. It offers an understanding of the language's style and prepares you to learn more about the various Python library modules described in 'The Python Standard Library.' Kindly suggested by sharjeelsayed.
SysAdmin Humor
Day in the Life of a SysAdmin Episode 5: Lunch Break is an amusing look at a SysAdmin's attempt to take a brief lunch break. We imagine many of you can relate!
Have a fantastic week and as usual, let me know any comments or suggestions.
u/crispyducks
submitted by crispyducks to sysadmin [link] [comments]

MAME 0.213

MAME 0.213

It's really about time we released MAME 0.213, with more of everything we know you all love. First of all, we’re proud to present support for the first Hegener + Glaser product: the “brikett” chess computers, Mephisto, Mephisto II and Mephisto III. As you can probably guess, there’s an addition from Nintendo’s Game & Watch line. This month it’s Mario’s Bombs Away. On a related note, we’ve also added Elektronika’s Kosmicheskiy Most, exported as Space Bridge, which is an unlicensed total conversion of the Game & Watch title Fire. If you haven’t played any of the handheld LCD games in MAME, you’re missing something special – they look superb with external scanned and traced artwork.
On the arcade side, we’ve added The Destroyer From Jail (a rare Philko game), and alternate regional versions of Block Out and Super Shanghai Dragon’s Eye. The CD for Simpsons Bowling has been re-dumped, resolving some long-standing issues. With its protection microcontroller dumped and emulated, Birdie Try is now fully playable. Protection microcontrollers for The Deep and Last Mission have also been dumped and emulated. Improvements to Seibu hardware emulation mean Banpresto’s SD Gundam Sangokushi Rainbow Tairiku Senki is now playable, and sprite priorities in Seibu Cup Soccer have been improved.
In computer emulation, two interesting DOS compatible machines based on the Intel 80186 CPU are now working: the Mindset Personal Computer, and the Dulmont Magnum. The Apple II software lists have been updated to include almost all known clean cracks and original flux dumps, and the Apple II gameport ComputerEyes frame grabber is now emulated. We’ve received a series of submissions that greatly improve emulation of the SWTPC S/09 and SS-30 bus cards. On the SGI front, the 4D/20 now has fully-working IRIX 4.0.5 via serial console, and a whole host of improvements have gone into the Indy “Newport” graphics board emulation. Finally, MAME now supports HDI, 2MG and raw hard disk image files.
As always, you can get the source and Windows binary packages from the download page.

MAMETesters Bugs Fixed

New working machines

New working clones

Machines promoted to working

Clones promoted to working

New machines marked as NOT_WORKING

New clones marked as NOT_WORKING

New working software list additions

New NOT_WORKING software list additions

Source Changes

submitted by cuavas to emulation [link] [comments]

Spider Indicator for Binary option  free download - YouTube GOD OF INDICATORS - 99,99% work - binary option strategy ... Best Binary Option Auto Signal Indicator// Attach With ... Best Auto Signal Binary indicator 2019-Free Download - YouTube Binary Options Free Buy Sell Signal Software 1 minute ... Best Binary Indicator + Auto-Trading software  Mt2trading ... Best Binomo - Binary option - MT4 Indicator// Trading ...

Belajar binary options lengkap dengan tutorial dan praktek. Satu telah hadir Tick Brain Untuk menjalakan aplikasi ini anda harus. Все, что нужно для эффективной работы на Forex: котировки и другая полезная информация. Settingan2 indikator diatas anda bisa pasang di Software Metatrader 4 / 5 atau bisa juga pada Aplikasi Binary ... O que são opções binárias As opções binárias são um tipo de opção em que o pagamento é estruturado para ser um montante fixo de compensação... Since 2008, investing and making money online with binary options has become increasingly attractive to investors and individuals who invest in shares, equities, currencies, and commodities. There are only two options in binary trading; hence the use of the term “binary”. It is almost like placing a bet, in that you are wagering that an asset will increase For the purposes of binary options trading, it is not recommended to use online charts. b) Downloadable charts as the name implies, can be downloaded either as part of forex trading platforms or as software standalone plug-ins. They are the best for the purposes of analysis of assets for binary options trading since they come along with many tools that augment the results of analysis. They are ... Indicador de opciones binarias ingeniería de software pregunta Ingeniero franquicia comerciantes que quieren el comercio. Corredores de oro... Binary Options for MT5/MT4 software for Forex brokers and Binary Options ... Software Engineering MT4 API Development Data price feed MT4 Trading server management NetTradeX API Development Binary options demo Crypto binary options demo. Company: Contact us About Blog History timeline Pricelist. Phone: Sales: +1.708.515.4598 Support: +1.708.515.4908. Skype: ttfx.support. Email: sales ... Disclaimer: Trading Binary Options is highly speculative, carries a level of risk and may not be suitable for all investors. You may lose some or all of your invested capital; therefore, you should not speculate with capital that you cannot afford to lose. You should be aware of all the risks associated with trading Binary Options. Binary-Signal.com does not accept any liability for loss or ... Binary options trading in currency pair will help you to understand how, when, and in which pair to trade. This strategy and course will help you to learn about candlestick psychology and my trading strategy of trading each and every candlestick of 1 minute ( 60 seconds). This course will make you efficient to trade in any market condition. Download Binary Options Trading Station for free. Spreadsheet for trading binary options. This is a spreadsheet. The user enters a price at set intervals called the period. Trading Binary Options with Agimat FX® can be done too by using the same rule as if you trade Forex. Does the Agimat FX® forex trading systems repaint? No, Agimat FX® is a non-repaint Forex trading MT4 and MT5 Market Maker Method indicator, excellent for scalping and swing trade. Many times reviews as the Best Forex Indicator.

[index] [20415] [20980] [26714] [21879] [15761] [4818] [11435] [2760] [22717] [24865]

Spider Indicator for Binary option free download - YouTube

👉👉👉This Indicator Works Only Below 2 Broker👇👇👇 Reliable Binary Options Broker with a ★Profit of up to 100%★ http://bit.ly/2sohvSu Never Miss ... Best trading platform: http://bit.ly/BINOMO_TRADING_PLATFORM Click the Link and get $1000 on demo account for free Use the promo code: PWT777 Indicator downl... Hello Trader Toady i will share you "Best Binary Option Auto Signal Indicator" Characteristics of Indicator 1. Platform - Metatrader4. 2. Asset - Show On Ind... my autotrading software can work with any indicators on mt4 to send signals to binary account (only binary.com). you can choose intrbar or next bar option , ... my auto-trading software can work with any indicators on mt4 to send signals to binary account . you can choose intrabar or next bar option , you can set mar... get trading bots contact with telegram https://bit.ly/3aR8baT get pro or free signals https://bit.ly/2N5PLrp get strategy trading, visit my twitter https://b... dsc - based on - Binary Options Free Buy Sell Signal Software 1 minute Indicator 99% Winning Live Trading Proof[2019] Read Graph Before 10Sec 100% Winn...

https://binaryoptiontrade.caternrocuhyd.ml