Binary Options Indicator 2014 -


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.


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.
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.
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


05, 2020

by chefdeletat
📷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.


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


23, 2020

by RandomTruffle
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/ 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/ 140 unique addresses InterestingRobloxProcess: 38928 unique addresses /uslib/x86_64-linux-gnu/ 1 unique addresses /uslib/x86_64-linux-gnu/ 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
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]

[Steam] Winter Sale- Hidden Gems II; The Eleventh Hour

Personal Note: If you found any other hidden gems, or just have something to say, say it in the comments! It's the eleventh hour and people can actually hear you now!

Inspired somewhat by the recent post of Hidden Gems, I found that it's largely become completely congested. As such, I'll coalesce a lot of the deals posted by the guys there here, instead. I'll add others in case I find any of them in the original thread.
Personal Favorites
Puzzle Games found by crabbit
Random picks by ND1Razor
Unusual Games found by thelazyreader2015
RPGs loved by thelazyreader2015
Games Thrice Reposted by ParanoidAndroid1309
strikan33 posts the base list
With some other titles, Art4dinner recommends:
Gramis Silently slides:
A small list by thinkforaminute
Story rich, atmospheric game dragged into the light by BabyMustache
Less than a quid by Dux0r
A list of openish world RPGS from thelazyreader2015
Wishlist and personal favorites from gpt999
Misc Recommendations
With the large quantity of the old deals posted, I'd love to see any other hidden gems there might be out there. I'll post the two major things from the previous thread (The massive posts on Coop games and the massive post on games less than three dollars) below, and I'll post any other collections or mild reccomendations I find above.
submitted by Ullyses_R_Martinez to GameDeals [link] [comments]

The Complete NERF Blaster MOSFET Wiring Tutorial for Beginners and Pros

It’s time for an easy MOSFET wiring guide. There haven’t been too many, so I’ll add mine to the list. I’ve mainly seen the use of high-amperage micro-switches in this community, but as tech in blasters (microcontrollers, brushless motors) continues to expand and the motor-arms-race delivering new, high-draw motors to the scene, it’s time for another MOSFET guide without confusing the beginners while at the same time, enlightening the experienced modders.
This guide will be super in-depth, and will hopefully cover a ton content so you could start it off as a beginner, and come back to it as a pro, and learn something every time. No prerequisites required - just a basic understanding of electricity! For the more advanced and technical parts, a high-school level understanding of physics and chemistry may be required. Read what you understand, and skip what you don't. There will be some parts which will be intimidating to beginners, but that’s the point! There’s always something new to learn in electronics, whether that be more electronics, physics, or microcontrollers.
Check this guide out on my site:

First off, what is a MOSFET?

A MOSFET is a type of transistor. A transistor is a switch relying on an electrical signal to allow current to flow, rather than a physical movement like a switch.
I know the first time someone told me that, I got super confused. Immediately below is a beginner friendly description of a transistor, and a the further down you go, the more technical it will get. If you understand above, that’s all you need to know about a MOSFETS’s functionality. Feel free to read more below, or skip to the next section: CTRL + F - “MOSFET PINOUT”.
Let’s take a look an an example of a switch. For this example, a light switch. In its resting state, electricity will not flow - the light bulb is not on. But when you flick the switch, the light turns on - electricity is flowing. Notice how it relies on manual mechanical energy, your finger pressing on it, for the current to flow. Whats often happening in these switches is the movement of a metal piece which touches different metal things for electricity to flow as desired.
Here’s a good example of what’s happening
Now that you know how a switch works completely, let’s look at a transistor now. Remember, a MOSFET is a type of transistor, so they work exactly the same. If you didn’t already know, transistors are one of the most amazing inventions ever, on-par with fire and the wheel (not joking!). Everything computedigital = transistors. They revolutionized computing technology, and all of our computers (laptops, phones, microcontrollers, watches, calculators) are based on transistor architecture. In your Intel Core i7 processor, there are over fourteen billion transistors! For comparison, the earth is only about 25,000 miles in circumference. In your phones, transistors can be as small as seven nanometers, and the smallest ones invented are around one nanometer. A nanometer is a billionth of a meter, so transistors have gotten down to the size of a few atoms across now.
Okay, enough lecture on how amazing transistors are (hint: they’re really amazing!). Let’s see how they work. Remember how a switch relies on a manual input to control the electrical behavior? Well, a transistor uses electrical input to control the electrical behavior.
Here’s a picture of a transistor
Imagine a switch which has two pins. The two pins will conduct electricity when the switch is pressed, and will not conduct electricity when the switch is not pressed. Observe the above picture of a transistor, and notice how it has three pins. Two of the pins will allow for electricity to conduct when the other pin is fed electricity. We’ll call this “other pin” the signal pin, since it acts as a signal which signals when the other two pin should conduct electricity.
So transistors are like switches, but they’re awesomer. They can be MUCH smaller and MUCH faster.
Tl;dr Transistors are like switches, but are awesomer since they rely on an electrical input, rather than manual input like a switch.
Now that you know how a transistor works, it would be extremely helpful to understand the pins as well


A MOSFET is a transistor, and a transistor has three pins. Therefore, a MOSFET has three pins.
Take a look at that picture. The pins are labeled:
“Two of the pins will allow for electricity to conduct when the other pin is fed electricity” is the same as “The Drain and Source will conduct electricity when the Get gets fed electricity.
You can think of the gate that acts like a gate. When the gate is open (it gets fed electricity), electricity can flow through the MOSFET.
You don’t really need to remember these fancy names, but they will be Extremely helpful for the rest of this write-up. Don't fuss too much over remembering them, the concept is much more important. The more you are exposed to the words in context, the better and faster you will understand them. Hopefully I use them enough in this write-up that you’ll know them front-and-back by the end of this.
And that’s all it is for understanding MOSFETs! I hope you completely understand how they work, and the pins. It gets a bit more technical from here on about MOSFETs, so feel free to read through it or skip to the next section: CTRL + F - “Why Should I Even Use a MOSFET?”.

More technical discussion starts here.

There are two different types of MOSFETs, an “N-Channel MOSFET” and a “P-Channel MOSFET”. You can think of it like this: an N-channel MOSFET connects negative of the battery to negative of the load, and a P-channel MOSFET connects the positive of the battery to the positive of the load. Since the N-channel MOSFET connects the negatives, we call it “Low-side switching”, and the P-channel MOSFET as “High-side switching”. If you’re more familiar with BJTs, a P-channel MOSFET would be equivalent to a PNP BJT, and an N-channel to an NPN.
Although both can be used, in this build, an N-channel MOSFET will be used. Here are some advantages of N-channel MOSFETs over P-channel ones:
MOSFET is an acronym:
Metal-Oxide Semiconductor Field-Effect Transistor
MOS, or metal-oxide semiconductor, describes the chemical properties of the semiconductive materials which makes the MOSFET work. Recall from the media and chemistry class that a semiconductor includes elements such as Silicon and Germanium. Many transistors rely on Silicon chemistry, with special enhancement substances injected, or ‘doped’, for enhanced performance.
This metal-oxide layer insulates the input voltage from the output current as well, so the input voltage interacts with the output current through electromagnetic fields, as described below.
FET, or field-effect transistor, describes the type of transistor. A more ‘traditional’ transistor, such as a BJT, works using current, assuming the threshold voltage has been exceeded, to determine its conductive behavior, as the current flowing through the base directly interacts with the current flowing through the collector and emitter. While a BJT’s conducive behavior is more reliant on current, a FET’s conductive behavior is more reliant on voltage.
FETs work on electric fields, as described in the name. When an electric potential difference between the gate and source is observed, an electric field is created. Since we are using an enhancement mode FET, rather than a depletion mode FET, pulling the gate-source voltage (Vgs) to high will turn the FET on, so current can flow through the drain and source. The strength of the electric field formed is proportional to Vgs, and the stronger the electric field, the lower the internal resistance of the device. Therefore, a input higher voltage will result in better current flow of the device.
Remember, more internal resistance, or resistance between the drain and source (Rds) means the less energy goes to your load, so a decrease in efficiency. A higher resistance will also result in more heat generation, and more heat is often not a good thing. A higher junction temperature also results in a higher resistance, and this higher resistance results in more heat generation, and so on. It’s like an infinite loop. Extremely high junction temperatures (Tj) can also destroy the internal chemistry of the FET. The MOSFET linked below in the parts section can handle up to 175C, so you won’t need to worry about heat too much in your build. The chemical and electrical properties of a FET will vary a little bit based on Tj, so check your datasheets on that. If you’re reading this part, I assume you have the technical capability to be able to read data sheets. Luckily, most MOSFETs include a heat-sink integrated into the device, as well as decently high operating temperature thresholds.
Ideal Vgs for MOSFETs are between eight and twelve volts, depending on the specific model. Check the data sheets. Voltage from your LiPo battery, whether that be 2S or 3S, works perfectly fine. Depending on the particular MOSFET, Rds may be as low as a few mΩ, at an ideal state. The MOSFET linked in this write-up has an Rds of around 2mΩ.
To summarize MOSFETs:

Why Should I Even Use a MOSFET?

All this fancy talk about MOSFETs, and I didn’t even explain what’s so good about them.
When we modify blasters, we often do a few things:
  • Battery replacement with LiPos
  • Motor replacement
  • Rewire with 16 AWG or 18 AWG wiring
  • Switch replacement
One of the above modifications results in or is a result of the avalanching modification requirements. Motor replacement calls for a higher ability of discharge from a battery = battery replacement. Battery replacement = higher current = rewire + switch replacement.
Let’s take a look at the few options we have for controlling our high-amperage circuits:
  • High-amperage microswitches
  • Relays

High-amperage Microswitches

Top of the line motors, at the moment, may draw close to 50A at stall. The highest rated microswitches in in the community I’ve seen are 21A microswitches. 50A > 21A. But high end motors only draw 50A for a fraction of a second, so the switches should be safe, right? For now. I’ve never heard of anyone damaging a 21A switch from high-draw motors anyways.
But in the time of a motor-arms-race, more motors are being release, and these motors are getting more powerful. This means higher current draw. Soon, even our 21A switches won’t be able to keep up with all these motors. But MOSFETs will. Well, they already do. They are currently used today to control high-power appliances, including street lights and airplanes.
High-amperage switches don’t fit directly into blasters. You’ll need to dremel out a lot of the stock switch mounting area, orient the switch correctly, and then adhere it into place. You also have possibly 100A of current running through your grip, millimeters away from your hand. That doesn't sound safe.
Tl;dr Requires shell modifications, not future-proof


This is a relay
Although I haven’t personally seen the use of relays too much in builds, they are another basic option to control high-draw motors. They are also quite advantageous over high-amperage microswitches.
Relays are literally switches controlled by a magnet. But that magnet, known as an electromagnet, can be turned on and off. So there is a physical moving part which toggles position based on whether the electromagnet is on or not. A low power signal controlling the electromagnet will determine whether current can flow, similar to a transistoMOSFET.
Relays can be advantageous over high-amperage microswitches since shell modification may not be necessary. The stock NERF switch may be used as a ‘signal’ to control electricity flow through the relay.
Although relays are reign supreme over high-amperage switches in terms of shell modifications, they fall short in the same ways. Some of the highest-power relays, automotive relays (yep, the stuff used in cars), can get quite expensive and are rated for only 30A - 40A.

Here’s why MOSFETs are better

  • Zero shell modification. Can be wired to rest in any part of the shell.
  • Can handle higher current (the one I’ve linked can handle up to 343A under the right circumstances)
  • Cost. I see high-amperage switches costing around $5, and around the same for high-amperage relays. A MOSFET fulfilling all the needs of the highest-end blaster can cost around $3, and you could get away with some MOSFETs costing under $1, depending on your setup.
  • A lot faster. After all, transistors are used in your 3GHz computers. (will be further explained in technical section below)
  • You sound more pro: “Yeah, in my Rapidstrike, I’m running an IRLB3034PbF N-channel low-side switching HEXFET power MOSFET controlling the flywheels, and an IRFZ44N N-channel low-side switching HEXFET power MOSFET controlling the flywheels. Both are hooked up to a 10 kilo-ohm quarter-watt pulldown resistor to combat electrostatic interference, and a 1N5408 flyback rectifier diode to suppress transient voltage spikes resulting from the collapsing electromagnetic field of the motor’s coil” vs “I’m running a 21A microswitch. I like how it’s super clicky click click click”.
  • Afterburners. You don't want six motors worth of current running through your wimpy microswitch.
Cons of MOSFET: May be electrically complex for beginners. This write-up changes that, so there is no excuse not to use MOSFETs.
Tl;dr MOSFETs are better.
Now that you know why MOSFETs are objectively superior, feel free to go onto the technical part where. If not, skip ahead to the next section: CTRL + F - “How it all Works - Putting all the Concepts Together”

Technical Discussion Starts Here

I’ll be going over pulse-width-modulation (PWM) here, and specifically, its relevance to tech in blasters. When I say tech in blasters, I don’t mean 3D printed components or wiring looms, I mean programmed microcontrollers, such as in Eli Wu’s builds, Project FDL, Ammo Counters by, and my upcoming Smart Blaster kits.
So what is PWM? Other than sounding super fancy, it’s also super useful. First, I need to discuss the difference between digital and analog components.
What does it mean, digital? Well, I’m sure we’ve all heard of it, “The digital age” and stuff like that. Digital often induces imagery of computers, and binary, 1’s and 0’s. That’s exactly what digital describes, binary. Digital means involving only two values. For example, your light would be digital, since it only has two values, ON and OFF, or the status of your phone power being at 100% battery, TRUE, or FALSE. Your phone is either at 100% battery, or it’s not at 100% battery. Tying this to computers, remember how computers only “see” in binary, 1, and 0: 101010001001. Binary only has two values, 1, and 0, therefore, it is called a digital value.
What about analog? While digital pertains to states which only have two values, analog pertains to states which may have more than one value. For example, the temperature. There are many different values the weather can be, 78F, 92F, or even 23F. Those are only three, but there are an unlimited number of different temperatures (mathematically, not physically) possible when we include decimals. Another example would be the speed of your car. It could be going at 60mph, or 61mph, or 73mph, or 5mph.
Tl;dr Digital = only two values (light - ON or OFF), analog = more than two values (speed - 60mph, 25mph, 3mph, etc.)
Now, what about our motors in our blasters? What would best describe their output state - analog, or digital? Well, in our blasters, they really only have two states, ON, or OFF. But motors, like a car, can be analog. They can be off, on, in the middle, and anything in between.
So we know it is physically possible to control the speed of our blaster’s motors. This yields us a variable control of dart velocity, power consumption, and rate of fire (Hint Hint an upcoming Smart Blaster kit). If we want our darts traveling at 130fps instead of the maximum 150fps for confusion tactics against our enemies, we can crank down on speed of the motors a bit. If we want to shoot our Rapidstrike a bit slower in terms of darts/sec, to conserve ammo without burst-fire (Hint Hint another upcoming Smart Blaster kit) then we could slow down the pusher motor a bit. And we can control these speeds using a microcontroller.
A microcontroller is just like a computer, but quite a lot smaller than your laptops. They're also mounted on ICs. Some examples include an Atmega328 and a TI MSP430G2452IN20, but NOT a Raspberry Pi. A Raspberry Pi as a microprocessor. An Atmega328 and a TI MSP430G2452IN20are NOT microprocessors. An Arduino and a Teensy is NOT a microcontroller or a microprocessor, it simply houses a microcontroller. DON’T call an Arduino a microprocessor, because it’s not. Call it a microcontroller, since it’s basically a shell for one. I’m super anal about these terms but I don't know why lol.
But explained above is how computers are digital, and motor speed is analog. Analog != digital, so how do we do this? Well, there’s this fancy thing called PWM. It’s basically just returning an analog output, such as motor velocity, from a digital device, such as a computemicrocontroller. It works by toggling output power super super fast, sometimes many kHz, depending on the device outputting the power.
Let’s say we have a 10W power source. We’re only talking about power here, but remember Power = Voltage * Current, Watts= Volts * Amps. PWM controls power. And a circuit that looks like this. Notice how the power source goes through a PWM device, and the PWM device then outputs to a motor. The PWM device is a digital device.
PWM Circuit
If we leave the PWM device at high the entire time, then the output will be at 10W. If we leave the PWM device at low the entire time, then the output will be at 0W. If we toggle power (power ON and OFF, a digital value, compatible with the computer) in the PWM device so fast that on average, 50% of the time, the power is high (10W), and the rest 50% of the time, the power is low (0W) it will average out at 5W, so the output will be 5W. Now, what if we toggle the PWM so fast that on average, 70% of the time, the power is high, and 30% of the time, the power is low?
It will average out at 7W, so the output will be 7W.
Notice how I’m getting an analog value (10W, 0W, 5W, 7W, and anything in between) out of a digital device (PWM device). Now, we can replace the PWM device with something like an Arduino, and accomplish the same thing.
I won’t be going over too much how PWM works, but I hope you understand the basics. Now let’s tie this back into MOSFETs.
Recall how power must be toggled in the PWM device “super super” fast. When working with Arduino, this will be around 600 Hz, or 600 times a second. With dedicated PWM devices, this can get up into the Kilohertz, or even Megahertz. Can you move your finger on the trigger that fast? If you could, then theoretically, you would be able to achieve PWM with your hands. Unfortunately, the switch can’t. Even with a relay, PWM can’t be practically achieved. Relays take about 20 milliseconds to change state, so only about 50 Hz. Not even close to fast enough. So we need to switch from electromechanical to electrochemical.
Here’s where the MOSFET comes into play. Remember how the MOSFET is a transistor, and transistors are in computers. Consumer computers can clock as fast as a a few Gigahertz, or a few billion times per second. Yep, that’s how fast transistors are. So MOSFETs are more than suitable, because of their speed, for variable motor control.
Tl;dr MOSFETs are so fast you can do analog outputs with them.

How it all Works - Putting all the Concepts Together

Almost time for wiring! I truly believe the concepts behind how this build works is much more important than how to assemble it. A robot can assemble this, but can’t understand the concepts. You can do both.
Let’s combine all the concepts of the transistor, MOSFET, and MOSFET pinout together to create a basic operational diagram of the circuit.
First, the MOSFET needs some sort of electrical signal to turn on. This signal will come from a switch, any switch can be used, but I use the stock switch. Super little current will flow through the switch, so you won’t need a huge 21A switch. That’s what’s so great about a MOSFET setup, the stock switch can be reused, so zero shell modification is necessary.
Signal Diagram
Now, this electrical signal needs to go into the MOSFET, to the Gate pin. You can see in the diagram above that when the switch is pressed, the gate is fed electricity, so electricity can flow through the other two pins of the MOSFET, the drain and source.
Source-Drain Diagram
Now, let's look at the complete diagram. The Signal Diagram has just been expanded upon. Now, when the switch is pressed and the MOSFET allows electricity to flow through the drain and source, we see that the entire circuit is complete! Positive of the battery goes into the load, and the load is connected to ground/negative. A full circuit!
It’s about to get a bit technical here. I’ll go over the functionality of a the resistor and diode, it’s pretty complex stuff. You know the drill to skip: “Parts and Tools Required” This will be the last technical section.

Technical Discussion Starts Here

I will discuss two components here, why they’re needed: the resistor, and the diode. The diode is much more complicated in its functionality.
The Resistor
A Sneak Preview of Some Schematics:Schematics of Pull-Down Resistor
This resistor is known as a “pull-down” resistor, since it connects between the gate of the MOSFET and ground. When working with electronics, you will see “pull-up” and pull-down resistors a lot. pull-up/down resistors are used to ensure given no other input, a circuit assumes a default value. In the case of this build, since a pull-down resistor is being used, the default value is pulled to low. This makes sense, since when the MOSFET is off, the Vgs (input voltage, or potential difference between the gate and source), is zero.
But why would we need this pull-down resistor if no current is flowing to the gate when the switch isn't pressed? Well that’s the thing. It’s not that simple. The voltage as the gate is said to be “floating”. This means the voltage could be many different values, and that will of course mess up how the MOSFET will behave. A small input voltage, say, from the electrostatics of your finger, could be all that’s needed to turn the MOSFET on. This isn’t good, so we use the pull-down resistor to ensure that when the MOSFET is off, it’s off for good.
The Diode
A Sneak Preview of Some Schematics: Schematics of Flyback Diode
This diode is known as a “flyback diode”
Motors are extremely interesting works of techonology. Simply put, it’s a converter between mechanical energy and electrical energy, and it can work in both directions: as a generator, and as a motor. When the motors act as a generator, a voltage in the reverse direction is formed. Voltage is the force driving the current, so we also call it electromotive force, or EMF. Because the voltage is in the reverse direction, we call it counter-EMF or back EMF (BEMF).
Okay, let’s go over that again.
  • Voltage = electromotive force = EMF
  • A motor may also act as a generator.
  • When a motor acts as a generator, it will generate a voltage in the reverse direction of current flow.
  • This voltage in the reverse direction has a special name: counter EMF or back EMF (BEMF)
So when does the motor act as a generator? Well, in real-world applications, this is used in power plants, both nuclear, coal, and natural gas. They’re all taking some sort of mechanical energy, and converting it to electrical energy.
Remember! A motor and generator are the same. The only difference is the direction of the conversion of energy.
In media, we’ve seen someone pedaling on a stationary bicycle to power a light bulb. This is a generatomotor. A generatomotor apparatus is attached to the bike in a way so when the pedal is turned, it turns the shaft of the motogenerator. It’s converting mechanical energy (the biker moving his legs to pedal the pedals) into electrical energy (to power the light bulb). If I were to power the same generatomotor apparatus using a battery, the pedals will actually turn. In this case, I’m turning the motogenerator apparatus into a motor: a converter between electrical energy (stored in the battery) into mechanical energy (to move the pedals).
So in a blaster, power from the battery is going to the motors when the rev trigger is pressed. The motor is acting like a motor, converting electrical energy to mechanical energy. When the rev trigger isn’t pressed, the power from the battery is cut off, so no more power from the battery is going into the motor. But, the we observe the motor is still spinning. It may not be spinning as fast as when the rev trigger was being pressed, but the motors are still spinning. And what happens to a motor when it’s spinning, but not powered? It’s a generator. The motor is converting the mechanical energy (flywheels spinning) into electrical energy. We can harness this energy to charge our batteries (this is how some vehicles like the Toyota Prius work), but a more complex circuit will be necessary, and it won’t be too effective. Also recall that the energy being generated is BEMF.
The concept of a motogenerator is very important to describe the functionality of the flyback diode.
This is a Diode
Notice how the anode, or positive part, of the diode is connected to Vcc. This is so current doesn’t flow through the diode when the motor is on. But, when the motor is powered off, a BEMF is created. Now what was previously the negative of the motor becomes the positive of the power source, since it’s acting as a generator and the EMF created is in the opposite direction, hence BEMF. Now, the negative of the motogenerator is connected to the cathode, or negative part, of the diode, and the positive is connected to the anode. Current can now flow through the diode, but only when the motogenerator is generating BEMF. That’s why the orientation of the diode matters.
Now this is where many people get confused, myself previously included. They think that this BEMF may produce high spikes in voltage, which may damage the MOSFET. So, a flyback diode is required to take care of those high spikes in voltage. This is not entirely correct.
To debunk this theory, we need to remember that the BEMF ONLY from the motor turning into a generator generating voltage from the flywheel’s inertia will never exceed the battery voltage. The voltage generated only by the freewheeling of a motor will not exceed that of the supply.
But, the BEMF consists of two components: freewheeling voltage, and flyback voltage. The flyback voltage is what can damage the MOSFET, since they can be extremely high and unpredictable.
The source of this flyback voltage results from the functionality of the motor. Motors use coils. If you’ve ever opened one up, accidentally or purposely, you'll see coils. Some motors have permanent magnets, and others have electromagnets, which means more coils. When current passes through coils, it creates a magnetic field. This is called induction, as described in Faraday’s law. Okay, induction, no big deal. It’s just how a motor operates. When the circuit is open, no more magnetic field is being induced, since the flow of current has stopped. But a magnetic field already exists from the previous flow of current, and according to the first law of Thermodynamics, energy cannot be created or destroyed. This energy in the field can’t be destroyed, so it needs to go somewhere, so it goes back into the coil. This collapsing magnetic field feeds back into the coil, or inductor, and it become the source in the circuit. This “inductive spike” can generate high voltages, and this high voltage is what we protect our MOSFET from using a flyback diode.
Yum physics!
Tl;dr Resistor to ensure that when the MOSFET should be off, it is off. Diode to protect MOSFET from high voltages from the motor

Parts and Tools Required

This is already page 16 on the Google Docs, and I just rambled about MOSFETs that entire time. Let’s get started with some legit write-up. Here are the parts required. Don't skip out on any part just because you don’t know what it does, because you’ll blow stuff up.
  • 1x MOSFET. I recommend a IRLB3034PBF as an all-purpose MOSFET which will work for any motor setup. You could also get away with a IRFZ44N as with a lower-draw setup. (IRFZ44N also available on Amazon through Prime, but may come in higher quantities) - $3 for an IRLB3034PBF
  • 10kΩ (10,000Ω) resistor. Can be higher, like a 15kΩ, or 47kΩ. Digi-Key Link (Also available on Amazon through Prime, but may come in a kit of many different values) - $0.10 for one ($0.40 for ten, super bulk discounts)
  • 1N540x Rectifier Diode (0 < x <= 8; x = 8 is “strongest” and costs the same prices as 0 < x <= 7) Digi-Key Link (Also available on Amazon through Prime, but may come in a kit of many different values) ($0.25 for one, also offers bulk discounts)
  • Wire 16 AWG - 18 AWG for motors, literally any wire (stock NERF wire will work) for MOSFET signal. (you should already have this, if not $0.50)
  • Heat shrink tubing. MOSFET pins are super close together, you don’t want to short anything out. (you should already have this, if not $0.50)
  • Stock NERF microswitch (come in your blaster, you can recycle it - FREE)
Total cost: $4.35


  • Wiring tools: Soldering Iron + solder, all that good stuff
  • I Highly recommend a multimeter for testing and debugging as well as a solder sucker for any mistakes on the tiny pins of the MOSFET. A cheap multimeter can be found for around $20, and a cheap soldersucker can cost around $1 from China. These are not required.
I recommend buying all electronics from Digi-Key. They are a trustworthy electronics distributor, I’ve been shopping with them for years, and you won’t run into any knock-offs exploding in your face. Also offer great selection and prices.
Buy from China only if you know what you’re doing. You’ll save some money when buying from China, but of course it will take longer. I’ve bought thousands of electronics from China, just make sure to read datasheets and product descriptions.
Also note how many of the electronics come in kits with many different values, and a decent quantity of each value. I would recommend purchasing these kits if you plan on continuing to get more in depth into electronics, as these are basic parts which will be used throughout electronics.


Okay, here comes the fun part! A basic understanding of how the circuit works is greatly beneficial when it comes to wiring. Please look it over so you don’t explode any MOSFETs.
Here are some wiring diagrams to wire everything together properly, once you’ve gathered all the required tools and parts.
  • Remember to wire your diode in correctly! You’ll know it’s facing the wrong way or wired incorrectly if the motors aren’t spinning when the rev trigger is pressed, and/or if the diode gets warm.
  • MOSFET shouldn’t get hot when testing. If it does, double check your wiring.
  • If the MOSFET legs are too close together to solder, feel free to bend the legs. You may also bend the legs back when you’re done. They’re easier to bend up/down than left/right. When I was first starting out, I bent the legs like this:
  • Tin the legs of the MOSFET before soldering. It makes life so much easier.
  • Feel free to cut the pins of the MOSFET as well. Just make sure there’s still enough to solder onto them.
  • Since the resistor’s legs are so long, I like to wire it on my MOSFET like this: (Step 1) (Step 2) (STEP 3) . Notice how the legs of the resistors wrap around the MOSFET’s pins.
  • When using fatter wire, it may get tricky to solder them onto the pins. I recommending physically connecting the wires in relation to the pins. For example, the right pin would have the wire soldered to the right edge of the pin, and the left pin would have the wire soldered onto the left edge o the pin. You don't need to solder all of the wires directly on top of each pin.
  • Heat shrink all connections!
  • Test with a few AAs first. Sometimes, two or three might not be enough. You might need a few more. Don't damage your LiPo.
Close up your blaster and

You’re all done!

Final Notes

Whoo! Finally done. It sure took me a long time to make this, and I hope it takes you a long time to read and understand the concepts here. If I have made any mistakes in terminology or concepts, or you need something clarified, please do notify me! as I am still learning.

Useful Links

Video Tutorial: One day
Imgur Album with all the images:
A Google Doc of this:
Read this on my website:
MOSFET Boards:
To learn more cool stuff, check these out. No Wikipedia links since my school says they’re evil and because they can oftentimes be too technical for beginners, and it’s usually the first search result:
What is a MOSFET?
How does a MOSFET work? (Title says Transistor, but video describes a MOSFET)
Controlling High-Current Loads
P-Channel vs N-Channel MOSFET
Arduino vs. Microcontroller vs. Microprocsessor
Pull-Up and Pull-Down Resistors
Flyback Diode
More on BEMF
BEMF vs Flyback Voltage
If there are any topics you want covered in-depth by a tutorial like this, leave a comment on it! I do mainly electronics and coding, to too much hardware stuff. Here are some future tutorials I have in mind:
  • Select-fire (toggling fire modes with a joystick lol)
  • Motor braking
  • Tachometer (this will be pretty complicated, using concepts discussed in the flyback diode portion. Will require math.)
They will probably be write-ups such as this one, since my video production quality sucks :P
It took a good amount of time to make this twenty-two-page long document on Google Docs, so any feedback - on content, writing style, diagrams, etc. - would be greatly appreciated! Thanks so much for reading this much!
EDIT: Formatting, links, Google Doc link, link to website
submitted by MingBatt to Nerf [link] [comments]

Overview of the Middle East in 2015 [Paladin]

So, here’s a glimpse at the world map for my superhero setting, Paladin, specifically focusing on the Middle East.
Much of the history of the Middle East went as we know it in our timeline, even with the addition of Metahumans and advanced technologies since 1945. Israel was established, and Metahuman soldiers fought on both sides, with the Israelis emerging victorious each time; European powers withdrew from the region, etc. A few things go differently, though; for instance, Dubai blossoms into a metropolis much sooner than in our timeline. In general, though, everything went as we might expect, until 1980. That was when World War III (1980-1984) broke out, and the villainous forces of the New Order fell upon the Middle East.
Spearheading the New Order’s efforts in the Arabian Peninsula was the S-rank supervillain, Set. A sociopath with the ability to control sand, Set made his base of operations in the shining city of Dubai, and created a massive sand storm that threatened to swallow the entire region.
Ultimately, Set was defeated by the combined forces of two unlikely heroes: an Israeli superhero named Golem and a Palestinian superheroine named Simurgh. The former had the ability to create automatons out of clay, mud and dirt, whilst the latter could take the form of a fiery six-winged bird, as well as transfer her energy into others to enhance their own abilities. They both did their best to fight Set, but in the end the situation required them to not only to work together, but to sacrifice their lives in order to save the Middle East. Simurgh transferred 100% of her power into Golem, who then poured everything he had into a ten-mile-tall colossus of mud and sea water, which he directed to destroy Set. Set, along with the entire city of Dubai, was crushed and buried under half a mile of earth. The Middle East was saved. The war would still rage on for two and a half more years, but without Set, the forces of the New Order were far, far easier to fight.
The lasting legacy of Golem and Simurgh’s sacrifice was a lasting peace between the Israelis and Palestinians, and the creation of the Federal Union of Israel and Palestine, a secular, bi-national confederation of two peoples united by the sacrifices of each other’s children. Between 1995 and 2006, a colossal bridge covered in solar panels was constructed, connecting the West Bank to Gaza. Today, almost a million people live on the Shalam Bridge.
Riyadh was destroyed by Set, killing most of the Saudi Royal Family. When the sand settled, the Saudi Civil War began, and didn’t end until 1999, with the Treaty of Kuwait City. The former territory of Saudi Arabia was broken up, with the oil-rich region of Nejd going to the Gulf Alliance, a confederation of Persian Gulf states, which had occupied Nejd for almost all of the Saudi Civil War. The last remnants of the Saudi Royal Family were put in charge of a revived Kingdom of Saudi Arabia, based in Jeddah. The Jordanians donated a member of their royal family to sit on the throne of the Kingdom of Hashemite Arabia, based in Tabuk. And lastly, all involved officially recognized the Free Territory of the Holy Cities, which was established during World War III by an international group of Muslim superheroes to protect Mecca and Medina first from Set, and then from the Saudi Civil War.
The Gulf Alliance is surprisingly progressive and forward thinking in its own way. As the region hardest-hit by Set’s rampage, it made sense for the governments of Kuwait, Bahrain, Qatar, Oman and the UAE to pool their resources in order to rebuild. Though most of the Middle East has been surprisingly welcoming to alien refugees from the moon (long story), due to the massive regional drop in population brought on by Set’s Storm, the Gulf Alliance has welcomed in the most. Though the Alliance itself is mostly secular, the locals have been rather successful at converting the alien newcomers to Islam. Work is still underway to dig up many of the destroyed oil wells, even as the world is moving towards more and more renewable energy.
As for Saudi Arabia and Hashemite Arabia, the latter is a moderate Arab constitutional monarchy, the former…isn’t. The degree to which it isn’t is kinda shocking, actually. Hashemite Arabia lets their women run for positions in parliament; Saudi Arabia 2.0 doesn’t permit women to leave their homes. Hashemite Arabia is debating abolishing the death penalty; Saudi Arabia doesn’t even have prisons – they have a waiting list for the guy with the scimitar who beheads people for anything from theft to lying about one’s virginity. Saudi Arabia is also backing North Yemen’s now-radicalized Royal Army (more on that clusterfuck later).
Moving across the Red Sea, we have the Arab Republic of Egypt, which…well, let’s just say, they have some interesting residents these days. During World War III, Egypt came under siege by the New Order, with the Nile Delta the site of some of the war’s most intense fighting. On one side, the New Order – supervillains, Taurus Group ground and air forces, robots, dinosaurs, African mercenaries, and thousands of undead Nazi soldiers. On the other side, the Allied forces – the Egyptian Army and local Egyptian superheroes, plus some unlikely back-up from the Muslim Brotherhood and the Israeli Air Force. However, the Allies were losing. Badly. So badly that the Egyptian government activated its covert “Osiris Plan”.
See, Taurus Group was able to resurrect the entire Wehrmacht by activating what’s known as a “Charnel Womb” (another long story), which the Nazis created in 1938 through their use of arcane science and mysticism. However, top secret archeological discoveries revealed that the Ancient Egyptians created their own, much more advanced Charnel Womb. Which Egyptian government agents activated. They were then greeted by an undead Metahuman pharaoh by the name of Neherkamun. Surprisingly reasonable, Neherkamun agreed to aid the Egyptian government. In exchange for some concessions later.
Five days later, hundreds of thousands of skeletons, mummies and zombies rode towards the Cairo war zone, astride skeletal and mummified horses, clad in bronze/crocodile leather armor, wielding swords, spears, axes, AK’s, RPK’s, RPG’s and PKM’s, backed up by lich-sorcerers and animated statues armed with massive clubs and scythes – this undead horde charged into Cairo, Alexandria and Giza, to liberate their once and forever homeland from the forces of evil. The forces of the dead were enough to turn the tide in favor of the Allies. With the New Order defeated in Egypt, the Egyptian Army and their new undead comrades then moved to assist Gaddafi in neighboring Libya.
The Egyptian government held up their end of the bargain with Neherkamun and created the Autonomous Region of the Dead in 1990, as an autonomous domain for Egypt’s new undead citizenry. The living are permitted to live in the ARD, though at this point, the dead outnumber them in cities like Luxor (renamed Waset), Edfu (Behdet) and Aswan (Swenett). Neherkamun visited Las Vegas in 1996 (when the city was rebuilt following the devastation it suffered during WW3), and was very much impressed; today, the nightlife in Waset, Behdet and Swenett is a strange Ancient Egyptian-themed neon rainforest with very friendly dead people walking around the gentrified necropolis, with street signs in both Arabic and hieroglyphics. In 1999, another autonomous region for the undead was created in the north of the country – the Autonomous Region of Giza, which has become even more of a tourist-y place than before, now that you can have a friendly conversation with the people who actually built the pyramids. Both autonomous regions have Neherkamun as their constitutional monarch, and all residents of the undead autonomous regions are members of the Egyptian republic.
What are the attitudes of living Egyptians towards their undead countrymen? Surprisingly positive, actually. Sure, some fundamentalists regard them as “spawn of Iblis”, but the undead have been a fairly…secularizing influence on Egypt. Being able to talk with your oldest ancestors brought about a revival of cultural interest in Ancient Egyptian history amongst the Egyptian youth, which pervades. Many undead are still waking up to this day, and they tend to be very, very curious about this new world that they find themselves in – familiar and yet so very strange. It’s not uncommon to see Undead Egyptians visiting Paris, New York, Rio, Tokyo or Moscow, though since most were peasants when they died, most simply remain in Egypt. Some Undead Egyptians have converted to Islam, but the overwhelming majority continue to worship the old gods of the Nile. 2015’s Miss Egypt is the very well-preserved Nefertiti, who became the first undead individual to win such a title.
To the south of Egypt, one can see two grey-ish territories. Before World War III, these were the disputed territories of Bir Tawil and the Hala’ib Triangle. During the war, the New Order made extensive use of combat robots during their invasion of Sudan, Eritrea, Somalia, Djibouti and Ethiopia. However, during the massacre of a village in Sudan in 1983, a simple infantry robot with the designation T9X1109 spontaneously developed sentience and led an uprising within Taurus Group’s mechanical legions in northwest Africa, establishing connections with other “enlightened autonomatons” and “uplifting” those who were not so “enlightened”. T9X1109’s mutiny was mostly successful, and he made an offer to the UN’s Joint Allied Command; in exchange for withdrawing from the conflict, T9X1109 and his “people” would be allowed to settle these disputed territories as a “homeland” for sentient machines. A neutral “machine homeland”, the Republic of 01001001 (binary for “I”; commonly called “01” or “Zero-One”), was created in 1984. In the years since the end of WW3, many machine intelligences have immigrated to this harsh and bitter desert nation, which is covered in solar panels to provide vital electricity for its approximately ~41,233 intelligences. Increasingly, cyborg transhumanist types have made their “pilgrimage” to Zero-One as well, where they evangelize their strange techno-religion to the human refugees from neighboring war-torn Sudan who’ve been permitted to seek refuge in the mechanical country (this is one reason why Cairo likes Zero-One: it’s a convenient Sudanese refugee sponge of sorts). Zero-One has a strictly pacifistic constitution and possesses no military. Its economy is based mostly on production of batteries.
Saddam Hussein’s regime performed impressively during WW3, and he was able to win over much of the public as a result. But he over-played his hand, and thought he could go back to his old ways. He was wrong, and an idealistic, Western-educated superhero by the name of Ninurta (real name: Mohammed Al-Doori) led the uprising against Saddam in 2002. His parents fled Iraq for Canada shortly after the Ba’athists came to power in Iraq in 1968, and young Mohammed longed to return to free his homeland. After deposing Saddam, the eagle-headed superhero abolished the Ba’athist regime and replaced it with a secular, democratic government – the Mesopotamian Confederation of Iraq, with himself as its wise and benevolent dictator. Every office and position in the new Iraq is elected through a multi-party democratic system, with the exception of Ninurta’s position as President. The Federation is divided into six autonomous republics, plus the independent capital district of Baghdad. The six “Mesopotamian Republics” are Babylonia (Sunni Arab majority), Sumeria (Shiite Arab majority), Kurdistan (Kurdish majority), Assyria (Christian Assyrian majority), Sinjar (Yazidi majority) and Akkad (Turkman majority). Under Ninurta’s rule, much has been done to mitigate the country’s historical ethnic tensions and to modernize Iraq. Though most of the time, Ninurta is busy helping to build infrastructure, or assisting the Iraqi Defense Forces with rooting out Islamist or Ba’athist terrorists; there are fundamentalist Muslims who disapprove of Ninurta’s love affair with ancient Mesopotamia or take issue with his atheism, and the Ba’athists are salty that he overthrew Saddam.
To the east of Iraq is the Persian Technate. In 1979-1980, Iran was a country on the verge of revolution, and between despotic monarchs and totalitarians of both the Islamist and Marxist variety, a low-level Metahuman supergenius by the name of Hamid Mousavi created a fourth option for his beloved Iranian homeland – a secular, scientifically-minded brand of populist technocracy. World War III began shortly after the Iranian Revolution, and amid the chaos, with loyalist and revolutionary forces and third and fourth parties fighting each other and the New Order, the Iranian Technocratic Revolutionary Army managed to fight its way to be top dog in the Iran Theatre. When all was said and done, Mousavi effectively controlled the country, thanks to his brilliant grasp of strategy and his charismatic brand of “scientific populism”. In 1986, the Iranian Revolution ended, and the Persian Technate was officially recognized by the US and USSR. Today, the Persian Technate is a rationalist, secular regime governed by scientists, engineers, mathematicians. The Technate’s not very democratic, and though they have a lot of fancy doo-dads, the planned economy is kinda mediocre. Following the death of Mousavi in 2010, his successor’s lack of charisma isn’t helping the growing sense of dissatisfaction with the eggheads ruling Iran.
Turkey has not had a fun time. During World War III, the country was invaded by Taurus Group, backed by Reticulan tripods. Immediately prior to the start of the war, Turkey’s military government was devastated by a string of assassinations carried out by ninjas sent by the Red Hand. To add fuel to the fire, a very young Metahuman in the province of Bayburt experienced a panic attack, unleashing all of its power at once. That glowing blue orb and the “Gulf of Trabzon” you see? That’s the result. The shockwaves resulted in earthquakes across Turkey and tsunamis along the Soviet coastline in the eastern Black Sea, killing upwards of a million people.
Despite all this chaos, the splintered and factionalized Turkish armed forces were able to liberate their homeland from the New Order. Following the end of hostilities in 1984, the National Transitional Council of Turkey was formed, bringing the three main factions of the Turkish Army together – a secular republican faction, a “theodemocratic” Islamist faction, and a Neo-Ottmanist faction advocating for a constitutional monarchy. Negotiations were tense, with militias and paramilitaries clashing in the streets across Turkey, Turkish and Armenian separatists making their moves, and the Syrians expanding their sphere of influence into Hatay. The Turkish national election of 1995 ended badly, with violence raging across the country and the military factions breaking away from the NTCT to back their political allies in the streets. The Turkish Civil War (1995-2001) had begun.
When the dust settled in 2001, a NATO intervention in Turkey resulted in a negotiated ceasefire brokered by the Sentinel Coalition (which still occupies the Bosporus Straits). The country was now divided into the Republic of Turkey (“Republican Turkey”, Istanbul), the Islamic Republic of Turkey (“Islamic Turkey”, Ankara) and the Sultanate of Turkey (“Ottoman Turkey”, Adana). That last one is a mostly-secular constitutional monarchy headed by Dündar Ali Osman, the last heir of the old House of Osman. Relations between the “Three Turkeys” have been tense at times, with Islamic Turkey currently in the midst of a military build-up, fearing the growing ties between Republican and Ottoman Turkey.
Istanbul, Ankara and Adana were all forced to recognize the independence of Kurdistan, as well as, more controversially, the Free State of Izmir.
Allow me to explain Izmir. At the start of the Turkish Civil War, a giant, tentacled Kaiju by the name of Atlas took advantage of the chaos in Turkey to take over Izmir and the surrounding area from the Republican and Islamist forces fighting there. A fan of Ayn Rand, Atlas decided to turn Izmir into his own little capitalist utopia. And the people living there decided to go along with the 300-foot beast’s plan. Today, Izmir is a city in the vein of Las Vegas, Singapore and Bangkok – a free market wonderland of Ottoman and Art Deco architecture with its dictator spending most of his time along the bottom of the Gulf of Izmir.
The People’s Republic of Kurdistan started out as a socialist republic ruled by the PKK (Kurdistan Worker’s Party). Backed by the USSR, Kurdistan made the transition to a multi-party social democracy in 2004.
Meanwhile, in Republican Turkey’s far-eastern provinces the unrecognized and widely-hated “Armenian Republic of Tačkahayastan” claims authority there. The ART is headed by a pyrokinetic Metahuman and Armenian ultra-nationalist by the name of Azhdahak, who is overseeing a rather ironic campaign of ethnic cleansing against the local Turks. Republican Turkey keeps asking Armenia to do something about the flow of arms that’s obviously coming across their border, to which Armenia shrugs and plays stupid every time. Increasingly, however, more and more Armenians are deciding to agitate in favor of ending the madness, and the Soviets are getting around to tapping Yerevan on the shoulder.
North Yemen is…yeah, pretty much a clusterfuck.
The Mutawakkilite Kingdom (North Yemen) and the People’s Democratic Republic of Yemen (South Yemen) put their differences aside to fight against the New Order, and more or less reached a state of détente with the war’s conclusion. This lasted about 30 years.
Around 2010, the failing Mutawakkilite monarchy began experiencing major uprisings by left-wing protestors backed by South Yemen. On the brink of civil war, and with much of the kingdom’s military siding with the protestors, the Yemeni monarchy made the very, very questionable decision to ally with a supervillain by the name of The Claw. For a while, The Claw was able to keep things under control, though on his watch, North Yemen increasingly became a police state. At the same time, The Claw started to gain his share of odd supporters from the populace. Believing that they could take over the security infrastructure The Claw had built, the Mutawakkilites tried and failed to assassinate him in 2013. Almost immediately afterwards, The Claw staged a coup, backed by his private army of cyborg mercenaries and his following of Yemeni supporters. The Mutawakkilites fled to Saudi Arabia while the Royal Army remained to fight against The Claw’s army, and the left-wing North Yemen Democratic Forces rose up. The North Yemen Civil War had begun. South Yemen continued to back the NYDF, but stopped short of committing their forces to the three-way conflict, believing that the Royalists (backed by Saudi Arabia) and The Claw’s forces (backed by nobody) could be easily defeated. South Yemen’s military was actually busy assisting the Soviets and Ethiopians in Somalia during most of the North Yemen Civil War.
Then, in 2014, half of Aden was ripped a series of explosions in the early morning hours. Suicide bombers, whose explosives were traced back to The Claw’s growing transhumanist cult of cyborgs. Though The Claw himself denounced the attack as the actions of a rogue henchmen acting against his orders, South Yemen announced that it would be withdrawing its forces from Somalia to “rectify a previous error in judgement” and invade North Yemen. The Soviet Union and Egypt have both agreed to back South Yemen’s move and have committed troops to backing the NYDF.
So, conclusion? Middle East is a bit of a mixed bag. Some good, some bad, lots of interesting, I suppose.
submitted by NK_Ryzov to FantasyWorldbuilding [link] [comments]

Perpetual Option: Och-Ziff Capital Management Group (OZM)

In his book, You Can Be a Stock Market Genius, Greenblatt talks about using LEAPs to make leveraged bets. The book included his trade in Wells Fargo (WFC, another topic for a future post, I suppose).
But sometimes, stocks get down so cheap that they become priced like options. In the Genius book, the WFC LEAPs were priced at $14 while the stock was at around $77.
Here, we have a hedge fund manager trading less than $3.00/share, which is a typical price for regular options, not even LEAPs. Of course, all stocks are options on the residual value of businesses. But sometimes things are priced for either a large gain or zero, just like an option.
I call this a perpetual option, but that reminds me of those lifetime warranties. Like, who's lifetime? The manufacturer's? The store's? Yours? Nothing is forever, so I guess there really is no such thing as a perpetual option. But anyway...
Och-Ziff IPO'ed in 2007 at $32/share and traded in the mid $20's right before the crisis, then down to below $5.00 during the crisis and back up to the mid-teens. I've been watching this since the IPO and looked at it again when it was trading around $10/share. It's down quite a bit since then. I didn't own it back then but I did take a small bite down at $5.00/share.
I have mentioned other private equity and hedge fund managers here in the past but haven't owned most of them because of the amount of money that seemed to be going into alternatives. I was just worried that the AUM's of all of these alternative managers were going up so quickly that I couldn't imagine them earning the high returns that made everyone rush to them in the first place. Look at the presentation of any of these alternative managers and their AUM growth is just staggering.
Extremely Contrarian We investors walk around and think about all sorts of things; look at store traffic, taste new foods/restaurant concepts, count how many Apple watches people are wearing (I recently biked around the city with my kid (Brooklyn to Central Park, around the park (around the big loop) and all the way downtown back to Brooklyn (30+ miles) and I think I counted two Apple watches that I saw compared to countless iPhones. And this was in the summer so no coats or long sleeves to hide wrists).
And a couple of the things that we tend to think about are, What does everybody absolutely love, and what are they 100% sure of (other than that Hillary will win the election and that the market will crash if Trump wins), and What do people absolutely, 100% hate and don't even want to talk about? In the investing world right now, it seems like the one thing that everybody seems to agree with is that active investing is dead (OK, not completely true because we active investors never really lose faith in it). The data points to it (active managers underperforming for many years, legendary stock pickers too not performing all too well, star hedge funds not doing well etc...). The money flows point to it (cash flowing out of active managers and into passive funds, boom in index funds / ETFs; this reminds me of the 1990's when there were more mutual funds than listed companies. There are probably more ETFs now than listed companies). Sentiment points to it (stars and heroes now are ETF managers, quants etc.).
By the Way Oh, and by the way, in case people say that it is no longer possible due to this or that reason for humans to outperform indices or robots, I would just say that we have seen this before. Things in finance are cyclical and we've seen this movie before.
From the 1985 Berkshire Hathaway Letter, Most institutional investors in the early 1970s, on the other hand, regarded business value as of only minor relevance when they were deciding the prices at which they would buy or sell. This now seems hard to believe. However, these institutions were then under the spell of academics at prestigious business schools who were preaching newly-fashioned theory: the stock market was totally efficient, and therefore calculations of business value -- and even thought, itself -- were of no importance in investment activities. (We are enormously indebted to those academics: what could be more advantageous in an intellectual contest -- whether it be bridge, chess or stock selection than to have opponents who have been taught that thinking is a waste of energy?)
What Do People Hate? So, back to what people absolutely hate. People hate active managers. It's not even stocks that they are not interested in. They hate active managers. Nobody outperforms and their fees are not worth it. What else do they hate? They hate hedge funds. I don't need to write a list here, but you just keep reading one institution after another reducing their exposure to hedge funds. There is a massive shakeout going on now with money leaving hedge funds. Others like Blackstone argues that this is not true; assets are just moving out of mediocre hedge funds and moving into theirs.
This is a theme I will be going back to in later posts, but for now I am just going to look at OZM.
OZM OZM is a well-known hedge fund firm so I won't go into much detail here. To me, it's sort of a conventional equity-oriented hedge fund that runs strategies very typical of pre-Volcker rule Wall Street investment banks; equity long/short, merger arb, convertible arb etc. They have been expanding into credit and real estate with decent results. But a lot of their AUM is still in the conventional equity strategies.
What makes OZM interesting now is that chart from the Pzena Investment report (see here). These charts make it obvious why active managers have had such a hard time. The value spread has just continued to widen since 2004/2005 through now. Cheap stocks get cheaper and expensive stocks get more so. You can see how this sort of environment could be the worst for long/short strategies (and value-oriented long strategies, and even naked short strategies for that matter). Things have just been going the wrong way with no mean reversion.
But if you look at where those charts are now, you can see that it is probably exactly the wrong time to give up on value strategies or value-based long/short strategies; in fact it looks like the best time ever to be looking at these strategies.
Seeing that, does it surprise me that many pension funds are running the other way? Not at all. Many large institutions chase performance and not future potential.
Conceptually speaking, they would rather buy a stock at 80x P/E that has gone up 30%/year in the past five years that is about to tank rather than buy an 8x P/E stock that has gone nowhere in the past five years but is about to take off; they are driven by historic (or recent historic) performance.
OZM Performance Anyway, let's look at the long term performance of OZM. This excludes their credit and real estate funds which are doing much better and are growing AUM.
This is their performance since 1994 through the end of 2015:
OZM fund S&P500 1994 28.50% 5.30% 1995 23.50% 27.40% 1996 27.40% 23.00% 1997 26.70% 33.40% 1998 11.10% 28.60% 1999 18.80% 21.00% 2000 20.60% -9.10% 2001 6.30% -11.90% 2002 -1.60% -22.10% 2003 24.00% 28.70% 2004 11.10% 10.90% 2005 8.80% 4.90% 2006 14.80% 15.80% 2007 11.50% 5.50% 2008 -15.90% -37.00% 2009 23.10% 26.50% 2010 8.50% 15.10% 2011 -0.50% 2.10% 2012 11.60% 16.00% 2013 13.90% 32.40% 2014 5.50% 13.70% 2015 -0.40% 1.40% 5 year avg 5.85% 12.57% 10 year avg 6.69% 7.32% Since 1994 12.05% 8.87% Since 2000 7.59% 5.01% Since 2007 5.14% 6.53%
So they have not been doing too well, but it's really only the last couple of years that don't look too good. Their ten-year return through 2013 was +8.2%/year versus +7.4%/year for the S&P 500 index. It's pretty obvious that their alpha has been declining over time.
For those who want more up-to-date figures, I redid the above table to include figures through September-end 2016. And instead of 5 year and 10 year returns, I use 4.75-year and 9.75-year returns; I thought that would be more comparable than saying 5.75-year and 10.75-year, and I didn't want to dig into quarterly figures to get actual 5 and 10s.
OZM fund S&P500 1994 28.50% 5.30% 1995 23.50% 27.40% 1996 27.40% 23.00% 1997 26.70% 33.40% 1998 11.10% 28.60% 1999 18.80% 21.00% 2000 20.60% -9.10% 2001 6.30% -11.90% 2002 -1.60% -22.10% 2003 24.00% 28.70% 2004 11.10% 10.90% 2005 8.80% 4.90% 2006 14.80% 15.80% 2007 11.50% 5.50% 2008 -15.90% -37.00% 2009 23.10% 26.50% 2010 8.50% 15.10% 2011 -0.50% 2.10% 2012 11.60% 16.00% 2013 13.90% 32.40% 2014 5.50% 13.70% 2015 -0.40% 1.40% 2016* 1.10% 7.80% 4.75 year 6.53% 14.58% 9.75 year 5.48% 6.72% Since 1994 11.68% 8.92% Since 2000 7.29% 5.27% Since 2007 4.82% 6.86%
So over time, they have good outperformance, but much of that is from the early years. As they get bigger, it's not hard to see why their spread would shrink.
They are seriously underperforming in the 4.75 year, but that's because the S&P 500 index was coming off of a big bear market low and OZM didn't lose that much money, so I think that is irrelevant, especially for a long/short fund.
More relevant would be figures from recent market peaks which sort of shows a through-the-cycle performance. Since the market peak in 2000, OZM has outperformed with a gain of +7.3%/year versus +5.3%/year for the S&P, but they have underperformed since the 2007 peak. A lot of this probably has to do with the previous charts about how value spreads have widened throughout this period.
I would actually want to be increasing exposure to this area that hasn't worked well since 2007. Some of this, of course, is due to lower interest rates. Merger arb, for example, is highly dependent on interest rates as are other arbitrage type trades. (The less risk there is, the closer to the short term interest rate the return is going to be.)
One thing that makes me scratch my head, though, in the 3Q 2016 10-Q is the following: OZ Master Fund’s merger arbitrage, convertible and derivative arbitrage, corporate credit and structured credit strategies have each generated strong year-to-date gains through September 30, 2016. In merger arbitrage, certain transactions in which OZ Master Fund participated closed during the third quarter, contributing to the strategy’s year-to-date gross return of +1.3%. Convertible and derivative arbitrage generated a gross return of +0.5% during the third quarter, driven by gains in convertible arbitrage positions, commodity-related volatility, commodity spreads and index volatility spread trades. Year-to-date, convertible and derivative arbitrage has generated a gross return of +1.3%. In OZ Master Fund’s credit-related strategies, widening credit spreads and certain event-driven situations added +0.4% to the gross return within corporate credit during the third quarter, while in structured credit, a +0.9% gross return during the quarter was attributable to the realization of recoveries in certain of our idiosyncratic situations. Year-to-date, the corporate credit and structured credit strategies are each up +1.2% on a gross basis. Gross returns of less than 2% are described as "strong". Hmm... I may be missing something here. Maybe it is 'strong' versus comparable strategies. I don't know. Anyway, moving on...
Greenblatt Genius Strategies Oh yeah, and by the way, OZM is one of the funds that are heavily into the yellow book strategies. Here's a description of their equity long/short strategy: Long/short equity special situations, which consists of fundamental long/short and event-driven investing. Fundamental long/short investing involves analyzing companies and assets to profit where we believe mispricing or undervaluation exists. Event-driven investing attempts to realize gain from corporate events such as spin-offs, recapitalizations and other corporate restructurings, whether company specific or due to industry or economic conditions.
This is still a large part of their book, which is a good thing if you believe that the valuation spreads will mean revert and that Greenblatt's yellow book strategies are still valid.
One thing that may temper returns over time, though, is the AUM level. What you can do with $1 billion in AUM is not the same as when you have $10 billion or $30 billion. I don't think Greenblatt would have had such high returns if he let AUM grow too much.
This seems to be an issue with a lot of hedge funds. Many of the old stars who were able to make insane returns with AUM under $1 billion seem to have much lower returns above that level.
Here is OZM's AUM trend in the past ten years. Some of the lower return may correlate to the higher AUM, not to mention higher AUM at other hedge funds too reducing spreads (and potential profits).
Just to refresh my memory, I grabbed the AUM chart from the OZM prospectus in 2007. Their AUM was under $6 billion until the end of 2003 and then really grew to over $30 billion by 2007.
Their 10-year return through 2003 was 18%/year vs. 10.6%/year for the S&P 500 index.
From the end of 2003 through the end of 2015, OZM's funds returned +7.2%/year versus +7.4%/year for the S&P 500 index. So their alpha basically went from 7.4%/year outperformance to flat.
This is actually not so bad as these types of funds often offered 'equity-like' returns with lower volatility and drawdowns. The long/short nature of OZM funds means that investors achieved the same returns as the S&P 500 index without the full downside exposure. This is exactly what many institutions want, actually.
But still, did their growth in AUM dampen returns? I think there is no doubt about that. These charts showing tremendous AUM growth is the reason why I never owned much of these alternative managers in the past few years I've been watching them.
The question is how much of the lower returns are due to the higher AUM. Of course, some of this AUM growth is in other strategies so not all new AUM is squeezed into the same strategies.
Will OZM ever go back to the returns of the 1990's? I doubt that. First of all, that was a tremendous bull market. Plus, OZM's AUM was much smaller so they had more opportunities to take advantage of yellow book ideas and other strategies.
Boom/Bubble Doesn't Mean It's a Bad Idea By the way, another sort of tangent. Just because there is a big boom or bubble in something doesn't necessarily make that 'something' a bad idea. We had a stock market bubble in the late 1920's that ended badly, but owning parts of businesses never suddenly became a bad idea or anything. It's just that you didn't want to overpay, or buy stocks for the wrong reasons.
We had a boom in the late 1990's in stocks that focused on picking stocks and owning them for the long term as exemplified by the Beardstown Ladies. Of course, the Beardstown Ladies didn't end well (basically a fraud), but owning good stocks for the long haul, I don't think, ever became a bad idea necessarily.
We had a tremendous housing bubble and various real estate bubbles in recent years. But again, owning good, solid assets at reasonable prices for the long haul never became a bad idea despite the occasional bubbles and collapses.
Similarly, hedge funds and alternative assets go through cycles too. I know many value investors are not with me here and will always hate hedge funds (like Buffett), but that's OK.
We've had alternative cycles in the past. Usually the pattern is that there is a bull market in stocks and people rush into stocks. The bull market inevitably ends and people lose money. Institutions not wanting to lose money rush into 'alternative' assets. Eventually, the market turns and they rush back into equities.
I think something similar is happening now, but the cycle seems a bit elongated and, and the low interest rates is having an effect as alternatives are now attracting capital formerly allocated to fixed income. In the past, alternatives seemed more like an equity substitution, risk asset.
Valuation OK, so what is OZM worth?
Well, a simple way of looking at it is that OZM has paid an average of $1.10/year in dividends in the last five years. During the past five years, the funds returned around 6%/year, so it's not an upside outlier in terms of fund performance.
Put a 10x multiple on it and the stock is worth $11/share.
Another way to look at it is that the market is telling you that it is unlikely that OZM will enjoy the success even of the past five years over the next few years. Assuming a scenario of failure (stock price = 0) or back to sort of past five years performance ($11), a $3.00 stock price reflects the odds of failure at 73% and only a 27% chance that OZM gets back to it's past five year average-like performance. Of course, OZM can just sort of keep doing what it's doing and stay at $3.00 for a long time too.
There is a problem with this, though, as the dividends don't reflect equity-based compensation expense; OZM gives out a bunch of RSU's every year.
To adjust for this, let's look at the economic earnings of the past five years including the costs of equity-based compensation.
Equity-based compensation expense not included in economic income is listed below ($000):
2008 102,025 2009 122,461 2010 128,737 2011 128,916 2012 86,006 2013 120,125 2014 104,344 2015 106,565
It's odd that this doesn't seem to correlate to revenues, income or AUM; it's just basically flat all the way through.
If we include this, economic income at OZM averaged around $520 million/year. With fully diluted 520 million shares outstanding, that's around $1.00/share in economic earnings per share that OZM earned on average over the past five years. So that's not too far off from the $1.10/share dividends we used above.
One of the interesting things about investing is when you find alternative ways to value something instead of just the usual price-to-book values, P/E ratios etc.
So how would you value this?
What about adjusting the implied odds from the above. What if we said there's a 50/50 chance of recovery or failure. Let's say recovery is getting back to what it has done over the past five years on average, and failure is a zero on the stock.
50% x $0.00 + 50% x $10.00 = $5.00/share
In that case, OZM is worth $5.00/share, or 70% higher than the current price. You are looking at a 60 cent dollar in that case.
Let's say there is a 70% chance of recovery.
70% x $10.00 + 30% x $0.00 = $7.00/share.
That's 130% higher, or a 40 cent dollar.
By the way, the AUM averaged around $37 billion over the past five years, and remember, their return was around 5.9%/year so these figures aren't based on huge, abnormal returns or anything.
As of the end of September 2016, AUM was $39.3 billion, and this went down to $37 billion as of November 1, 2016. OZM expects continued redemptions towards year-end both due to their Justice Department/SEC settlement and overall industry redemption trends.
The above ignored balance sheet items, but you can deduct $0.60/share, maybe, of negative equity, or more if you think they need more cash on the balance sheet to run their business.
Preferred Shares As for the $400 million settlement amount and preferred shares, the settlement amount is already on the balance sheet as a liability (which was paid out after the September quarter-end). The preferred shares were sold after the quarter ended. They have zero interest for three years so I don't think it impacts the above analysis. You would just add cash on the balance sheet and the preferreds on the liability side.
If you want to deduct the full amount of the settlement of $400 million, you can knock off $0.77/share off the above valuation instead of the $0.60/share.
Earnings Model The problem with these companies is that it's impossible, really, to predict what their AUM is going to be in the future or their performance. Of course, we can guess that if they do well, AUM will increase and vice-versa.
But still, as a sanity check, we should see how things look with various assumptions in terms of valuation.
First of all, let's look at 2015. In the full year to 2015, a year that the OZM funds were down (master fund), they paid a dividend of $0.87. Adjusted economic income was $240 million (economic income reported by OZM less equity-based comp expense) and using the current fully diluted shares outstanding of 520 million, that comes to $0.46/share. OK, it's funny to use current shares outstanding against last year's economic income, but I am trying to use last years' earnings as sort of a 'normalized' figure.
Using these figures from a bad year, OZM is current trading at a 29% dividend yield (using $3.00/share price) and 6.5x adjusted economic income. This would be 8.3x if you added the $0.77/share from the settlement above.
OK, so average AUM was $44 billion in 2015, so even in a bad year, they made tons in management fees. Fine. We'll get to that in a second. AUM is $37 billion as of November 2016, and is probably headed down towards year-end.
2016 Year-to-Date So let's look at how they are doing this year so far. Fund performance-wise, it hasn't been too good, but they do remain profitable. These fund businesses are designed so that their fixed expenses are covered by their management fees. Big bonuses are paid out only when the funds make money.
Anyway, let's look at 2016 so far in terms of economic income.
In the 3Q of 2016, economic income was $57.4 million. Equity-based compensation expense was $18.3 million so adjusted economic income was $39.1 million. Annualize that and you get $156 million. Using 520 million fully diluted shares (share amount used to calculate distributable earnings in the earnings press release), that comes to $0.30/share adjusted economic income. So at $3.00/share, OZM is trading at 10x arguably depressed earnings. (This excludes the FCPA settlement amount). If you include $400 million of the FCPA preferreds (total to be offered eventually), then the P/E would actually be closer to 12.6x.
For the year to date, economic income was $195 million, and equity-based comp expense was $56 million so adjusted economic income was $139 million. Again using 520 million shares, that comes to $0.25/share in adjusted economic earnings per share. Annualize that and you get $0.33/share. So at $3.00/share, OZM is trading at 9x depressed earnings, or 11x including the FCPA preferred.
OK, so maybe this is not really 'depressed'. With still a lot of AUM, it is possible that AUM keeps going down.
AUM was $37 billion in November, but let's say it goes down to $30 billion. That's actually a big dip. But let's say AUM goes down there. And then let's assume 1% management fees, 20% incentive fees, and economic income margin of 50% (averaged 56% in past five years) and the OZM master fund return of 5%.
In this case, economic income would be $300 million. Equity-based comp costs seems steady at around $100 million, so we deduct that to get adjusted economic income. This comes to $200 million.
That comes to around $0.40/share. At $3.00/share, that's 7.5x adjusted economic earnings, or a 13% yield, or 9.4x and 10.6% yield including the FCPA preferreds.
So that's not bad. We are assuming AUM dips to $30 billion and OZM funds only earn 5%/year, and with that assumption the stock is trading at this cheap level.
Things, of course, can get much worse. If performance doesn't improve, AUM will keep going down. You can't really stress test these things as you can just say their returns will never recover and that's that.
On the other hand, any improvement can get you considerable upside.
If assets return to $40 billion and returns average 6% over time, economic income margin goes to 56% (average of past five years), adjust economic income per share is $0.76/share and the stock could be worth $7.60/share for more than a double.
Here's a matrix of possibilities. Skeptics will say, where are the returns below 5% and AUM below $30 billion?!
Well, OK. If returns persist at lower than 5%, it's safe to assume that AUM will go down and this may well end up a zero. That is certainly a possibility. It wouldn't shock many for another hedge fund to shut down.
On the other hand, if things do stabilize, normalize and OZM recovers and does well, there is a lot of upside here. What is interesting to me is that the market is discounting a lot of bad and not pricing in much good. This is when opportunities occur, right?
5% 6% 7% 8% 9% 10% 30,000 $0.45 $0.52 $0.58 $0.65 $0.71 $0.78 35,000 $0.56 $0.64 $0.71 $0.79 $0.86 $0.94 40,000 $0.67 $0.76 $0.84 $0.93 $1.01 $1.10 45,000 $0.78 $0.87 $0.97 $1.07 $1.16 $1.26 50,000 $0.88 $0.99 $1.10 $1.21 $1.32 $1.42 55,000 $0.99 $1.11 $1.23 $1.35 $1.47 $1.58 60,000 $1.10 $1.23 $1.36 $1.49 $1.62 $1.75
The row above is the assumed return of the OZM funds. The left column is the AUM. Assumptions are 1% management fee, 20% incentive fee, 56% economic income margin (excluding equity-based comp expense) and $100 million/year in equity-based comp expense.
It shows you that it doesn't take much for adjusted economic income per share to get back up to closer to $1.00, and can maintain $0.45/share even in a $30 billion AUM and 5% return scenario making the current stock price cheap even under that scenario.
Conclusion Having said all that, there is still a lot of risk here. Low returns and low bonuses can easily make it hard for OZM to keep their best people. But if their best people perform, I assume they do get paid directly for their performance so that shouldn't be too much of an issue.
A lot of the lower returns in recent years is no doubt due to their higher AUM. But it is also probably due to crowding of the hedge fund world and low interest rates leading to an overall lower return environment for all.
If you think these things are highly cyclical, then you can expect interest rates to normalize at some point. Money flowing out of hedge funds should also be good for future returns in these strategies. The part of lower returns at OZM due to higher AUM may not reverse itself, though, if OZM succeeds in maintaining and increasing AUM over time.
But even without the blowout, high returns of the 1990's, OZM can make decent returns over time as seen in the above table.
In any case, unlike a few years ago, the stock prices of many alternative managers are cheap (and I demonstrated how cheap OZM might be here) and institutional money seems to be flowing out of these strategies.
So: OZM is cheap and is in a seemingly universally hated industry Money is flowing out of these strategies, particularly performance chasing institutions (that you would often want to fade) there is a bear market in active managers and bubble in indexing (which may actually increase opportunities for active managers) value spreads are wide and has been widening for years making mean reversion overdue etc. These things make OZM a compelling play on these various themes.
I would treat this more like an option, though. Buy it like you would buy an option, not like you would invest in, say, a Berkshire Hathaway.
There are a lot of paths here to make good money, but there are also plenty of ways to lose. If you look at this like a binary option, it can be pretty interesting!
Posted by kk at 8:11 PM No comments: Links to this post Email This BlogThis! Share to Twitter Share to Facebook Share to Pinterest
Labels: OZM
Saturday, October 29, 2016 Gotham's New Fund Joel Greenblatt was in Barron's recently. He is one of my favorite investors so maybe it's a good time for another post.
Anyway, this new fund is kind of interesting as I am sort of a tinkerer; this is like the product of some financial tinkering. I don't know if it's the right product for many, but we'll take a look.
But first, let's see what he has to say about the stock market in general.
The Market Greenblatt says that the market is "expensive". The market is in the 21st percentile of expensive in the past 25 years. Either a typo or he misspoke, he is quoted as saying that the market has been more expensive 79% of the time in the past 25 years. Of course, he means the market has been cheaper 79% of the time.
The year forward expected return from this price level is between 2% to 7%, so he figures it averages out to 4% to 6% per year. In the past 25 years, the market has returned 9% to 10%/year so he figures the market is 12% to 13% more expensive than it used to be.
He says: Well, one scenario could be that it drops 12% to 13% tomorrow and future returns would go back to 9% to 10%. Or you could underearn for three years at 4% to 6%. We're still expecting positive returns, just more muted. The intelligent strategy is to buy the cheapest things you can find and short the most expensive.
But... Immediately, bears will say that this 25 year history is based during a period when interest rates went down. The 10 year bond rate was around 8% back in 1991, and is now 1.8%. In terms of valuation, this would have pushed up asset values by 6.2%/year ($1.00 discounted at 8%/year then and $1.00 discounted by 1.8% now).
Declining rates were certainly a factor in stock returns over the past 25 years. Of course, the stock market didn't keep going up as rates kept going down. The P/E ratio of the S&P 500 index at the end of 1990 was around 15x, and now it's 25x according to Shiller's database (raw P/E, not CAPE). So the valuation gain over the 25 years accounted for around 2%/year of the 9-10% return Greenblatt states.
Here are the EPS estimates for the S&P 500 index according to Goldman Sachs:
2016 $105 20.4x 2017 $116 18.5x 2018 $122 17.6x
Earnings estimates are not all that reliable (estimates have been coming down consistently in the past year or so). But since most of 2016 is done, I suppose the $105 figure should be OK to use.
I don't know if it's apples to apples (reported versus operating etc.), but if we assume the 'current' P/E of the market is 20x, then the valuation tailwind accounted for 1.2%/year of the 9-10%. But then of course, even if this was a fair comparison, there is still the aspect of lower interest rates boosting the economy by borrowing future demand (and therefore overstating historical earnings).
In any case, one of the main bearish arguments is that this interest rate tailwind in the past will become a headwind going forward. Just about everyone agrees with that.
But as I have mentioned before, calling turns in interest rates is very hard, Japan being a great example. If you look at interest rates over the past 100 years or more, you see that major turns in trend don't happen all that often; it's been a single trend of declining rates since the 1980/81 peak, basically. What are the chances that you are going to call the next big turn correctly? I would bet against anyone trying. OK, that didn't come out right. I wouldn't necessarily be long the bond market either.
Gotham Index Plus So, back to the topic of Gotham's new fund. It is a fascinating idea. The fund will go long the S&P 500 index, 100% long, and then overlay a 90%/90% long/short portfolio of the S&P 500 stocks based on their valuations.
The built-in leverage alone makes this sort of interesting. Many institutions may have an allocation to the S&P 500 index, and then some allocation to long/short equity hedge funds. The return of the Gotham Index plus would be much higher (when things go well).
I think this sort of thing was popular at some point in the pension world; index plus alpha etc. Except I think a lot of those were institutions replacing their S&P 500 index portfolios with futures positions, and then using the cash raised to buy mortgage securities. Of course, when things turned bad, oops; they took big hits in S&P 500 futures, tried to post cash for the margin call and realized that their mortgage funds weren't liquid (and was worth a lot less than they thought).
Or something like that.
There is risk here too, of course. You are overlaying two risk positions on top of each other. When things turn bad, things can certainly get ugly.
I think Greenblatt's calculation is that when things turn bad, the long/short usually does well. I haven't seen any backtests or anything, so I don't know what the odds of a blowup are.
Expensive stocks tend to be high-beta stocks and cheaper stocks may be lower beta, so in a market correction, the high-beta, expensive names may go down a lot harder.
To some extent, lower valuations may reflect more cyclicality, lower credit risk / lower balance sheet quality too so you have to be a little careful. In a financial crisis-like situation, lower valuation (lower credit quality) can tank and some higher valuation names may hold up (like the FANG-like stocks).
But Greenblatt's screen is not just raw P/E or P/B, but is tied to return on capital, so maybe this is not as much of an issue compared to a pure P/B model.
The argument for this structure is that people can't stay with a strategy if it can't keep up with the market. Here, the market return is built in from the beginning and you just hope for the "Plus" part to kick in. In a long/short portfolio, the beta is netted out to a large extent so can lower potential returns. This fixes that. But there is a cost to that.
In any case, I do think it's a really interesting product, but keep in mind that it is a little riskier than Gotham's other offerings.
Oh, and go read the article on why this new fund is a good idea. Greenblatt is always a great read.
Chipotle (CMG) Well, Chipotle earnings came out and it was predictably horrible. The stock is not cheap so it hasn't been recommendable in a while, but I really like the company. There was a really long article on them recently which was a great read. It didn't really change my view of them all that much. I think they will get a lot of business back, eventually.
The earnings call was OK, but what was depressing about it was that they decided to ditch Shophouse. I don't think any analysts asked about it so it was a given, I guess. I had it a couple of times in DC and liked it and was looking forward to it in NY, but I guess that's not going to happen. As an investor, that was not baked into the cake, I don't think, even though there was probably some hope that the CMG brand can be extended into other categories.
This puts a lot of doubt into that idea. Someone said that brand extensions in restaurants/retail never work, and that has proven to be the case here. I wouldn't get too excited about pizza and burgers either. Burgers are really crowded now and will only get more so.
If CMG has to look to Europe for growth, that is not so great either as the record of U.S. companies expanding into Europe is not good. I would not count on Europe growth.
Anyway, this doesn't mean it's all over for CMG. I think they will come back, but there are some serious headwinds now other than their food poisoning problem; more competition etc. They were the only game in town for a while, but now everyone seemingly wants to become the next Chipotle, so there are a lot of options out there now.
As for Ackman's interest in CMG, I have no idea what his plan is. There is no real estate here as CMG rents all their restaurants, and their restaurants had high 20's operating margins at their peak. I don't know if they will ever get back up there, but it's not like these guys don't know how to run an efficient operation. Maybe Ackman sees SGA opportunities, but pre-crisis, SGA was less than 7%, so there wouldn't be that much of a boost from cutting SGA. Or maybe he thinks it's time for CMG to do what everyone else is doing and go for the franchise model. Who knows? I look forward to seeing what his thoughts are; hopefully some 500 page presentation pops up somewhere...
McDonalds I don't want to turn this into a food blog, but I can't resist mentioning this. I have been a lifelong MCD customer; I have no problem with it. OK, it may not be my first choice of a meal in most cases, but it's fine. And when you have a kid, you tend to go more often that you'd like. But still, it's OK. It is what it is, right?
I like the remodelling that they are doing, and the fact that they have free wifi is great too. But here's a big clustermuck they had with their recent custom burger and kiosk idea. I walked into a MCD without knowing anything about any of this recently. A lady said I can order at the kiosk and I said, no, I'll just go to the counter, thank you.
And I waited 10 minutes or so in line, looking up at the tasty looking special hamburgers on the HD, LCD menu board. It was finally my turn at the cash register and I said I want that tasty looking hamburger up there on the screen. And the lady said, oh, you can only order that at the kiosk. I was like, huh? That was really annoying. So I wait all this time and I can't get what I want; I have to walk all the way back and get in another line again? Come on! At that point, I didn't want any other burger so I just ordered a salad (and the usual for my kid).
OK, so it's my fault, probably. User error. But as a service company, as far as I'm concerned, that was a massive fail on the part of MCD.
OK, Now That I started... And by the way, since I got myself started, let me get these two out too. Yes, I spend too much time at fast food joints. Guilty. But still, here are my two peeves related to two of my favorite fast casual places:
Shake Shack: Being dragged there all the time, I have learned to love the Shack-cago hot dog. Chicken Shack is awesome too, in case you don't want to eat hamburgers all the time. But I can't tell you how often they get take-out and stay wrong. I had a long run where they didn't get it right at all and had to ask for things to be packed to go. It is really annoying and wastes everyone's time.
Chipotle: This hasn't happened to me the last couple of times, but this is the usual conversation that happens to me just about every time I go to Chipotle.
CMG: "Hi, what can we get you today?" (or some such) Me: "Um, I'll have a burrito..." CMG: putting the tortilla in the tortilla warmecooker, "and would you like white rice or brown rice? Me: "White rice is fine" CMG: with tortilla still in the cooker, "and black beans or pinto beans?" Me: "black beans". CMG: laying a sheet of aluminum foil on the counter and placing the tortilla on it, moving over to the rice area, "Was that white rice or brown rice?" Me: "white rice" CMG: sliding over to the beans, "and black beans or pinto beans?". Me: "black".
I can't tell you how many times this exact thing happened to me. If you can't remember what I say, don't ask beforehand! Just ask when we get to whatever you are going to ask me about! This is not rocket science, lol... Incredibly annoying.
Anyway, I still love CMG and will keep eating there.
Oh, and to make things interesting, I decided to post a contact email address in the "about" section of the blog. I will try to respond to every email, but keep in mind I may not look in that email box all the time.
I will try to post more, though. (read original with tables)
submitted by BobFine to stocks [link] [comments]

Best Binary Options Robots: Option Robot Review The Best Binary Options Robot for Automated Trading  The ... best Binary Option Robot 100% Automated Trading Software ... Binary Option Robot - Update Feb 18th 2014 Do Binary Options Robots Work  Top-Rated Binary Options Robots for 2014 Best MT4 Binary Options Robot 2014  Robot Binary Options 2014 Profesional BEST BINARY OPTIONS WEBSITE OF 2014 Traderush Turn $5 into $5000 proof Binary Options Robot - Automated Binary Options Trading ... Best Binary Options Robots - High winning rates with ...

There are a lot of binary option robots out there but not all of them live up to their billing. Therefore, if you are intent on finding the best binary options trading robot, then BinaryRobot365 is a nice place to start. BinaryRobot365 is a binary option trading robot developed in 2016 by a team of Are you not getting the results that you want from your trading and are you unsure of what trading strategies to use? With astonishing 80% success rate Binary Option Robots will help you to maximize your trading profit. We will help you to choose the best Binary Option Robot in the market. What is a Binary Options Robot: Existing Technology. In the concluding section of this article, we will discuss the existing technology out there as far as the binary options robots are concerned. This will help you make a choice of the best binary options robots when you eventually decide to get one for yourself. Best Binary Options Robots: Binary Robot Auto Trading Software - Binoption. Binary Options Robots and Auto-trading Software have helped thousands of traders to make more efficient trading investments. It is possible to earn approximately 80% of profits using the binary option robot. Moreover, traders will find unique and compelling trading features in every Auto Trading software. Trying all ... Binary Options Robot might just be the best automated trading robot in the industry. The software has won a number of awards since its creation in 2014, and has proven itself to be quite lucrative with an average win rate of around 80%. The software is very user-friendly and easy to use for both beginner and experienced traders. As well, their customer service is quite excellent, except for ... Best Binary Options Broker To Start With. My number one recommendation is IQ Option, the best broker site there is. When you invest with IQ Option you can be sure that you can start easily and effortlessly. They have comprehensive learning materials, friendly customer service and brilliant bonuses. Besides all that you know that your money is fully secured with one of the world’s most ... Month: February 2014 Binary Options Robots. Binary Options Robots. Open an account with a REGULATED BROKER and get the 2 BEST Binary Options Robots available on the market from The Binary Optioner. Author The SmartTrader Link Posted on 23 February 2014 Leave a comment. binary options trading system. binary options trading system . Trading session February 7th, 2014 4 trades ITM and 2 trades ...

[index] [17613] [28487] [9523] [1230] [952] [10322] [1530] [16036] [12447] [15753]

Best Binary Options Robots: Option Robot Review Email: [email protected] In this video ... Binary Options Robot - Automated Binary Options Trading Using Binary Option Robot Test Binary Options Robot here - = Binary Options Expert Adivisor (Use the first "Instant Access" button) The Best Binary Options Robot for Automated ... Do Binary Options Robots Work Top-Rated Binary Options Robots for 2014 - Auto Binary Signals, a piece of software designed by Roger Pierce, who claims it made him his millions by the age of 49 ... You're signed out. Videos you watch may be added to the TV's watch history and influence TV recommendations. To avoid this, cancel and sign in to YouTube on your computer. Cancel. Confirm ... do you want to stat makeing money with binary options in 2014 Related Search Terms.. best binary options trading signals, does binary options trading signals work, binary options trading signals ... Binary Option Robot Review: Binary Option Robot Trade Settings Martingale EUR/USD 1 Simultaneous trade MACD & RSI Indicators ... For example, binary options can be controlled by robots. A binary option is based on the principle of all-or-nothing or high-low, where you risk a certain amount for a predetermined monetary ... Best MT4 Binary Options Robot 2014 Robot Binary Options 2014 Profesional - Auto Binary Signals, a piece of software designed by Roger Pierce, who claims it made him his millions by the age of 49 ...