BINARY OPTIONS TRADING STRATEGY & IDEAS - Page 270

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]

me_irlgbt survey results! really long post! this took me 6 days! exclamation mark!

Long post. REALLY long post. buckle in.

TLDR at the end

First off, thanks to everybody who responded! There were 467 responses in total, which is amazing. I know filling out surveys online can be boring, so I really appreciate you all indulging me for this.
A few notes before we get started!
Now. Let's get started with the results.

Total survey responses: 467

DEMOGRAPHICS SECTION

AGE: 460 responses

https://imgur.com/thGOvqi
As we can see here, the majority of respondents are between the ages of 13-24, with most being 18-24. No surprise, this pretty much tracks with the general demographics of reddit. We have 3 tiny kiddos who responded, bless them. One person over 60, heyhowareyougorge. It’s interesting to cross-reference the age demographics with the type of posts we see here. I’m in my early 20s, which in gay years is like being in your early 40s, and i’ve been out for years. I see a lot of closet or coming out type posts, which I personally don’t relate to as much any more, but that totally tracks with the amount of youngins we have here. If you’re looking to karma whore, here’s the data you need.

COUNTRY: 457 responses

https://imgur.com/xwAb3g8
So, clearly very US-heavy. Again, not a surprise here for a US-based website. I would like to confess to purposefully splitting up the UK demographics out of sheer curiosity too; I’m Scottish and wanted to know how many fellow Scots I had. Happenin troops.
I also wanted to use this to see how many people were from countries with less legal protections for being LGBT. The countries in here I’d particularly like to highlight are:
Dominica, where it is illegal to be gay. Penalties include a 10 year prison sentence, or “incarceration in a psychiatric institution.” Absolutely no legal protections for any LGBT people. That’s pretty fucked.
India has no legally recognised same sex unions, no same sex marriage, no adoption, but all of these things have been proposed. some anti-discrimination laws. They have a third gender option, called hijra. Trans people do have some legal recognition of gender, which is nice. As far as I’m aware, this situation is pretty unique to India.
Qatar, where same-sex sexual activity is punished by fines, imprisonment, or the death penalty. Obviously no legal protections.
Russia, where same-sex sexual activity is technically legal, but in Chechnya, it is heavily punished. Gay people are abducted and sent to concentration camps in this region. Russia has done little to prevent this.
Singapore, where there is technically punishment of up to 2 years in prison for male same-sex sexual activity, but this is apparently not enforced any more. F/F is legal though.
Malaysia, where it remains illegal to be gay. Punishments can be up to 20 years in prison, fines, or whippings, just for engaging in same-sex sexual activity. However, a 2016 court ruling did recognise gender changes as a fundamental constitutional right, according to wikipedia.
I’d like us to take a moment to remember, especially if you’re from the US, that the fight for LGBT rights is far from over. It’s not some distant thing. Even people on this good gay subreddit could face severe punishments for their identity. If you are in a country with legal protections, take a moment to be thankful. If you can, please educate yourself on the state of LGBT rights in these countries, and see if you can do anything to help.

ETHNICITY: 463 responses

https://imgur.com/hk6KINj
Again, not particularly surprising results here. Reddit is a pretty overwhelmingly white website. I’m a full blown white person so I’m not sure how much I can really say here without verging out of my own lane. I do think we should keep this in mind however, because as a largely white subreddit we may not have so many people calling out racism when they see it. I don’t want POC to feel ignored here just because they make up a smaller percentage of our demographics, so I welcome any POC responses here as to how we’re doing with that. I personally haven’t seen too much racism, as the bigotry we tend to get is centred around our lgbt identities. Whenever I see it it tends to be anti-black, and usually confined to usernames. I do try to ban that whenever I see it, but I’m only one person, so I do rely on you to report things to me!

GENDER: 467 responses

https://imgur.com/GOMLltE
https://imgur.com/BY9eRfU
Now, this is the one I’ve had to go in and fuck with. This, and all the other charts, are basically just the raw data in visual form. The chart above is each individual response, allowing for those who selected multiple options. So, rather than counting every time someone selected “male”, then “nonbinary”, etc, it’s counting every time a person selected “male + cisgender,” “nonbinary + queer”, if that makes sense.
This chart here is the one I’ve fucked with, that just has the amount of times an option was selected.
https://imgur.com/ejdAKm9
I basically simplified the data here. Whenever someone said something like unsure, unknown, etc, this was put under “questioning”. The “other” responses are the only ones that received significant editing. These were long-form responses that could not be parsed into simple answers, so here they are in their entirety.
Now, I could probably have parsed them into other categories, but honestly I thought this was more entertaining.
Some important things to remember when reading this data! * I collected it pretty poorly. I wasn’t aware of how google would collate it and i done goofed a bit. Take it with a pinch of salt. * once i “simplified” the data to look at how many times each option was selected, I ended up with almost 800 pieces of data. You’ll recall that only 467 people responded to the survey, so there is significant overlap. This is why I'm showing you two versions. The crossover is not fully clear, and there’s probably ways I could process this data better, but i’m gonna be real with y'all it’s a lot to wade through and I'm honestly just bad at this * This question allowed people to choose as many or as few labels as they wanted. Some people listed their gender as just “transgender” with no other qualifiers, for example. Therefore this data should be treated as only a partial picture of the gender demographics of this subreddit

PRONOUNS: 464 responses

https://imgur.com/lsP8661
Again, I arguably messed up on the collection of results here, BUT, I do think it’s very interesting to see the combinations of pronouns people use. For example, I think it’s cool to see that, among those who use they/them pronouns
Now obviously it’s gonna be difficult to argue for these results to be generalised to the population at large, but this does support what I’ve seen anecdotally for a while; neutral pronouns are often used alongside non-neutral pronouns. We might not have seen this if I had been a better researcher.
Here is the version with my own editing, simplification, and parsing of “other” results:
https://imgur.com/6sR4w3U
Other results are as follows, presented without comment
Among neopronoun usage, we have specific examples of: * ve/ver * it/its
If we put this alongside the “other” responses that indicate neopronoun usage, we can say that 5 of our respondents use, or are comfortable using, neopronouns.
I think this is an interesting point to highlight, because common transphobe rhetoric is that people are using a “confusing” variety of pronouns. We have a generally trans-friendly sub (at least I hope so), and out of 464 respondents to this question, only 5 people indicated neopronoun usage. Could it be that this line of thinking, that people are using confusing newfangled pronouns, is just an uninformed scream from the ignorant?

SEXUALITY: 467 responses

https://imgur.com/CXVxEKc
Again, raw data. For this one I don’t feel it’s super necessary to go in and parse out who picked multiple things, because the data here seems kinda straightforward, if you’ll pardon the pun.
We have a lot of bi and pan people here. Again, it’s difficult to argue for the generalisation of these results, but this does support evidence of bisexual people making up the majority of the LGBT community. If we compare this to the by now well known findings from the Kinsey institute, this does support the belief that most people are likely neither a Kinsey 1 or a Kinsey 6, but somewhere in the middle. It’s not directly comparable because I didn’t use the same metrics, but it’s interesting to think about.
I also think it’s interesting to see so many straight respondents. Of course, this could just be trans people who are straight, but I know from the comments I’ve received that some people who responded are totally non-LGBT, just allies.
Also, shoutouts to “an absolute mess” and “just desperate for love”. Same, babes.

EDUCATION: 461 responses

There were enough “other” responses that I felt like I needed to go in and take those out, so here’s the raw data before I did that.
https://imgur.com/eguYGeK
And here is the simplified version
https://imgur.com/DZClNVV
Here are the “Other” responses
My favourite response is “IDK not american”. As we all know, education only exists in America.
Anyway, this pretty much tracks along the age demographics. With a population mostly aged between 13-24, it makes sense that the majority are high school or college educated.
Of course, it should be kept in mind that not everybody’s education is a linear or traditional experience, and won’t completely track with our age demographics.
Shoutouts to the 3-4 people with PhDs tho, mad respect.
And that wraps up our demographics section! Onto some of the cool shit.

PERSONAL LIFE SECTION

POLITICAL ALIGNMENT: 477/467

https://imgur.com/TUQNBVJ
Here’s the raw data. As you can see, there’s a lot of write-in responses. If you’ve spent any time hanging out on this subreddit, I don’t think it’s any shock to see how overwhelmingly left-leaning we are. I think this sort of goes with the territory of being an LGBT subreddit though, we do tend to develop liberal politics as an attempt to avoid homophobia and transphobia, and then from there it’s easy to fall into leftist politics, especially on places like Reddit.
Simplified data: https://imgur.com/isja5Kc
Other responses:
  • Don’t have these words in AUS
  • I have a hard time understanding all the different words, but I know I’m the opposite of Donald Trump
  • LibCenter
  • anarcho-communist
  • social libertarian
  • Hard to say since these terms mean slightly different things in different places/political climates
  • Whoever isn't a racist bigot
  • slutty sjw whos ready to bust a fat nut and shoot capitalists
  • angry *Governmental axis: libertarian. Economic axis: centrist. Social axis: progressive
  • I don't have a strict political alignment, I just think that every politician can have good ideas whatever their alignment is
  • I vote based on the current goals of each party
  • regulated markets, welfare capitalism, taco trucks on every corner. thank you for coming to my ted talk.
  • Whatever is Civil Rights
  • leftish antiauthoritarian
  • no one changes anything but rich mens pocket books
  • Progressive
  • Green
  • Prefer not to say
  • Independent
We’re clearly a very left-leaning subreddit here. I think it’s interesting that out of a total of 447 responses, only 9 disclosed that they were on the right-hand side of the political spectrum. Is this because only 4% of people round these parts are on the right, or is due to an unwillingness to identify with conservative politics, even on an anonymous survey? Difficult to know for sure. Interesting data tho amirite.
Also whoever answered “slutty sjw whos ready to bust a fat nut”, same girl

RELIGION 460/467

Raw data: https://imgur.com/oQQWZH9
Again, a fuckfest here, but even before we go in and parse things out we can see that 336/460 indicate atheist or agnostic beliefs. This sort of goes along with my hypothesis/unscientific belief that a majority of LGBT people are non-religious, or will find religion themselves later on. I personally would love to do research on the prevalence of found religion in later life, especially pagan/wiccan type beliefs, in LGBT people. I think a lot of us do really desire that sort of connection to spirituality, but can’t always get it from the religions we were raised in. This is from my perspective as a western white person raised around christian/catholic beliefs; I know there’s differences with, for example, Judaism, where it’s fully baked into the culture to question and argue with your own beliefs, so I know there’s a hell of a lot of cultural bias going into this assumption.
Simplified data
https://imgur.com/FimSsoh
I’ve kept Atheist/agnostic as separate categories, grouped the different Satanism responses, and again created an “other” category.
Other responses:
  • Both Christian and agnostic
  • Dragons
  • exmormon
  • I don't believe in a conscious force making decisions, but there is some sort of force underlying the physical world
  • idk man. dudeism?
  • Its a mix
  • Meh
  • None (not explicitly atheist or agnostic, just...ehhhhh)
  • Unitarian Universalist
  • Science Christian
Given that this is Reddit, I’m not surprised by the high amount of atheist/agnostic responses, given that the site still has a strong legacy left behind by the glory days of /atheist. With this bias in mind, I do still think this presents a compelling basis for further research on the religious affiliations of LGBT people.

RELATIONSHIP STATUS 465/467

https://imgur.com/vcrZae3
This one actually didn’t require much fucking with, so I’ve just presented the gently simplified data.
Other responses
  • In a queer-platonic relationship
  • I walk a lonley road, the only one that i have ever known.
  • I’m not really sure rn
  • It’s complicated
  • In a polyamorous relationship
  • I have a domme
  • Polyamorous
  • On a crash course to divorce :(
Wow we’re a single lot aren’t we
Honestly I think this correlates with the age demographics. If I were a better data analyst I’d go in and confirm this with the data, but I’m not, so I won’t. Knowing that we have a lot of younger people, who are more likely to have either no relationship or a frequently changing/unstable relationship status, this kinda seems about right. It would be interesting though to compare this with relationship data from other LGBT communities. I think we all know the struggles of finding available partners, especially when you are, as the data suggests, in high school or college. It’d be interesting to see if the high rate of single people here is due to a desire to seek out other LGBT people in order to gain a sense of community as well. Maybe LGBT people in a relationship feel they already have enough of a sense of community and belonging and are therefore less likely to seek out LGBT spaces online. That’ll require some good qualitative data tho which is time consuming. Could be really cool tho.

THOUGHTS ON TERFS 463/467

Raw data: https://imgur.com/CQ2hSu4
This was a big question. There’s a lot of write-in responses here, so I’ll go through those.
Simplified data
https://imgur.com/YwNUYsR
Other results, presented without comment
  • accept everyone or get the fuck out
  • Confused
  • Fuck TERFs
  • Fuck TERFs
  • Fuck TERFs
  • Fuck TERFs
  • Fuck TERFs seriously
  • Fuck them with the rustiest rake you can find
  • Hate them
  • [Dislike] However, I do not condone jokes of violence against Terfs
  • I don't even know what that is.
  • I don't know or care what that means
  • I hate them so god damned much even the mention of the word terf makes me wanna punch a *wall then vomit.
  • I have never heard of this
  • I have no idea who they are
  • Idk bout them
  • liquidate them
  • Never heard of them
  • Not sure exactly what that means but if I understand it right I dislike them because I support transgender people
  • punch them
  • strongly dislike is not enough
  • [just a transphobic pro-terf comment]
  • strongly dislike isn't strong enough.
  • TERF is a slur lol
  • terfs r trash
  • They can go to hell
  • They have no place
  • Too little experience with them to form a meaningful opinion
  • we should set them on fire
  • trans rights babey
I think this is a pretty conclusive result. Of the 29 “other” responses, 20 of them indicate Dislike to Strongly Dislike. 5 respondents said Strongly Like, and 1 said Like. These respondents were the only ones who also put in positive “other” responses. 82% of responses were Strongly Dislike.
This is honestly going to inform my moderation style. I always remove outwardly transphobic comments, especially if they mirror the “rational people” comment in the responses above. However, seeing such a strong dislike of TERFs will likely mean I’ll remove more comments that are gently TERFy but not as explicit.
I do want to reiterate, this is a feminist space. I personally am a strong feminist. I hold some more radical feminist views. I also believe trans women are women, they have a place in the feminist movement, and in women’s spaces. You can absolutely be a trans INCLUSIVE radical feminist. Feminism is almost useless without intersectionality. Trans people are valid and welcomed here. Transphobia will never be tolerated here. Not up for debate.

THOUGHTS ON TRANSMEDICALISTS 460/467

Raw data:
https://imgur.com/rWZFUBp
Again, lots of write in responses. Same script as last time
Simplified data:
https://imgur.com/sQro5dq
Other results
  • At first glance, this notion makes sense to me, but I know to little about the issue to form a meaningful opinion
  • Dissagree w/ but not dislike as people
  • Don't know whether they're right or wrong since I'm not trans therefore can't confirm shit
  • Fuck truscum
  • Fuck truscum.
  • I can understand where they're coming from, but i think it's a harmful ideology all the same
  • I don't agree transition is necessary, since sometimes staying in the closet is the only way to survive. But dysphoria of some kind is necessary.
  • I don't understand how people can be trans if they've never experienced Dysphoria. Not being a dick, i just can't find an explaination.
  • I get where they're coming from
  • I have no opinion. If somebody says they're trans, all i want are their preferred pronouns.
  • I haven't heard about this before, I'd have to read up on it before giving an opinion!
  • I just need to shout about the exclusionary nature of the stance
  • I think dysphoria is necessary, but not medically transitioning
  • I’d err on the side of caution because it sounds like it could be ehhh. I don’t know enough about *the trans part of the LGBT+ community to properly answer this one
  • I’m not sure about them yet
  • It isnt nessacsry but many people do experience it
  • N/A
  • Neutral as long as they aren’t excessively pushy or rude about it.
  • New to this concept tbh
  • No opinion
  • Non-binary trans is still trans.
  • Not enough reading or research done on my part to have an informed opinion
  • Not familiar with this topic enough to say
  • punch them too
  • Therapists should treat it
  • There is background to their points but their attitude stunts progress for all trans people
  • they're very flammable too
  • trans people are trans regardless of what gender affirmations, if any, they choose to undergo. ❤️
  • trans rights babey
  • uncle terfs, more or less.
  • Unknown
  • wanting to be a different gender = gender dysphoria, so 90% of the time transmedicalism is just *pointless gatekeeping
This is the one I definitely needed trans people’s opinions on. I am cis-ish (androgynous butchy lesbian who occasionally likes a cheeky they/them pronoun but is for all intents and purposes a woman/dyke) and so feel entirely unqualified to weigh in and decide which side of the issue is “correct”.
  • 56.2% of responses indicate either Dislike or Strongly Dislike transmedicalists
  • Of the “other” responses, 15/29 indicate a dislike or disagreement with transmedicalist ideology
  • There is a large amount of “neutral” or “no opinion” responses. I can assume a lot of these are from cis people who, like me, feel unqualified to weigh in.
This is also likely to inform my moderation style somewhat. Again, I always remove blatant transphobia when I see it, and this includes anybody stating that nonbinary people are not valid, not real, etc. From these results, I’m going to assume this is the right move, and continue with this strategy.
I personally lean towards not believing in transmedicalism. Some of this may very well stem from my feminist views, but I generally think gender is extremely fluid, and that labels are only worth what the individual believes they represent. If any of you have an understanding of sociology, I tend towards a Weberian/symbolic interactionist approach towards labels in general. Therefore I believe whatever a person identifies as is probably the right identity for them, regardless of what I may think of it. This isn’t necessarily relevant to your understanding of the survey, but it may be relevant to your understanding of my moderation actions.
That wraps up this section! This was a long one, thanks for sticking with us <3

ME_IRLGBT OPINIONS

THOUGHTS ON THE SUBREDDIT 457/467

https://imgur.com/VUwfXtq
Finally, some data i don’t need to fuck around with. Note to self, do more ratings like this.
Obviously as a mod I’m happy to see that opinions trend above 5 here. The average score we’re getting here is 7.87 (2dp) and honestly, I’m down. If that was a movie on IMDB, that shit would be a pretty well-received movie. The most frequent response here is 8/10, and most responses are between 7-10, which tells me people generally enjoy hanging out here. I know there’s always a strong chance for bias here, because the people who are likely to respond to a kinda long survey for a subreddit are likely to be people who either really enjoy it, or really don’t. However, even with that bias, I’m gonna just take the W if that’s cool with you.

THOUGHTS ON MODERATION 445/467

https://imgur.com/pmkKyuC
Slightly lower trend than overall subreddit opinions, but the average is almost the same at 7.73 (2dp).
Since sending out this survey I have made some slight tweaks to my moderation style, as well as making some additions to the automoderator. We’ll chat about that later. I’m glad the overall trend here is positive though; I don’t want this to be a place where you all just end up resenting me.

DO WE NEED MORE MODS? 428/467

https://imgur.com/gwZuKtM
Other responses:
  • 🤷
  • don’t care
  • I don't know. I'm new to Reddit
  • i dont have a reddit account, and i very rarely check comments. I dont think i'm the best person to answer this.
  • I dont pay attention enough to say
  • I just discovered this subreddit like yesterday so I don't really know
  • I think we need mods who do more than just let people police the sub themselves. We may only need a new mod if the current mods don’t change how they mod. Respond to reports is what I’m saying (I don’t see almost any removed comments ever)
  • Idk
  • idk i just enjoy the memes
  • idk im just lurking here
  • Idk. How many moderators do you have?
  • if they're good moderators
  • maybe? i think a little more mod participation would be cool. just seeing admins in comments laughing and joking along with us, and sharing in the memes. i enjoy the hands-off approach but that doesn't mean i don't ever wanna see more mods chilling out and sorta like.,..... making their presence known and joining in on the fun!!! yknow it makes it feel safer
  • no idea tbh but it seems to be running ok
So the general answer here is that we maybe need more mods. Far more people said no than said yes.
Personal interpretation is that people may have felt more comfortable answering “maybe” than answering “yes”. I know that having one active mod for a 90k subreddit is not usual, and by now most subreddits will have gotten a couple more people in. I won’t speak for parlayv but, if you think i’m hands-off, she’s like, not even got hands. Hands not on this plane. We did create the subreddit together (IIRC I came up with the name and she was like “omg that needs to be a subreddit” and then, all of a sudden, it was) but I’m the one who pretty much runs it. I don’t think she’d take issue with me saying that. She’s too busy playing runescape and smoking weed anyway lmao
So, given the general results, I will look at bringing more mods on. I’ll probably pull from people I know first, and if that doesn’t work, may open up applications later. If this happens you’ll all know about it.
I’ll address some of the comments at the very end. Your concerns are not going unnoticed!

THOUGHTS ON RESEARCHERS 459/467

https://imgur.com/Px4XqGQ
Another very similar score, but this time the most frequent response by far is a 10. Average score is 7.84
This one was kinda important for me. I made the decision to allow researchers to post their surveys here. Full disclosure, when researchers come to me in modmail, my key concern is that they’ve followed all ethical procedures. So far, every single one has been done through a university in an official capacity, which means they have to prove they’ve gone through the ethics of their work and it’s been approved before they can even start researching. Whenever I’ve checked them out they seem completely fine, and I’ve so far not received any complaints, which makes me feel good.
I personally believe research is incredibly important for us to understand ourselves, as well as other people. I’m obviously biased as hell here because I’m a social sciences student but the whole reason I’m interested in this field is the benefits I believe it can bring to us. So if it’s cool with you all, I’m going to take this result as support for research posts. For now I don’t foresee any issues with frequency but we’ll revisit this if that becomes a problem. I’d like to give you all a sincere thank you for your positive reception to these posts <3

SHOULD WE BAN TERFS OR TRANSMEDICALISTS? 461/467

This question specified “regardless of rulebreaking”, meaning should they be banned on sight if they say they identify as either a TERF or a transmedicalist. I also meant if they posted in TERF or transmedicalist subreddits, but I didn’t specify this, so I won’t use that in my analysis of this data.
https://imgur.com/o1fevKC
Other responses
  • Allow them only if they don't say anything transphobic on me_irlgbt
  • ban 'em when they post inflammatory stuff to bait responses
  • allow transmeds to flair their posts/create separate sub
  • only ban Transmedicalists if they’re being dicks about it
  • don't know enough about transmedicalists to say
  • Ban transmedicalists, do not ban TERFs
  • Definitely ban TERFs, I just don't really know much about trans medicalists, so I feel weird making a definitive statement about them.
  • Definitely ban TERFs. I’m neutral on transmedicalists
  • Forum should not be allowed to become a hostile environment. They can easily do that.
  • I don't know the context behind transmedicalists but if they're anything like terfs then yes ban them
  • I think a distinction must be made between hate and ignorance. Obvious hate should naturally be answered with a ban, but rule-breaking content arising from possible ignorance should be met with a removal, private warning and, most importantly, directing the poster toward resources to educate themselves.
  • I think there is more ground to talk with transmedicalists but that I would prefer not to deal with them. TERFs should be banned regardless of circumstance.
  • I’m not sure how i feel about just “banning” people but i disagree with them both
  • if being mean
  • If making people uncomfortable
  • If they are strongly voicing there options, even in other sub, that may be harmful.
  • Keep them on a shorter leash
  • Maybe? Or at least make posting that stuff against the rules
  • No opinion
  • Only ban when breaking rules, but dismissing trans women & gnc/nb trans peeps should be against the rules
  • Only if they are putting forth their beliefs in a way to claim that people are not valid.
  • Still don't know anything about the transmedicalists but ban the terfs
  • TERFs have no rights and should go. Transmedicalists are... Kinda difficult? I used to consider myself trans and sorta get where they're coming from. I think it's just a generational issue? I don't think they should be banned outright, like TERFs should, but it should be made very clear that MeIRLGBT isn't the place to discuss that
  • Yeah, but only if you are sure they are terfs/transmed
  • yes, because they're harmful to trans communities and this subreddit should be safe.
Again, a generally anti-terf attitude, which is expected from previous questions.
Once again, this is mostly to inform my moderation style. I am hesitant to ban people because I don’t want to be seen as a powertripping mod out to get everybody. These results, alongside the other terf/transmed ones, are kind of encouraging me to take a slightly heavier hand than I currently am. Again, some specific responses at the end!

WHAT WOULD YOU LIKE TO SEE MORE OF? 98/467

This was complete free-entry, so I’ve gone in and grouped a bunch of the responses together.
  • Ace content: 3
  • Bi content: 4
  • Less bigots
  • Positivity/wholesome shit: 4
  • Trans content: 5
  • Commie shit: 2
  • Garlic bread: 2
  • That Gay Shit: 13
  • OC
  • More activity in general: 5
  • POC content
  • Memes: 25
  • NB content
  • Questioning content
  • Women
  • Intersex content
  • Surveys: 2
  • allowing different titles
  • mod posts for awareness days (ie bisexuality awareness, TDOR, etc)
  • more response to reports
  • peace, love, and understanding
  • a monthly challenge to make themed memes
  • clarity as to what this neat little subreddit is about
  • support threads/posts
Other responses were generally just “nothin, we good”, so that makes up the rest of the responses.
Further answers at the end!

WHAT WOULD YOU LIKE TO SEE LESS OF? 75/467

  • ”Hello gays”. Not everybody in /me_irlgbt is gay.
  • [i removed these comments for being transphobic lol]: 2
  • trolls/bigots: 21
  • That Het Shit: 3
  • That Gay Shit
  • surveys
  • reposts: 6
  • text posts
  • non-meme content: 6
  • baby yoda
  • Capitalism.
  • Christmas decorations in October
  • Contrapoints memes
  • self-deprecating humour: 2
  • equating tops/bottoms to personality or body types. this isn't yoai it's real life, and i know this is more of an overall issue with the gay community but it's pretty prevalent on this sub
  • MYSELF
  • i hope the rest of your day is the best of your day.
Okay to the people who said they want less of themselves and less gay shit you are in the wholeass wrong place are you okay
Reposts seem to be a common issue. Could you lot do me a favour and post in the comments what you think are common reposts? I come on and browse the sub but I really rely on things you report to me, so I don’t always see common reposts.
As far as specific content you don’t like, I’m afraid that’s gonna be a self-directed thing for yall. Downvote the non-rulebreaking content you don’t like and hopefully people will get the message!
Lol @ the one person who said less surveys. Ur in one. Cant stop wont stop x

ANYTHING ELSE TO ADD?

ily, thank you, etc
This shit sweet as hell thank you for taking the time to add it in at the end ily
“all my answers need the addendum of “I am an idiot, and there are many things I don’t know”
Gurl same
Hi
Hi. how u doin
I am a gay
Absolutely. We love that for you.
[bee movie script]
Hi. no. dislike.
Comrades! You have nothing to lose but your chains!
There’s like 5 of you that said this and i love it
imagine being sega and not working towards creating and publishing a new jet set radio future game; absolutely criminal
Imagine being sega. Can’t relate
Perhaps a link in the side bar we can click to escape the subreddit, especially on mobile if possible.
Honestly not a bad idea. I’ll look into this.
Please just add the QA to the name. It’s 2 letters
I’m sorry, i can’t change the subreddit name. I’ll add it to the sidebar tho <3
Sexual attraction is bourgeois
Idk what this means but it is now one of the central tenets of my faith
Thanks for all the “other” options
You’re welcome it made like, 100x more work for me, but i kinda like that we have a smidge of qualitative data alongside all the quantitative shit.
Thanks for letting me participate despite my non LGBT status
Thanks for being chill!
You people need to calm down. I can sense that this energy primarily comes from North America, so I will explain. The level of discrimination and the lack of basic human rights are so extreme, people cannot stand it anymore even if they are not fully aware of these subconscious vibes, so they need to pull extremely in the other direction to make up for this. And hence you have this kind of subculture that emerges as result. The problem is that, you people are as bad as the other end of the problem because you're as extreme, and it translates into over the top aggression and people so insanely touchy they see an attack in absolutely everything, even if they are not being attacked. Become aware of these energies, and chill.
Gurl are you like okay? Do you need a lie down? Some fruit snacks? Everything okay at home?

ADDRESSING COMMENTS

“I think we need mods who do more than just let people police the sub themselves. We may only need a new mod if the current mods don’t change how they mod. Respond to reports is what I’m saying (I don’t see almost any removed comments ever)”
I’m gonna hold my hands up here, I have generally sucked ass at this. I rely almost completely on you lot reporting things to me, but for the longest time I had a big ol mod queue that was just overwhelming to look at. I’ve made changes to this in the past few weeks, including
*expanding automod scripts. Automod now deletes certain slurs automatically, as well as any comment that might be mentioning or encouraging suicide. This is a big help because obviously trolls will rely on their old faithful slurs. I was hesitant to do this because I think we all have a right to slur reclamation, but I think the benefits outweigh that right now. *I got a fancy new mod plugin! It’s called toolbox, and basically just tells me whenever a new post is made so I can approve it or not, and it tells me when I have new reports. It’s made the whole experience less stressful *I spent a day addressing all the shit in the queue. The subreddit used to be like, full anarchy, so there were reports going back 2 years. Again, I take responsibility for that. I’ve been a shitty mod and I am addressing that.
I hope these changes help address those concerns.
” i think a little more mod participation would be cool. just seeing admins in comments laughing and joking along with us, and sharing in the memes”
I’ve honestly been thinking about this comment for a while. I try to avoid posting here because, again, I’ve seen a lot of criticism of mods who participate too much in their own subs, especially when they distinguish their posts. I don’t wanna look like a dick, yknow? But I like this comment and I’m gonna try and just hang out with you lot more <3
Mod posts for awareness days (ie bisexuality awareness, TDOR, etc)
I kinda think this idea slaps. Does anybody have a calendar of important LGBT dates? I think we could tie this into the other comment about challenges for themed memes, where appropriate.
Clarity as to what this neat little subreddit is about
Me_irlgbt is a queer shitposting subreddit. It’s generally for memes and queer fuckery. Not selfies. That’s about it.
Support threads/posts
Okay, so, the reason I’m not going to do this is because I feel that if I post a thread for support, I then have a duty of care to anybody who posts in it. I do not have the capability, time, or knowledge to provide that duty of care, so I feel it would be strongly unethical to do this, regardless of how good the intentions are. I think it’s a well-meaning idea, I just wanted to clarify why I’m personally not comfortable with it.
Not everybody in me_irlgbt is gay. Can we have more inclusivity?
When I use “gay” on this subreddit, especially if I’m referring to the general mass of users, I wholeheartedly mean it in a community way. Like, “we, the gays” as contrapoints once said. You are welcome here. This isn’t the only response along these lines, so I will keep it in mind when making changes.
And we’re done! Holy shit that was a long post. This has taken me 6 days to edit. Again, reiterating from the top, I’m not an adept researchedata analyst, so I’m sure many people could’ve done a MUCH better job looking at these results, but I think this will do for now.
Thank you so much to everybody who responded. It’s been really interesting for me to have a look at this, and pretty cool to get to fuck around with all this data. Thank you ilysm <3

TL;DR

  • The population on this subreddit trends young, mostly 18-24
  • Most people live in the US
  • Most people are white
  • We have slightly more male-identified people than female, but not significantly so.
  • Roughly a quarter of respondents are trans-identified.
  • Most people use she/her or he/him pronouns. Around 18% use they/them, with the rest “other” or neopronouns.
  • About 60% of the people here identify as bisexual or pansexual, 17% lesbian, 16% gay, 17% asexual. These responses do overlap with many people using multiple labels for themselves.
  • mostly high school or college educated, which makes sense with the age demographics
  • overwhelmingly left-leaning politically
  • generally positive feelings towards the subreddit/mods
  • mostly atheist/agnostic religious views
  • 74% of respondents are single/not in a relationship.
  • 88% of respondents do not like TERFs
  • about half of respondents do not like transmedicalists, but 28% are neutral
  • 60% of respondents think we maybe need more mods
  • other responses just need to be read lol
submitted by lowkeyterrible to me_irlgbt [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]

Chromie's latest rework - a mathematical breakdown, where it failed, and what it can improve on moving forward.

So, as I'm sure some of you have noticed, I post a lot about Chromie, and frankly have for a very long time. To clear the air about my position and expose any bias I might have, I will state that I don't think the hero has ever been OP or "unfun to play against", probably because I played her a lot and thus when going up against one on the enemy team had a pretty good idea of how they would play and how to counter them. I do respect the viewpoint though, and that's why my upcoming post on her rework and possible changes that could be made to it does it's best to keep that in mind. I'm not even close to GM, I'm not even the highest-leveled Chromie on this sub by a long shot, I'm just someone super passionate about the hero who nerded out over the past few days and did some MATHS and shit.

Thus, the stated goals of this post:


-Make Chromie more fun to play for the people who enjoyed playing her prior to this or other reworks. From my general anecdotal experiences in various Twitch chats, it feels like most players including many former pros and GM players say that while the hero is stronger numerically, she's much less fun to play, and IMO her pick rate sitting at a fairly lackluster 11% in Storm League confirms that. She only has a 50% winrate, so it's also clear that she's not excelling even when played by those still enthusiastic about the hero or in situations that would be good for her to be drafted, as is the case with most niche picks. She's not the WORST hero in the game by a long margin, but if the dev comments on her 8-28 buff patch are any indication, it's clear that Blizzard's internal data probably has her struggling a bit too.
-Make her emphasis fully on spells rather than her current combination of spells and sand clone auto-attacks. She's a mage hero, and one with the longest range in the game. Nobody plays her to be a right-click bot, and yet right-clicks are a pretty big part of her damage - more than half her Q DPS if we're being exact here. This obviously isn't Whitemane rework levels of AA-focus, but it's still pretty high and if we look at other mage AA talents as any indication, it's obvious that people don't prefer or like those talents and prefer the focus for mages remain firmly on their spells. Yet because Chromie's AA gimmick is a baseline part of her kit, and not just an individual talent, obviously other parts of her kit were made deliberately weaker to compensate for that. I'd like to see that addressed, and think it would go a loooong way towards achieving stated goal number 1, which is to make her more fun to play.
-Buff her slightly in ways that aren't straight numerical changes. See my above point about why she could probably use some slight tweaking. I think throwing numbers at Chromie is exactly why her last rework (with Temporal Loop/Timely Surprise one-shot shenanigans) grew to be so problematic, and I don't want to see that become the case here and see this sub fill up with posts again about how she needs to be dumpstered. Frankly she's finally almost at a good place in the game and I think with some slight changes she could basically be almost perfect, or at least as perfect as she can be without pissing off people en masse.
-Fix her problematic level 1 and level 18 talent tiers. There are no real choices at 1 or 18, and I personally think this is a shame because if those tiers were fixed, the hero could actually have THREE separate, viable builds IMO - a Q build, a W build, and a generic "spellpower" build that doesn't hyperfocus on either ability but rather buff them both mildly.
-What these changes are NOT proposing are increasing her burst, range, or other factors that players typically associate with frustration when playing against her. I can't stress that enough. I think her current damage is fine for the most part, albeit a bit too reliant on Q pierce at 18 to do anything meaningful. I think Loop is a nice setup ability but the full one-shot potential behind it again, isn't realized until 18 and even then only on the squishiest heroes in the game. As I've said already, Chromie is MOSTLY fine and my goal isn't to make her OP, just improve her talent diversity on certain tiers and make her a bit more fun to play for people who liked playing her previously.

The numbers breakdown:

-Q = 122 damage per second, reliant on a line skillshot that can be blocked by PVE, structures, or other enemy heroes other than your intended target. 20 mana cost, 15 range. Q damage per second calculated assuming you land both the primary Q missile as well as the sand clone Q missile that does 40% damage.
-W, assuming all 3 drops land on a single-target = 43.71 damage per second. Unlikely that all 3 drops will hit, however has the benefit of being AOE. That said, even assuming a unicorn situation where all 5 members of the enemy team potato into all 3 hits of the ability it is still only a baseline 218.55 DPS...that's sad, IMO. Slightly less than double damage per second compared to hitting both Q missiles, a situation that is far more likely to occur, though obviously significantly more mana-friendly due to W's cooldown vs Q's cooldown. 65 mana cost, 13 range, but due to the nature of the vector can reach around 21 range (rough estimate). I wouldn't consider the max range that valuable given the drop delay - enemies will be able to predict the drop of the third hit and dodge it completely, making that range useless.
-AAs = 76.5 damage per second during Q setup period (basically casting a Q first to set up the sand clone), then 114.8 damage per second for every second thereafter, point and click, can't miss barring blinds or evade abilities/talents. No mana cost, 7.5 range.
So we can already see two things: number one, that Chromie's AAs are not an insignificant part of her damage, even assuming you are a god and can constantly land both the primary Q missile AND the secondary Q missile, and number two, that her W unless operating under basically impossible conditions is very lackluster damage-wise. This leads to a pretty boring playstyle where your Q feels like a clone setup for braindead free AA damage until level 18 when suddenly your power spikes off the charts, and your W feels like something you just use for waveclear, and MAYBE to pressure an enemy team in a chokepoint.
A "waveclear-only" ability isn't strictly a problem for a mage except that Chromie's has the unique advantage of getting completely dicked by long CC chains - unless someone is actually capable of moving you will only hit someone with 2 W hits (there's a small Venn diagram area where the hitboxes of two Ws overlap). This "Venn diagram" area is actually so small that you cannot fit two hero hitboxes into it, meaning you'll only get that particular value on a singular target, even if there are multiple people caught in something like a RoF/Mosh Pit. Other mages do not have this issue, not even Gul'dan due to the size and drop speed of his vector spell. Note that I use Corruption as the comparison here because not only are Corruption and Dragon's Breath both triple-drop circular vector spells, they also share an identical cooldown and identical damage on each hit (lmao). The original comparisons to new Dragon's Breath being "Sand Corruption" were not far off, even though Chromie mains were called hyperbolic for saying as such.

Fundamental problems with Chromie's rework:

-To put it simply, auto-attacks on sand clone are too strong and thus make the level 1 Q talent where you gain a third sand clone auto-attack too valuable to pass up. They also make Mobius Loop at 5 wholly unappealing because it does fuck-all for your sand clone autos, though Proper Greeting and Bronze Talons mathematically both have their strong suits and have a healthy competition with one another (tl;dr Talons is good if you have a target you want to hit who is unlikely to be affected by CC or your spells and the enemy has an easy fat target like tanks/Azmodan/Fenix that you can nail with Q to get the proc - so basically hypermobile heroes and heroes with spell shields who can pop them to as a response to Proper Greeting procs, OR in comps where you have literally 0 CC outside of your own Trap slow and Slowing Sands).
-Because the level 1 Q quest is so good, it basically makes taking Piercing Sands at 18 somewhat inevitable to get maximum value out of the triple Qs you can set up. Bear in mind, I think Chromie's Q hitting PVE was fundamentally a nerf and I don't think it was a good idea in retrospect. I get that the goal was to "increase counterplay/reduce frustration" by making it so that players could juke behind minion waves or their buildings and not get gibbed over walls and whatnot, but because of this change the hero is now very reliant on her AA gimmick to deal consistent damage AND you could argue that she honestly doesn't feel like a real hero until you get pierce at 18. Regardless, I understand that this change is probably here to stay and I think there are ways we can work around her jank power distribution while still keeping the PVE Q block in. (More on this in "Proposed Changes" below.)
-Building into W just feels like shit because of how lackluster the damage is. It's clear that her power pie was distributed based on the rare unicorn chance that she will hit all 3 Ws on a single target, but given the winrate and pickrate of W talents we can honestly see that this isn't a winning strategy, especially when Q gives you more consistent value (and probably would even if sand clone AAs were removed tbh). To clarify, W would have to hit at least 6 times (as in, any combination of players in any combination of hits that would equal 6) to match the DPS of just Chromie's primary Q missile...saying nothing of her sand clone AA damage and secondary Q missile damage. Obviously Chromie talenting into W doesn't mean she can't use Q, so I did the math on simply the bonus 3rd sand clone AA and tertiary Q missile, and landing each one is an increase of 67.66 DPS. W talents are only an increase of 32.14 DPS, though bear in mind this is for 3 hits on a single target only. Here's where it gets stupid: the third sand clone AA by itself is an increase of 32.8 DPS. This means that unless you are consistently hitting at least two people with W for multiple hits of the ability or you simply cannot stay in 7.5 range to AA* at any given time it is universally better to build into Q talent at 1 solely for the extra AA, even if you never land a single tertiary Q missile in your goddamned life. See where this is a problem?

The Proposed Changes (aka the meat of this post):

Suffice it to say, I think Dragon's Breath at this point needs a fundamental change to its design to not only be effective at what it is supposed to do, but also in general just to be fun to use. Its current design is a move that largely punishes potatoes or players stuck in a "no-win" situation where they either have to eat the second and third W hits or face greater threats like CC chains for trying to facetank it by not moving during the first hit. My proposed change is to simply turn Chromie's W into a single ability with 3 separate charges, keeping its current damage, radius, and drop speed, giving each charge an individual mana cost and allowing all charges to return at once similar to Junkrat Q/Zarya grenade. What this does by default is make W talents more appealing by allowing good Chromie players who can "read" their opponents correctly the option to build into that move and deal respectable damage, especially as an alternative to matchups where Q may not be a reliable source of damage (into summoners, Anub'arak, Nova/Samuro/Rexxar, etc). What this would NOT do is bring back Loop one-shots, because with a .75 drop delay the Looped target will only eat one charge of the damage same as they do now...they will have to be more careful on how they move immediately after Loop though to make sure Chromie doesn't read their movement and plop another in their path. I think this is a fair change, even if it comes with slight numerical nerfs to W to compensate. (I don't think she will need this though due to other proposed changes I have below.)
To follow to that, I think that the sand clone gimmick should either be scrapped, or if nothing else the AA component of it needs to be removed. I actually like the sand clone thematically and am fine with it mirroring Q - I think it would be neat if it could go further and also mimic her W, adding further dimension to Chromie's "prediction mage" theme. I get that two invisible Ws dropping anywhere would definitely be tilting AF for the enemy team though, so this change could either come with W returning to being visible or, as I stated earlier, simply keep the sand clone mirroring only Chromie's Q and nothing else.
What this change would aim to do is frankly tone down how stupidly effective her AAs are compared to her actual abilities. I can't think of a single person who originally picked up this hero to be an auto-bot; IMO there's Hanzo and Junkrat for that long-range/AA hybrid flavor and they were both designed around that purpose (Junkrat with splash AAs, Hanzo with AA-related talents/build). Nothing about Chromie's 2016 release hinted at "right-click guys for the same DPS as your spells", not even OG Bronze Talons which for the record I do think suffered from a lack of meaningful competitive options until Timely Surprise in 2018 and that's why it was picked all the time.
Regardless, I think Sand Blast should have 1-target pierce made baseline if sand clone autos are removed. I think if you remove clone autos the damage numbers will simply default to W being unilaterally the best build outside of playing for the very binary power spike at level 18 from Piercing Sands, which I don't think is super healthy for her design. Chromie's autos paired with clone autos were actually one of the few ways the hero could damage people standing behind a Zagara minion, and if you remove the strength of those she'll need some sort of extra power to compensate, IMO. That said, this is a change that might not wholly be necessary if other aspects of her kit are made better, such as the W change I proposed above. This could be a wait-and-see sort of change, I admit.
Alternately, if 2-target Q is too strong baseline, it could be an alternate reward to her level 1 quest, removing the tertiary missile altogether. Incidentally this would give her more power in the early game by completing the quest, while not completely dumpstering the 18 talent's viability, while also giving players the freedom to pick something else on 18 if they feel like 2-target Qs are good enough to pressure the enemy team. I think this is a pretty healthy change that makes her a little less hot-and-cold when it comes to damage dealing, especially when it comes to early game vs late game.
Her level 5 talent tier will need a bit more parity, especially if clone autos are removed. Bronze Talons' power budget currently factors in the extra autos from clone, including if you complete the level 1 Q quest - while I like the synergy between the two talents, I think if clone autos are removed Bronze Talons as a whole will need to be redesigned. I think the simplest change is to bake in a functionality that mirrors the strength of her old sand clone when this rework originally went live, which is that sand clone's Q damage is increased from 40% to 50%. This was originally nerfed in an attempt to increase parity between her level 1 talents, but failed miserably, and I think with the other changes I've proposed here the extra 10% clone damage could probably come back.
Mobius Loop in its current form is really bad, and even with a full mana refund or something added in will probably continue to be bad. While my proposed changes to W would make it get more value by default, I think we can do better by making the ability an active on a 60-90 second cooldown that returns all her W charges at once instead. This seems kind of strong and I'm open to feedback on this one, but I think without some bold changes to W and W talents that Q will still be the dominant build and this was just one thing I could think of to make W more appealing.
For her heroics, I think Slowing Sands could probably use the level 18 functionality made baseline to make it more appealing compared to Loop. I like Sands as an easy way to proc her current Greeting talent at 5, but since the straight nerfs that came with her latest rework that made it only a 5% slow baseline it just has really minimal use outside of Greeting procs, and you can rely on your Time Trap slow talent or allies for those procs. It could probably use some slight buffs. I honestly have no idea what to make the 18 upgrade if the spell armor reduction is added to the level 8 version. Suggestions more than welcome here.
Her survivability options on 11 are actually okay except for Here and There. This is where I actually make a pretty bold change for her baseline Q sand clone, which is actually that rather than leaving a clone where Chromie previously cast her last Q, sand clone is now an active that Chromie can choose to place anywhere within 7.5 radius of her, with say a 10-20 second cooldown. I think this is a bit of a "berf" in that it's probably a nerf to fairly aggressive/mobile Chromie players who are constantly moving and placing new Qs in very forward locations, but probably a buff to more strategic Chromies who want to aim their shots at the perfect angle to hit their intended target. The change is kind of playstyle-defining and I'm not 100% sure it's what she needs, but I also think this could not only serve as a way of making Here and There more appealing (by giving more control over where you teleport to), but also a decent workaround to Q being blocked by various things until level 18. This might serve to reduce reliance on her level 18 pierce talent as well, which I always welcome.
Fast Forward is in a similarly poor spot compared to the other 14 options. By 14 Chromie basically has zero mana tension, making half the talent effectively useless. With some simple MATHS we can see what sort of DPS increase Fast Forward is vs the other two:
-Fast Forward, assuming you always get the proc and ALWAYS hit your secondary Q missile from sand clone, turns Q from a 122 DPS move to an 282 DPS move. This however doesn't affect her W, so the overall total DPS is 282 from this talent under perfect conditions - basically spamming because the CDR is so fast, never moving, and always hitting Q WITH also hitting the secondary Q missile. Bear in mind that this talent does not proc from a long-range sand clone Q, meaning you must position in such a way that the primary missile will always travel 50% of its distance. Shifting Sands works similarly so I don't factor that into DPS contributions, though Quantum Overdrive does in fact get CDR from all sand clone hits, making its actual DPS higher than what I calculated in theory.
-Quantum Overdrive, assuming you always achieve the CDR from Sand Blasts for it (again, we're assuming perfect conditions for everything here), will be available every 24 seconds and is a flat 25% spellpower increase for 8 seconds - or basically, two Q casts and one W cast (we won't factor in Loop usage here for simplicity's sake). Factoring in the CD, this is a 54.1 DPS increase - not nearly as impressive, though worth noting that the upfront damage is much larger AND and as I stated above, you actually get CDR from every sand clone missile, meaning its value increases exponentially with the Q quest on level 1 as well as how good you are at landing multi-Q hits.
-Shifting Sands has math that is much harder to calculate due to its stacking increase, but because I love you all I did. Suffice it to say, assuming you do not let the stacking spellpower buff fall off, it is a 151 DPS increase on Q until it ramps up at 38.5 seconds (not directly, mind you, this is just on average, I wasn't calculating 10 individual DPS increases and pasting them here lol), then a 181 DPS increase for each second it remains fully stacked. This is actually less than Fast Forward, though you can also add in 58ish DPS for W hits (again, assuming all 3 hits on a single target only), making the total value of the talent 209 DPS until stacked, then 249 DPS after.
So this is still less than Fast Forward, right? So why the hell are people picking it, you might ask? Simply because at any point if you miss a Q, the entire value of Fast Forward is lost, whereas with Shifting Sands you retain the spellpower unless you whiff a second Q hit in that original 8-second window. Basically, you have to land 1 Q every 8 seconds to get value out of Shifting Sands. Fast Forward, if you ever don't proc it, you don't have a level 14 talent during that and the window between your next Q.
(That said, doing this math actually made me realize that Fast Forward might be better than I think it is and I might give it a try in my next match, hehe.)
To be honest, all Fast Forward might need to be competitive is for the CDR to occur even if a secondary or tertiary Q missile hits, rather than requiring it to be the primary one. Since Fast Forward only buffs Q and not W, I think this is a fair buff that would reward consistently good aim with more sustained damage relative to Q, while still leaving Shifting Sands the favorite for a more forgiving slow spellpower increase and Quantum Overdrive for Loop/burst shenanigans.
As a final point, while I think that a lot of my proposed baseline changes to the hero would by default make Piercing Sands mildly less appealing at 18, I'm still not sure what to do to completely increase her talent diversity on this tier, especially because her ulti upgrades are frankly kind of lackluster. This is an area where I sort of ran out of steam brainstorming, to be completely honest with you. I actually think both of her ultis are really boring baseline and couldn't come up with interesting 18 upgrades for either. Lend me your brains on this one, HotS subreddit! What would you do to make Chromie's Piercing Sands talent less appealing while making her ulti upgrades more appealing? I'd love to see what we can all come up with!


In Closing:

These changes, whether implemented as a whole or by their parts in certain areas, would IMO serve to give the hero three viable build paths:
-1st build path, "Q path": Q talent at 1 for second pierce target, newly-designed Bronze Talons at 5 for the extra clone Q damage, Here and There at 11 for mobility shenanigans thanks to being able to manually place your clone target in advantageous locations, Fast Forward at 14 to put a further emphasis on landing good Qs and edging out W as a big part of your damage pie, and Piercing Sands at 18 for obvious reasons.
-2nd build path, "W path": W talent at 1, Mobius Loop at 5, any survivability option at 11, Quantum Overdrive at 14 to take advantage of the new Mobius Loop W charge reset, Piercing Sands at 18 could still be appealing with this build but I also think Blessing of the Bronze or Temporal Loop upgrade depending on your ulti choice could be good here.
And a final "generic spellpower path" that doesn't build strictly into improving Q or W separately and would instead opt to modestly increase the damage of both, with perhaps less binary gains than building fully into one spell: which would feature Timewalker's Pursuit at 1, Proper Greeting at 5, any survivability option at 11, Shifting Sands at 14 (though I think Quantum could work here too), and maybe Q pierce or Blessing at 18.
While I appreciate anyone who has read this far, for those who don't have the fortitude here is a simple tl;dr:
-W is no longer 3 vectored hits that drop at the same time but rather 3 circular AOEs that can be dropped individually but all return on the same cooldown similar to Junk Q/Zarya Q. If this is OP, reduce the size of the AOE so opponents have greater windows to dodge, or (possibly) make the landing point visible again (less a fan of this though tbh).
-sand clone autos removed to put more damage back into her spells and less into boring right-click talents/builds (her right-click damage is about 2/3rds the DPS of Q!). Her current design with sand clone AAs means that the level 1 Q quest that adds an extra sand clone is dramatically more value than the other two quests simply for the extra AA damage, which is a bongos DPS increase in comparison. Rather than gut the entire sand clone thematic, which I think is cool, I think simply removing the AAs would do loads for her talent diversity.
-manual sand clone placement on a modest cooldown to work around the newly-implemented Q PVE block. An alternate solution is to change her level 1 Q quest from a third sand clone to a singular pierce upon completion, allowing her once the quest is completed to have Q hit two targets for each missile instead of just 1. Either way if sand clone placement is made manual I think the level 1 Q quest will have to be changed, because otherwise manually placing two clones would probably make her a bit too "busy", and I don't want her to be butt-blastingly difficult to play for anyone who isn't a main. I think both manual Q placement and changing the Q quest at 1 to reward one-unit pierce would be fine, without sending her balance out of control, but obviously I can't say for sure.
-Some talent retooling and rebalancing to promote better diversity on certain tiers (namely 1, 14 and 18). I could use some help on brainstorming better ult upgrades at 18 than what she currently has.
-NO increases to damage or range except incidental increases from things like easier Q secondary missile hits or more control over W landing points. These would be offset by the removal of sand clone autos, as well as less reliance on Q pierce talent at 18, making her power curve less exponential.
-no changes to Time Trap, which I think after the rework is a beautifully-designed ability as-is and the talent tier representing it (level 2) is one of the most balanced talent tiers we actually have in the entire Heroes of the Storm game.
If you made it through all this without rage-quitting over the mere mention of Chromie, I appreciate your time, and am looking forward to having some discussions here. Are these changes too much? What do you think the hero needs to become a bit more fun to play, while not dramatically increasing her power level or the frustration factor that other people have playing against her? How would you improve her talent diversity with her current design? I look forward to seeing what everyone has to say!
submitted by Thundermelons to heroesofthestorm [link] [comments]

Best Binary Options Russian Strategy 96% Win Rate Binary options - YouTube Binary Options 2016 Product - YouTube Binary Options Product 2016 Reviews - YouTube Binary Options Trading Signals Franco 2016 - 85% Winning ... High ITM strategy for Binary options that works

CLICK HERE: http://www.linktoclickhere.com/binaryoptionstrananh -------------------------- Binary Options Winning Strategy 2015 Watch my vi... 15# Binary Options Strategy London Open Box Breakout 4; 16# Binary Options Strategy: Pivot Points Levels Trend; 17 # Binary options Strategy: Buy-Sell alert V.2; 18# Binary Options Strategy: Pivot Point Levels Reversal; 19# Binary Options Strategy: The attack of the Viper; 20# Binary Options Strategy: Spike bar Price Action 60 min Binary Binary Options Strategy A Binary Option Strategy provides you an opportunity to earn big profits from a trade. Although the stakes may be high, but this particular kind of trading has an edge over dozens of trading methods – you can predict the outcome of the trend for a short period of time. In 2016, SpotOption claimed to have 300 brands or affiliates. These brands all looked different, but they were effectively the same broker. It is unimportant which of these brokers you choose, as soon as you deposit money with them, the money will eventually end up with SpotOption, and you will get your binary options, your assets, and your payouts directly from SpotOption. The most prominent ... CLICK HERE : http://www.beststrategytradingz.com/sbinaryoption Binary Option Strategies 2016 - The Best Binary Options Strategy 2016 Tha... June 2019 edited June 2019 in Binary Options Strategy. A shout out to everyone out there who do compounding. I do & I am quite successful at it, too. I would love to get connected to a community of traders who do compounding, for inspiration, for ideas, for strategies, and for more and more courage to take the game to the next level. At the moment, I do compounding of two levels going from $5 ... 21 October 2016, 11:07. Efraim Delgado. 0. 548. When you first get into the game of trading binary options with an online broker, it is going to feel like a very challenging task but once you understand the trading basics, strategies, and different tactics, the same trading will seem normal to trade. Binary options include various different strategies that greatly vary upon expiry time. If you ... BINARY OPTIONS TRADING STRATEGY & IDEAS. Moderators: xard777, ... i have an idea and strategy for a binary indicator with a good success rate that can benefit binary traders in the group but i need help putting this idea in an mt4 indicator so its easier to use...please can you help with development and how soon can it can ready it nothing complicated..thank you ... You need to wait for the right setup, for the big game to come into your crosshairs. The anticipation builds up, and then you wait and wait until the right moment, the right signal. When it comes you need to immediately place your option by following the 60 second strategy rules. 2 pitfalls in 60 seconds binary options strategy Binary Options Trading Strategy & Ideas Hi sal Here is your Trading System,carry on and enjoy experimenting

[index] [7913] [23967] [6676] [5051] [19343] [26040] [14187] [11059] [24218] [27842]

Best Binary Options Russian Strategy 96% Win Rate

Published on Sep 2, 2016. E-mail me if you would like to join our private trading group, education, strategies, signals and full support given! [email protected] Category People & Blogs; Show ... What is Binary - Binary Options Trading Strategy for Beginners 2016. Binary options are a simple and rewarding financial trading product. Binary options deliver a fixed return on every trade which ... Sign in now to see your channels and recommendations! Sign in. Watch Queue Queue. Watch Queue Queue. Remove all; Disconnect Binary Options Trading Strategy 2016 - How To Make $210,000 Per Month. They get their best results trading off the M1 charts and go... Binary Options 2016 Product uploaded a video 3 years ago 4:25 ... Fixed Time trading: Rute tercepat menuju dunia trading. Raih sukses trading setiap hari. Raih penghasilan dari fluktuasi nilai tukar dolar. *****... binary options strategy 2016 - binary options system (binary options review: binary options signals) - duration: 5 minutes, 2 seconds. The best strategy for binary options already created! Based on extreme support and resistence vertical and horizontal. With precise mathematical calculations and filter oscilator. Win rate above ... This video is unavailable. Watch Queue Queue. Watch Queue Queue ----- CLICK HERE: http://binaryoptionstradingz.com/pbinaryoptiontrading2016 ----- As you might expect, to stay profitab... The aim of this video is to teach you how to become profitable in Binary options and earn money without falling in the scam. It is No loss style. You will always make profit at the end of the day ...

https://binary-optiontrade.plarilunetel.ml