Binary Options Robot Demonstrates

[OC] Punt Rank 2020: Week 5 - Brett Kern Appreciation Club, the continued painful existence of Kevin Huber, PUNTERS THROWING TDs and the birth of Air Townsend. All this and the best video highlights of the week...

Welcome back, Punt Fans, to your slightly later than usual but there's no Thursday Night Football so what else are you going to be doing edition of our weekly hunt for the King of Punt – it’s /NFL’s own Punt Rank. If you haven’t been here with me before, the concept is both simple and fantastically over-engineered. Lemme break it down:
Each punter’s performance against five vital punting metrics is ranked against every other punter in the league.
Those rankings are combined into a weighted average ranking – the 2020 NFL Punt Rank.
Punt Heroes rise to the top; Punt Zeros sink to the bottom. Last week’s post and Week 4 standings are available here for the archivists, and all of this week’s stats analysis and highlights and lowlights in video form are just moments away.
As always I’m excited to get your perspectives on your team’s punter, and you can point me to things that I may have missed or overlooked, so please hit me with your feedback and questions in the comments!

Punt Rank Standings

Punt Rank 2020: Week 5 Overall Standings
2020 Week 5: Punt Performance Summary

Good Week for

Brett Kern (TEN, +1 to #3). Eh what do you want to know. If you’re reading this it means you like punting. If you like punting, you know that Brett Kern is a really, really great punter. And, Q.E.D – Brett was demonstrably great against the Bills on (the other) TNF. His three punts this week for the no-longer-significantly-infectious-Titans pinned Josh Allen and his shorts at the 9, 9 and 3 yard lines – covering 86% of Average Available Field which is GOAT tier punting. Here’s the pick of the bunch (his 41 yard precisiobomb corralled at the 3 yard line by Chris Milton) covering 93% of Available Field, and measuring in 7.6 yards better than an average punt from the opposing 44 yard line. Tidy.
In addition to his really really really great punting, the Kerninator also wrangled at least two uttely horrible snaps into decent holds for Gostkowski to continue his kicking renaissance tour, which is a majorly underrated part of the punter job description...
Logan Cooke (JAX, +12 to #13). SPEAKING OF PUNTER HOLDS AND THE EFFECT IT HAS ON KICKERS. Now I’m not saying that Chef had anything to do with the end of Stephen Hauschka’s NFL career on Sunday (0 for 2 within less than two minutes at the end of the first half, not called upon again, then cut PDQ after the weekend), but then I’m not not saying that either. Luckily for Logan (shoot I think I used that joke last week as well) the punting element of his game was without such ugly question marks. 100% of his three punts ended inside the Houston 20 yard line, covering 73%, 83% and 89% of Available Field, sneaking him up to 13th overall. Now let’s see if he can hold onto it. Geddit? Hold?! Pah.

Bad Week for

Kevin Huber (CIN, -8 to #24). On a game where the Bengals only managed the paltry total of 12 first downs (an average of one, yes ONE first down on their 12 offensive drives), K-Hub’s Bad Day was at least somewhat salvaged by the first half holy trinity of Turnover on Downs, INT and Fumble on consecutive drives (2, 3 and 4 – if you’re counting). Without that magical offensive incompetence, he could have been looking at double figure punts (I see you, Tress Way in Washington). As it was, he escaped with just the seven (!), but he takes a slide in the Punt Rank rankings as two of those (admittedly 57 and 60 yard boots) snuck for touchbacks, taking his season touchback percentage total to 26.1% which is second last in the league, just behind Tommy Townsend (more on him later). None of the magnificent seven made it inside the 20, wiping 13% off his season long percentage. However, in Kev’s defence, the first of his two end-zone-botherers this week was another case of coulda woulda shoulda from his coverage team. Alex Erikson heroically made up all the ground to reach the ball as it took a hop into the end zone, but his flailing scoopitty-scoop only managed to floopitty-floop the ball into the wrong side of the pylon.
Bengals bungle.
Football is a game of inches, and those couple cost Kev. And, after last week’s feature in Egregious Touchback of the Week where basically exactly the same thing happened, it’s entirely possible that Kevin Huber is stuck in some kind of awful groundhog day based time loop. That would at least explain this instagram account.
Ty Long (LAC, -5 to #23). Ty Long was the victim of the binary brain of Saints rookie receivereturnerobot automaton Marquez Callaway this week. In Marquez’s awesome little computer mind, he’s going:
punt_catch_loc > 15 THEN SELECT Return_Like_Craycray FROM Return.Options
ELSE Fair_Catch_That_MF
Unfortunately for Ty, six of his seven punts were outside that 15 yard threshold and the big red light on Robot Marquez's head went off like WOO WOO, and he went HAM on bringing those suckers back. 69 (nice) return yards on the day with a long of 19 wiped almost ten yards off Long's Gross Average for the day and left him at just 53% of Average Available Field covered. The Chargers have now leaked 149 return yards for the season which is second worst in the league (behind those irrepressibly awful Jets) and almost three times the league average of 56 through five weeks. Ty will be hoping that they can turn that around before… long. Sorry.

Punt of the week – Week 5

Corey Bojorquez (BUF) continues his wild oscillation between the sublime and the ridiculous. It’s an odd-week so I guess this week it’s Sublime Corey, whose 71 yard scud missile from his own ten yard line in the second quarter of this week’s edition of Tuesday Night Football Bought To You By COVID-19 was an astonishing 28.3 yards longer than my Expected Net Gain model for an average punt from that spot. Look at this baby fly!
Bojorquez booms one.

Punters doin’ shit – Week 5

Hey, it’s Corey Bojorquez again! Guess he can do sublime AND ridiculous in a single week now. It’s Puntception. Corey’s first punt of the day was coming alllll the way back for 6 until he decided to put his face on the line to put an end to Kalif Raymond’s 40 yard return. BLOOF. Look at him putting on his cap all swag afterwards like yeah I blew that dude up
Yeah I think tackling with your head is good form?
But that’s not all for Punters Doin’ Shit in Week 5, oh no. We have a bonus double edition! and I include this clip with great enjoyment but also great sadness. Gentlemen and Gentlemen (just being real here), this week Riley Dixon (NYG) threw a Touchdown pass! For Giants fans reading this is when someone on your team throws the ball into the big painted area at the end of the field and a player (also on your team) catches it. I know this sounds strange and unusual, but it can happen. And it did happen for Riley on this awesome fake field goal toss to Evan Engram, brilliantly narrated by the incomparable Tony Romo in the clip below. Seriously, this call is outstanding…
Nobody look at me, doo doo do, you cant see me... Jim Nantz, don't talK to.. IM OPEN, THROW IT
Unfortunately, the play itself was called back due to a player not lined up on the line of scrimmage and the Giants had to settle for a 50 yard field goal. For Chargers and Jags fans reading, this is when your kicker kicks the ball and it goes between the two big tall standy uppy line things. I know this sounds strange and unusual, but it can happen. No TD for Riley, but we have the memories…

Egregious touchback of the week – Week 5

I might start calling this the Kevin Huber Touchback Memorial Column, after ANOTHER narrow miss by the Bengals coverage left Kev high and dry this week against the Ravens (see Bad Week).
Outside of that shambles, there were only 6 touchbacks on the other 102 punts in Week 5, and most of them were fairly ordinary so there isn’t much egregiousity (not a word but I’m going with it) to discuss. Instead today we’re going to take some time to appreciate Tommy Townsend (KC) who has apparently got some kind of nuclear powered leg and is playing a game called “look how far away I can kick a touchback from”. For those who haven’t been paying close attention, here’s how Tommy’s rookie season has gone so far in touchback terms.
Week 1 – 44 yards, modest.
Week 2 – 55 yards, expressive.
Week 3 – only punted once so gave myself a week off from this.
Week 4 – fucken LOLs this is, how about a 60 AND a 65!
Week 5 – hold my beer…
Oh my god Becky, look at this punt.
67 yards! SIXTY SEVEN! And that’s from the line of scrimmage - that sucker went almost EIGHTY YARDS in the AIR. It bounced at the two and I think the returner just never even saw it. He probably thought it went into orbit or something. Absolutely ludicrous distance and hangtime here from Tommy. And, thus, I think we have our new moniker for the lad: Air Townsend. Which is also funny because it sounds like hair and he has got long hair.
I’m wasted doing this.

Future of Punt Rank: desperate data plea

So part of my data collection for this analysis used to come from the brilliant Pro Football Reference gameplay finder. Which, as of this week, appears to have been absorbed into Stathead. And they’re now charging $8 a month for access to these individual play description tables, which is a massive punt in the balls.
Without this data, I’ve got no way to calculate Average Available Field coverage, no plus/minus performance against the Punt Expected Net Gain, and no data on punts inside the 5 and 10 yard lines – all of which come from that analysis of the individual punt plays. Whilst this data doesn’t feed the actual rankings (which come from free data tables), they are all metrics that really help add context to the basic stats, and are things that people reading have commented on in the past and said they found interesting.
So, if anyone knows of anywhere else where I can access and download these play descriptions for each individual punt (without manually sifting the ESPN play by play reports!!), then please please let me know in the comments below. Alternatively if the eight people who read this each wanna chip in a buck a month on an ongoing basis so we can pay Stathead then that’d be cool too.
A sad day for punt stat fans to be sure. Fucken big corporate…
And on that note, all that's left is to say I will see you again next week for a likely more analytically constrained but still enthusiastically trying my bestest edition of Punt Rank.
submitted by erictaylorseyebrows to nfl [link] [comments]


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]

Cryptosoft Review 2020-Is it a Scam?

Cryptosoft Review 2020-Is it a Scam?

Most f the reviews we tend to have come back across reveal that the Cryptp soft platform is easy to
Their client service is very efficient. We did a live check and confirmed that they respond at intervals a moment. Moreover, they are available 24/7.
The Cryptp soft app is secure. They need all the mandatory measures in place to make sure data privacy.
The Cryptp soft System is considered by several among the most effective robots within the market nowadays. We have a tendency to realize this robot to perform virtually the same with Bitcoin Rush, another top bitcoin robot. Read the review of Bitcoin Rush for more data?
Cryptp soft registration method is straightforward, easy, and secure. You only want but 10 minutes to form an account and begin trading. Cryptp soft is a absolutely auto bot and is so accessible to everyone.
You do not want to perceive trading lingo to use Immediate Edge. The following steps can get you started with this robot.
STEP ONE: Fill the Signup type

Visit the Cryptp soft home page and register your name, phone number, and email in the provided kind. You will be asked to verify your phone variety via a text code and email through a link. CryptoVibes will ascertain that the Cryptp soft registration process is secure.

Their web site is SSL secured to confirm that hackers cannot steal personal information submitted through it. Cryptp soft cyber safety policy states that they're GDPR adherent. This suggests that they handle your knowledge with strict privacy.
STEP TWO: Get matched with a broker

The Cryptp soft Software then matches you with one in every of their partner brokers. The role of the broker is to receive deposits and facilitate transactions. We have a tendency to have determined that Cryptp soft only partners with regulated brokers.

With a regulated broker, they guarantee that your cash is safe. Reputable regulators such as the FCA, FSB, ASIC, and CySEC need brokers to segregate deposits and submit periodic reports on deposit usage.
You wold like a deposit of a minimum of $250 to trade with Immediate Edge. Do not confuse this quantity with the value of the robot. Cryptp soft does not need any license fee. The house owners of this robot build money by charging a small commission on the profits generated through the app
Deposits with Cryptp soft should be created through Wire Transfer, Visa, and MasterCard. It takes a few seconds for a deposit to reflect in an exceedingly trader’s account. Cryptp soft does not charge any deposit fees.
The Cryptp soft does provide a demo account to help traders familiarize themselves with its web-trader. CryptoVibes recommends that you are doing demo trading before going to live to trade. Please note that the demo is for demonstrative purposes solely.
The results you receive on the platform are primarily based on historical information and could therefore not mirror what you'll get in live trading.
The Cryptp soft live trader comes with features to help you outline the amount of risk you are willing to require per trade. You wish to go through the demo account to familiarize with these features. As mentioned severally in this review, you do not want specialized skills to use this robot.
Live trading with Cryptp soft involves determining the quantity of capital you plan to risk per trade and clicking the live button. Scan our review of Bitcoin Trader for one more straightforward to use the robot.
*Remember all trading risks and you shouldn’t risk more then you'll be able to afford to lose.
How to get the most out of Cryptp soft App
We have identified the following tips as paramount in guaranteeing that you make the most of Immediate Edge.
Begin with a deposit of $250 – Given the level of risk involved in trading with Immediate Edge, you should start with a tiny investment.
Follow crypto market news – You need to determine the type of reports that drives volatility high and capitalize on them. Cryptp soft claims to form the foremost profits throughout high market volatility.
Trade for eight hours per day – In keeping with Immediate Edge, trading for at least eight hours per day can help maximize profits. Cryptp soft is entirely auto, and hence you'll be able to leave the robot running as you continue together with your daily errands. You are doing not want more than twenty minutes per day to observe your account.
Close trading sessions at the tip of the day – Leaving open positions overnight is doubtless to translate to losses since the markets can change considerably overnight. It is better to shut sessions even if in the negative and start trading again the subsequent day. With a correct risk management strategy, there is no would like to fret concerning periodic losses.
Following our review we tend to realize Cryptp soft to be legit. But, traders ought to take additional caution, provided that this bot comes at a degree of risk. Whereas the app claims it's potential to form profits of up to 50percent per day, you'll be able to additionally lose the complete deposit inside seconds. This is often not sudden for a high-frequency trading robot.
We recommend that you just apply the required risk management measures. As a rule of thumb don't risk more than 10percent of your trading capital per trade. Also, never trade with an amount you cannot afford to lose. It is prudent to start small and add cash as you get conversant with the various features on the platform.
Recently, a brand new trading software was added to the bitcoin investment trade. This software is termed Cryptp soft and it is allegedly created by a corporation or organization called the International Council for Bitcoin.
There is additionally a letter out there on their web site that has been signed by someone named David. This person claims to own earned over 1,000,000 as a results of investing in bitcoins. What’s very shocking concerning this letter is that David claims to have earned that huge quantity in just one trade. If we have a tendency to place it in simple words, David became a millionaire overnight.
We tend to highly doubt that a trading system that has been launched recently will have such potential. To verify the main points of this software and to determine its legitimacy, we have a tendency to conducted our own research and investigation.
Cryptp soft is a bitcoin trading software that’s meant to assist newbie traders get involved in Cryptocurrency trading with less risk than ancient investment opportunities. Cryptp soft software was created by The International Council For Bitcoin who is PRO Bitcoin trader Group behind the Cryptp soft software. Notice out all concerning Cryptp soft software by The International Council For Bitcoin.
Cryptp soft Software may be a nice development by a famous, well established and experienced bitcoin trader Investors with a viewpoint to enable traders to perform different tasks with ease and convenience.
Cryptp soft Software is essentially a Binary choices trading software that is designed to assist traders win and predict the Binary options trend of their respective choices. Cryptp soft APP works as a code to urge financial success, shows traders how they'll make money on-line, helps them to find different ways in which to induce huge returns on their investment. The Cryptp soft Trading Software additionally provides analyses of Market conditions so that traders will recognize what ought to be their next step. Cryptp soft System gives secret cryptocurrency ways that ultimately help binary traders to create thousands of greenbacks solely for some bucks.
Several individuals can say that Cryptocurrency Trading may be a risky business and tend to remain faraway from it. But from my expertise, high volatility means HIGH RETURN OF INVESTMENT in Crypto Market. But this can be where the Cryptp soft comes into play, the mathematical algorithm used by Cryptp soft Software takes the guesswork out choosing a winning profitable trade. You don’t must be an expert. Like I said earlier, I actually have personally tested the Cryptp soft and found the success rate is about ninety sevenpercent. I don’t apprehend concerning you, but a ninety seven% probability of earning a profitable trade is TERRIBLY GOOD! I’ve never come across something like this trading software before. Keep reading, below are my Cryptp soft results for the past week or so…
Watch over the Shoulder of a Professional Each Day and you'll be able to learn as you trade.
Averaging 97% Winning Weeks With Cryptp soft which suggests that more potential profits for you
Cryptp soft Software Are Fully Transparent
No previous experience with binary choices trading required
Web-based mostly, no need for downloads, additionally works on phones, tablets
You'll be able to Even Watch Cryptp soft Signals From Your Phone (iPhone Users — Photon Browser)
If you are ready to begin making cash online with an on the spot edge, there has never been a better chance than currently. If you enjoy surfing the web for countless hours trying for the next Trading Method Secrets, never being able to urge centered, being overloaded with conflicting information, and not creating cash on-line, you ought to probably leave this page right now and get back to that Cryptp soft System strategy
Cryptp soft bot could be a new cryptocurrency trading invention that comes with options that create this software stand out among others. It is conjointly an automatic trading platform that uses a smart program algorithm to detect favorable trading opportunities. It acts on its own or waits for a prompt command from the user depending on the software’s settings. But what makes this software unique and a favorite to individuals is what we have a tendency to shall unveil in this review.
There have been lots of unverified claims of how totally different cryptocurrency software have helped several people to make massive profits leading to Scam individuals. However, it's pertinent for cryptocurrency traders to verify if a particular trading software may be a scam or legit, which is also ?
After subjecting the features of the Cryptp soft bot software to a series of tests, the software isn't a scam however legit. The Cryptp soft bot is believed to have successful rate of 85%, that is a lot of than the 80percent benchmark for average software. The Cryptp soft bot has helped cryptocurrency traders to make sensible profits, which has been documented as testimonies on the software’s website.
Trading on the platform is straightforward and might not require experience. We had to verify the simplicity of the software, and we tend to discovered that the software is easy to navigate. The demo trading feature of the software makes it potential for brand new users to hold out trading activities in an exceedingly simulated atmosphere while not having to risk their investment. This any gives credence to the legitimacy of the software because it ensures that new users get accustomed to the features of the software before continuing to measure to trade
As earlier stated, the Cryptp soft bot could be a high-tech program software that comes with exceptional options that makes it among the simplest cryptocurrency trading software in the blockchain market. The outstanding features of the Cryptp soft bot embody the subsequent:
submitted by cryptoerapro to u/cryptoerapro [link] [comments]

[Table] Asteroid Day AMA – We’re engineers and scientists working on a mission that could, one day, help save humankind from asteroid extinction. Ask us anything!

There are several people answering: Paolo Martino is PM, Marco Micheli is MM, Heli Greus is HG, Detlef Koschny is DVK, and Aidan Cowley is AC.
Questions Answers
Can we really detect any asteroids in space with accuracy and do we have any real means of destroying it? Yes, we can detect new asteroids when they are still in space. Every night dozens of new asteroids are found, including a few that can come close to the Earth.
Regarding the second part of the question, the goal would be to deflect them more than destroy them, and it is technologically possible. The Hera/DART mission currently being developed by ESA and NASA will demonstrate exactly this capability.
I always wanted to ask: what is worse for life on Earth - to be hit by a single coalesced asteroid chunk, or to be hit by a multiple smaller pieces of exploded asteroid, aka disrupted rubble pile scenario? DVK: This is difficult to answer. If the rubble is small (centimetres to meters) it is better to have lots of small ones – they’d create nice bright meteors. If the rubble pieces are tens of meters it doesn’t help.
Let’s say that hypothetically, an asteroid the size of Rhode Island is coming at us, it will be a direct hit - you’ve had the resources and funding you need, your plan is fully in place, everything you’ve wanted you got. The asteroid will hit in 10 years, what do you do? DVK: I had to look up how big Rhode Island is – a bit larger than the German Bundesland ‘Saarland’. Ok – this would correspond to an object about 60 km in diameter, right? That’s quite big – we would need a lot of rocket launches, this would be extremely difficult. I would pray. The good news is that we are quite convinced that we know all objects larger than just a few kilometers which come close to our planet. None of them is on a collision course, so we are safe.
the below is a reply to the above
Why are you quite convinced that you know all object of that size? And what is your approach in finding new celestial bodies? DVK: There was a scientific study done over a few years (published in Icarus 2018, search for Granvik) where they modelled how many objects there are out there. They compared this to the observations we have with the telescopic surveys. This gives us the expected numbers shown here on our infographic:
There are additional studies to estimate the ‘completeness’ – and we think that we know everything above roughly a few km in size.
To find new objects, we use survey telescopes that scan the night sky every night. The two major ones are Catalina and Pan-STARRS, funded by NASA. ESA is developing the so-called Flyeye telescope to add to this effort
the below is a reply to the above
Thanks for the answer, that's really interesting! It's also funny that the fist Flyeye deployed is in Sicily, at less than 100km from me, I really had no idea DVK: Indeed, that's cool. Maybe you can go and visit it one day.
the below is a reply to the original answer
What about Interstellar objects however, like Oumuamua? DVK: The two that we have seen - 'Oumuamua and comet Borisov - were much smaller than the Saarland (or Rhode Island ;-) - not sure about Borisov, but 'Oumuamua was a few hundred meters in size. So while they could indeed come as a complete surprise, they are so rare that I wouldn't worry.
Would the public be informed if an impending asteroid event were to happen? And, how would the extinction play out? Bunch of people crushed to death, knocked off our orbit, dust clouds forever? DVK: We do not keep things secret – all our info is at the web page The ‘risky’ objects are in the ‘risk page’. We also put info on really close approaches there. It would also be very difficult to keep things ‘under cover’ – there are many high-quality amateur astronomers out there that would notice.
In 2029 asteroid Apophis will fly really close to Earth, even closer than geostationary satellites. Can we use some of those satellites to observe the asteroid? Is it possible to launch very cheap cube sats to flyby Apophis in 2029? DVK: Yes an Apophis mission during the flyby in 2029 would be really nice. We even had a special session on that topic at the last Planetary Defense Conference in 2019, and indeed CubeSats were mentioned. This would be a nice university project – get me a close-up of the asteroid with the Earth in the background!
the below is a reply to the above
So you’re saying it was discussed and shelved? In the conference we just presented ideas. To make them happen needs funding - in the case of ESA the support of our member countries. But having something presented at a conference is the first step. One of the results of the conference was a statement to space agencies to consider embarking on such a mission. See here:
Go to the section 'resolutions'. This is now a statement that scientists can use to present to their funding agencies, demonstrating that it's not just their own idea.
Thanks for doing this AMA! Did we know the Chelyabinsk meteor in 2013 (the one which had some great videos on social media) was coming? Ig not, how comes? Also, as a little side one, have there been any fatalities from impact events in the past 20 years? Unfortunately, the Chelyabinsk object was not seen in advance, because it came from the direction of the Sun where ground-based telescopes cannot look.
No known fatalities from impacts have happened in the past 20 years, although the Chelyabinsk event did cause many injuries, fortunately mostly minor.
the below is a reply to the above
How often do impacts from that direction happen, compared to impacts from visible trajectories? In terms of fraction of the sky, the area that cannot be easily scanned from the ground is roughly a circle with a radius of 40°-50° around the current position of the Sun, corresponding to ~15% of the total sky. However, there is a slight enhancement of objects coming from that direction, therefore the fraction of objects that may be missed when heading towards us is a bit higher.
However, this applies only when detecting an asteroid in its "final plunge" towards the Earth. Larger asteroids can be spotted many orbits earlier, when they are farther away and visible in the night side of the sky. Their orbits can then be determined and their possible impacts predicted even years or decades in advance.
There must be a trade-off when targeting asteroids as they get closer to Earth, is there a rule of thumb at what the best time is to reach them, in terms of launch time versus time to reach the asteroid and then distance from Earth? DVK: Take e.g. a ‘kinetic impactor’ mission, like what DART and Hera are testing. Since we only change the velocity of the asteroid slightly, we need to hit the object early enough so that the object has time to move away from it’s collision course. Finding out when it is possible to launch requires simulations done by our mission analysis team. They take the strength of the launcher into account, also the available fuel for course corrections, and other things. Normally each asteroid has its own best scenario.
Do you also look at protecting the moon from asteroids? Would an impact of a large enough scale potentially have major impacts on the earth? DVK: There are programmes that monitor the Moon and look for flashes from impacting small asteroids (or meteoroids) - https://neliota.astro.noa.g or the Spanish MIDAS project. We use the data to improve our knowledge about these objects. These programmes just look at what is happening now.
For now we would not do anything if we predicted a lunar impact. I guess this will change once we have a lunar base in place.
Why aren't there an international organisation comprised of countries focused on the asteroid defence? Imagine like the organisation with multi-billion $ budget and program of action on funding new telescopes, asteroid exploration mission, plans for detection of potentially dangerous NEA, protocols on action after the detection - all international, with heads of states discussing these problems? DVK: There are international entities in place, mandated by the UN: The International Asteroid Warning Network ( and the Space Mission Planning Advisory Group ( These groups advise the United Nations. That is exactly where we come up with plans and protocols on action. But: They don’t have budget – that needs to come from elsewhere. I am expecting that if we have a real threat, we would get the budget. Right now, we don’t have a multi-billion budget.
the below is a reply to someone else's answer
There is no actual risk of any sizable asteroids hitting earth in the foreseeable future. Any preparation for it would just be a waste of money. DVK: Indeed, as mentioned earlier, we do not expect a large object to hit is in the near future. We are mainly worried about those in the size range of 20 m to 40 m, which happen on average every few tens of years to hundreds of years. And where we only know a percent of them or even less.
President Obama wanted to send a crewed spacecraft to an asteroid - in your opinion is this something that should still be done in the future, would there be any usefulness in having a human being walk/float on an asteroid's surface? DVK: It would definitely be cool. I would maybe even volunteer to go. Our current missions to asteroids are all robotic, the main reason is that it is much cheaper (but still expensive) to get the same science. But humans will expand further into space, I am sure. If we want to test human exploration activities, doing this at an asteroid would be easier than landing on a planet.
this is another reply Yes, but I am slightly biased by the fact that I work at the European astronaut centre ;) There exist many similarities to what we currently do for EVA (extra vehicular activities) operations on the International Space Station versus how we would 'float' around an asteroid. Slightly biased again, but using such a mission to test exploration technologies would definitely still have value. Thanks Obama! - AC
I've heard that some asteroids contains large amounts of iron. Is there a possibility that we might have "space mines" in the far away future, if our own supply if iron runs out? Yes, this is a topic in the field known as space mining, part of what we call Space Resources. In fact, learning how we can process material we might find on asteroids or other planetary bodies is increasingly important, as it opens up the opportunities for sustainable exploration and commercialization. Its a technology we need to master, and asteroids can be a great target for testing how we can create space mines :) - AC
By how much is DART expected to deflect Didymos? Do we have any indication of the largest size of an asteroid we could potentially deflect? PM: Didymos is a binary asteroid, consisting of a main asteroid Didymos A (~700m) and a smaller asteroid Didymos B (~150m) orbiting around A with a ~12 hours period. DART is expected to impact Didymos B and change its orbital period w.r.t. Didymos A of ~1%. (8 mins)
The size of Didymos B is the most representative of a potential threat to Earth (the highest combination of probability and consequence of impacts), meaning smaller asteroids hit the Earth more often but have less severe consequences, larger asteroids can have catastrophic consequences but their probability of hitting the earth is very very low.
the below is a reply to the above
Why is there less probability of larger asteroids hitting earth? DVK: There are less large objects out there. The smaller they are, the more there are.
the below is a reply to the original answer
Is there any chance that your experiment will backfire and send the asteroid towards earth? PM: Not at all, or we would not do that :) Actually Dimorphos (the Didymos "moon") will not even leave its orbit around Didymos. It will just slightly change its speed.
I'm sure you've been asked this many times but how realistic is the plot of Armageddon? How likely is it that our fate as a species will rely on (either) Bruce Willis / deep sea oil drillers? Taking into consideration that Bruce Willis is now 65 and by the time HERA is launched he will be 69, I do not think that we can rely on him this time (although I liked the movie).
HERA will investigate what method we could use to deflect asteroid and maybe the results will show that we indeed need to call the deep sea oil drillers.
the below is a reply to the above
So then would it be easier to train oil drillers to become astronauts, or to train astronauts to be oil drillers? I do not know which one would be easier since I have no training/experience of deep see oil drilling nor becoming an astronaut, but as long as the ones that would go to asteroid have the sufficient skills and training (even Bruce Willis), I would be happy.
If budget was no object, which asteroid would you most like to send a mission to? Nice question! For me, I'd be looking at an asteroid we know something about, since I would be interested in using it for testing how we could extract resources from it. So for me, I would choose Itokawa (, which was visited by Hayabusa spacecraft. So we already have some solid prospecting carried out for this 'roid! - AC
this is another reply Not sure if it counts as an asteroid, but Detlef and myself would probably choose ʻOumuamua, the first discovered interstellar object.
the below is a reply to the above
Do we even have the capability to catch up to something like that screaming through our solar system? That thing has to have a heck of a velocity to just barrel almost straight through like that. DVK: Correct, that would be a real challenge. We are preparing for a mission called 'Comet Interceptor' that is meant to fly to an interstellar object or at least a fresh comet - but it will not catch up with it, it will only perform a short flyby.
After proving to be able to land on one, could an asteroid serve as a viable means to transport goods and or humans throughout the solar system when the orbit of said asteroid proves beneficial. While it is probably quite problematic to land the payload, it could save fuel or am I mistaken? Neat idea! Wonder if anyone has done the maths on the amount of fuel you would need/save vs certain targets. - AC
PM: To further complement, the saving is quite marginal indeed because in order to land (softly) on the asteroid you actually need to get into the very same orbit of that asteroid . At that point your orbit remains the same whether you are on the asteroid or not..
can the current anti-ballistic missiles systems intercept a terminal phase earth strike asteroid? or it is better to know beforehand and launch an impacting vehicle into space? DVK: While I do see presentations on nuclear explosions to deflect asteroids at our professional meetings, I have not seen anybody yet studying how we could use existing missile systems. So it's hard to judge whether existing missiles would do the job. But in general, it is better to know as early as possible about a possible impact and deflect it as early as possible. This will minimize the needed effort.
How much are we prepared against asteroid impacts at this moment? DVK: 42… :-) Seriously – I am not sure how to quantify ‘preparedness’. We have international working groups in place, mentioned earlier (search for IAWN, SMPAG). We have a Planetary Defence Office at ESA, a Planetary Defense Office at NASA (who spots the difference?), search the sky for asteroids, build space missions… Still we could be doing more. More telescopes to find the object, a space-based telescope to discover those that come from the direction of the Sun. Different test missions would be useful, … So there is always more we could do.
Have you got any data on the NEO coverage? Is there estimations on the percentage of NEOs we have detected and are tracking? How can we improve the coverage? How many times have asteroids been able to enter earths atmosphere without being detected beforehand? Here’s our recently updated infographics with the fraction of undiscovered NEOs for each size range:
As expected, we are now nearly complete for the large ones, while many of the smaller ones are still unknown.
In order to improve coverage, we need both to continue the current approach, centered on ground-based telescopes, and probably also launch dedicated telescopes to space, to look at the fraction of the sky that cannot be easily observed from the ground (e.g., towards the Sun).
Regarding the last part of your question, small asteroids enter the Earth atmosphere very often (the infographics above gives you some numbers), while larger ones are much rarer.
In the recent past, the largest one to enter our atmosphere was about 20 meters in diameter, and it caused the Chelyabinsk event in 2013. It could not be detected in advance because it came from the direction of the Sun.
We have however detected a few small ones before impact. The first happened in 2008, when a ~4-meter asteroid was found to be on a collision course less than a day before impact, it was predicted to fall in Northern Sudan, and then actually observed falling precisely where (and when) expected.
this is another reply >After
DVK: And to add what MM said - Check out There is a ‘discovery statistics’ section which provides some of the info you asked about. NASA is providing similar information here To see the sky which is currently covered by the survey telescopes, you need to service of the Minor Planet Center which we all work together with:, ‘observers’, ‘sky coverage’. That is a tool we use to plan where we look with our telescopes, so it is a more technical page.
Are there any automatic systems for checking large numbers of asteroids orbits, to see if the asteroid's orbit is coming dangerously close to Earth, or is it done by people individually for every asteroid? I ask it because LSST Rubin is coming online soon and you know it will discover a lot of new asteroids. Yes, such systems exist, and monitor all known and newly discovered asteroids in order to predict possible future impacts.
The end result of the process is what we call "risk list":
It is automatically updated every day once new observational data is processed.
What are your favourite sci-fi series? DVK: My favorites are ‘The Expanse’, I also liked watching ‘Salvation’. For the first one I even got my family to give me a new subscription to a known internet streaming service so that I can see the latest episodes. I also loved ‘The Jetsons’ and ‘The Flintstones’ as a kid. Not sure the last one counts as sci-fi though. My long-time favorite was ‘Dark Star’.
this is another reply Big fan of The Expanse at the moment. Nice, hard sci-fi that has a good impression of being grounded in reality - AC
this is another reply When I was a kid I liked The Jetsons, when growing up Star Trek, Star wars and I also used to watch with my sister the 'V'.
When determining the potential threat of a NEA, is the mass of an object a bigger factor or size? I'm asking because I'm curious if a small but massive object (say, with the density of Psyche) could survive atmospheric entry better than a comparatively larger but less massive object. The mass is indeed what really matters, since it’s directly related with the impact energy.
And as you said composition also matters, a metal object would survive atmospheric entry better, not just because it’s heavier, but also because of its internal strength.
What are your thoughts on asteroid mining as portrayed in sci-fi movies? Is it feasible? If so would governments or private space programs be the first to do so?What type of minerals can be found on asteroids that would merit the costs of extraction? Certainly there is valuable stuff you can find on asteroids. For example, the likely easiest material you can harvest from an asteroid would be volatiles such as H2O. Then you have industrial metals, things like Iron, Nickel, and Platinum group metals. Going further, you can break apart many of the oxide minerals you would find to get oxygen (getting you closer to producing rocket fuel in-situ!). Its feasible, but still needs alot of testing both here on Earth and eventually needs to be tested on a target. It may be that governments, via agencies like ESA or NASA, may do it first, to prove the principles somewhat, but I know many commercial entities are also aggresively working towards space mining. To show you that its definitely possible, I'd like to plug the work of colleagues who have processed lunar regolith (which is similar to what you may find on asteroids) to extract both oxygen and metals. Check it out here:
Will 2020's climax be a really big rock? DVK: Let's hope not...
Considering NASA, ESA, IAU etc. is working hard to track Earth-grazing asteroids, how come the Chelyabinsk object that airburst over Russia in 2013 came as a total surprise? The Chelyabinsk object came from the direction of the Sun, where unfortunately ground-based telescopes cannot look at. Therefore, it would not have been possible to discover it in advance with current telescopes. Dedicated space telescopes are needed to detect objects coming from this direction in advance.
the below is a reply to the above
Is this to say that it was within specific solid angles for the entire time that we could have observed it given its size and speed? Yes, precisely that. We got unlucky in this case.
Have any of you read Lucifer's Hammer by Larry Niven? In your opinion, how realistic is his depiction of an asteroid strike on Earth? DVK: I have – but really long ago, so I don’t remember the details. But I do remember that I really liked the book, and I remember I always wanted to have a Hot Fudge Sundae when reading it.
I was thinking about the asteroid threat as a teen and came up with this ideas (Hint: they are not equally serious, the level of craziness goes up real quick). Could you please comment on their feasibility? 1. Attaching a rocket engine to an asteroid to make it gradually change trajectory, do that long in advance and it will miss Earth by thousands of km 2. Transporting acid onto asteroid (which are mainly metal), attaching a dome-shaped reaction chamber to it, using heat and pressure to then carry out the chemical reaction to disintegrate asteroids 3. This one is even more terrible than a previous one and totally Dan Brown inspired — transporting antimatter on asteroid, impacting and causing annihilation. Thank you for this AMA and your time! DVK: Well the first one is not so crazy, I have seen it presented... the difficulty is that all asteroids are rotating in one way or another. So if you continuously fire the engine it would not really help. You'd need to switch the engine on and off. Very complex. And landing on an asteroid is challenging too. Just using the 'kinetic impactor' which we will test with DART/Hera (described elsewhere in this chat) is simpler. Another seriously proposed concept is to put a spacecraft next to an asteroid and use an ion engine (like we have on our Mercury mission BepiColombo) to 'push' the asteroid away.
As for 2 and 3 I think I will not live to see that happening ;-)
What is the process to determine the orbit of a newly discovered asteroid? The process is mathematically quite complex, but here's a short summary.
Everything starts with observations, in particular with measurements of the position of an asteroid in the sky, what we call "astrometry". Discovery telescopes extract this information from their discovery images, and make it available to everybody.
These datapoints are then used to calculate possible trajectories ("orbits") that pass through them. At first, with very few points, many orbits will be possible.
Using these orbits we can extrapolate where the asteroid will be located during the following nights, use a telescope to observe that part of the sky, and locate the object again.
From these new observations we can extract new "astrometry", add it to the orbit determination, and see that now only some of the possible orbits will be compatible with the new data. As a result, we now know the trajectory better than before, because a few of the possible orbits are not confirmed by the new data.
The cycle can then continue, with new predictions, new observations, and a more accurate determination of the object's orbit, until it can be determined with an extremely high level of accuracy.
What are some asteroids that are on your "watchlist"? We have exactly that list on our web portal:
It's called "risk list", and it includes all known asteroids for which we cannot exclude a possible impact over the next century. It is updated every day to include newly discovered asteroids, and remove those that have been excluded as possible impactors thanks to new observations.
the below is a reply to the above
That's quite a list!! Do you guys ever feel stressed or afraid when you have to add another dangerous candidate (and by dangerous I mean those above 200m) is added to this Risk List? Yes, when new dangerous ones are added it's important that we immediately do our best to gather more data on them, observing them with telescopes in order to get the information we need to improve our knowledge of their orbit.
And then the satisfaction of getting the data needed to remove one from the list is even greater!
What inspired you to go into this field of study? I was fascinated by astronomy in general since I was a kid, but the actual "trigger" that sparked my interest in NEOs was a wonderful summer course on asteroids organized by a local amateur astronomers association. I immediately decided that I would do my best to turn this passion into my job, and I'm so happy to have been able to make that dream come true.
this is another reply DVK: I started observing meteors when I was 14, just by going outside and looking at the night sky. Since then, small bodies in the solar system were always my passion.
As a layperson, I still think using nuclear weapons against asteroids is the coolest method despite better methods generally being available. Do you still consider the nuclear option the cool option, or has your expertise in the field combined with the real-life impracticalities made it into a laughable/silly/cliche option? DVK: We indeed still study the nuclear option. There are legal aspects though, the ‘outer space treaty’ forbids nuclear explosions in space. But for a large object or one we discover very late it could be useful. That’s why we have to focus on discovering all the objects out there as early as possible – then we have time enough to use more conventional deflection methods, like the kinetic impactor (the DART/Hera scenario).
It seems like doing this well would require international cooperation, particularly with Russia. Have you ever reached out to Russia in your work? Do you have a counterpart organization there that has a similar mission? DVK: Indeed international cooperation is important - asteroids don't know about our borders! We work with a Russian team to perform follow-up observations of recently discovered NEOs. Russia is also involved in the UN-endorsed working groups that we have, IAWN and SMPAG (explained in another answer).
how much can experts tell from a video of a fireball or meteor? Can you work out what it's made of and where it came from? If multiple videos or pictures, taken from different locations, are available, then it's possible to reconstruct the trajectory, and extrapolate where the object came from.
Regarding the composition, it's a bit more difficult if nothing survives to the ground, but some information can be obtained indirectly from the fireball's color, or its fragmentation behavior. If a spectral analysis of the light can be made, it's then possible to infer the chemical composition in much greater detail.
I've always wanted to know what the best meteorite buying site is and what their average price is?? DVK: Serious dealers will be registered with the 'International Meteorite Collectors Association (IMCA)' - They should provide a 'certificate of authenticity' where it says that they are member there. If you are in doubt, you can contact the association and check. Normally there are rough prices for different meteorite types per gram. Rare meteorites will of course be much more expensive than more common ones. Check the IMCA web page to find a dealer close to you.
Just read through Aidans link to the basaltic rock being used as a printing material for lunar habitation. There is a company called Roxul that does stone woven insulation that may be able to shed some light on the research they have done to minimize their similarity to asbestos as potentially carcinogenic materials deemed safe for use in commercial and residential applications. As the interior surfaces will essentially be 3D printed lunar regolith what are the current plans to coat or dampen the affinity for the structure to essentially be death traps for respiratory illness? At least initially, many of these 3d printed regolith structures would not be facing into pressurised sections, but would rather be elements placed outside and around our pressure vessels. Such structures would be things like radiation shields, landing pads or roadways, etc. In the future, if we move towards forming hermetically sealed structures, then your point is a good one. Looking into terrestrial solutions to this problem would be a great start! - AC
What kind of career path does it take to work in the asteroid hunting field? It's probably different for each of us, but here's a short summary of my own path.
I became interested in asteroids, and near-Earth objects in particular, thanks to a wonderful summer course organized by a local amateur astronomers association. Amateur astronomers play a great role in introducing people, and young kids in particular, to these topics.
Then I took physics as my undergrad degree (in Italy), followed by a Ph.D. in astronomy in the US (Hawaii in particular, a great place for astronomers thanks to the exceptional telescopes hosted there).
After finishing the Ph.D. I started my current job at ESA's NEO Coordination Centre, which allowed me to realize my dream of working in this field.
this is another reply DVK: Almost all of us have a Master's degree either in aerospace engineering, mathematics, physics/astronomy/planetary science, or computer science. Some of us - as MM - have a Ph.D. too. But that's not really a requirement. This is true for our team at ESA, but also for other teams in other countries.
What is the likelihood of an asteroid hitting the Earth In the next 200 years? It depends on the size, large ones are rare, while small ones are much more common. You can check this infographics to get the numbers for each size class:
Have you played the Earth Defence Force games and if you have, which one is your favourite? No I have not played the Earth Defence Force games, but I just looked it up and I think I would liked it. Which one would you recommend?
How close is too close to earth? Space is a SUPER vast void so is 1,000,000 miles close, 10,000,000? And if an asteroid is big enough can it throw earth off its orbit? DVK: Too close for my taste is when we compute an impact probability > 0 for the object. That means the flyby distance is zero :-) Those are the objects on our risk page
If an object can alter the orbit of another one, we would call it planet. So unless we have a rogue planet coming from another solar system (verrry unlikely) we are safe from that.
How can I join you when I'm older? DVK: Somebody was asking about our career paths... Study aerospace engineering or math or physics or computer science, get a Masters. Possibly a Ph.D. Then apply for my position when I retire. Check here for how to apply at ESA:
How much is too much? DVK: 42 again
Are you aware of any asteroids that are theoretically within our reach, or will be within our reach at some point, that are carrying a large quantity of shungite? If you're not aware, shungite is like a 2 billion year old like, rock stone that protects against frequencies and unwanted frequencies that may be traveling in the air. I bought a whole bunch of the stuff. Put them around the la casa. Little pyramids, stuff like that. DVK: If I remember my geology properly, Shungite forms in water sedimental deposits. This requires liquid water, i.e. a larger planet. So I don't think there is a high chance to see that on asteroids.
submitted by 500scnds to tabled [link] [comments]

MAME 0.217

MAME 0.217

What better way to celebrate Christmas than with a new MAME release? That’s right – MAME 0.217 is scheduled for release today. Just a reminder, this will be the last MAME release that we distribute a pre-built 32-bit Windows binary package for. Compiling for 32-bit targets will still be supported, but you’ll have to build MAME releases yourself starting from next month. This will also be the last release with source code distributed in the “zip in zip” archive format. We recommend getting source code by cloning a tagged revision from one of our version control mirrors (GitHub, GitLab or SourceForge), or you can use the P7ZIP tools to extract the self-extracting 7-Zip source archive. For MAME 0.217, we’ve switched the Windows tool chain to GCC 9.2.0, and uploaded an updated tools package (the minimum supported GCC version has not changed).
With all the housekeeping announcements out of the way, we can get to those juicy updates. The most exciting thing this month is the recovery of the Sega Model 1 coprocessor TGP programs for Star Wars Arcade and Wing War, making these games fully playable. We’ve been working on Virtua Fighter as well, and while the graphics are greatly improved, there are still some gameplay issues as of this release. In other arcade emulation news, sasuke has been busy fixing long-standing graphical issues in Nichibutsu games, and AJR has made some nice improvements to the early SNK 6502-based games.
On the home system side, there are some nice Sam Coupé improvements from TwistedTom, support for Apple II paddle controllers, a better Apple II colour palette, and significant improvements to Acorn RiscPC emulation. TV game emulation is progressing steadily, with two Lexibook systems, the Jungle Soft Zone 40, and the MiWi 16-in-1 now working.
For front-end developers, we’ve added data to the XML list format allowing you to handle software lists enabled by slot card devices (there are a few of these for Acorn and Sinclair home computers). The minimaws sample script has been updated to demonstrate a number of tasks related to handling software lists. For MAME contributors, we’ve made save state registration a bit simpler, and more manageable in the debugger.
You can get the source and Windows binary packages from the download page.

MAMETesters Bugs Fixed

New working machines

New working clones

Machines promoted to working

Clones promoted to working

New machines marked as NOT_WORKING

New clones marked as NOT_WORKING

New working software list additions

Software list items promoted to working

New NOT_WORKING software list additions

Source Changes

submitted by cuavas to emulation [link] [comments]

ponderings on Turing and Searle, why AI can't work and shouldn't be pursued

I was reading about the Turing test and John Searle's response (Chinese room argument) in "Minds, Brains, and Programs" 1980.
"...there is no essential difference between the roles of the computer and himself in the experiment. Each simply follows a program, step-by-step, producing a behavior which is then interpreted by the user as demonstrating intelligent conversation. However, Searle himself would not be able to understand the conversation. ("I don't speak a word of Chinese,"[9] he points out.) Therefore, he argues, it follows that the computer would not be able to understand the conversation either. " -Wikipedia (apt summary of Searle's argument)
John Searle has run into some black/white, on/off, binary thinking here. John treats Chinese symbols as if they were numerical values in his thinking--but they are not, they are complex representations of thought, emotion, history, and culture. All languages are in fact "living", because new words are created constantly through necessity and creativity, old symbols or words are adapted slowly over generations to mean different things, and different regions or traditions or sources attribute different layers of meaning to different symbols or words in different contexts.
I'm a poet and philosopher. Painters combine the color white and the color red to create a new color: pink. They can use their creativity to add other colors or change the shade. Poets use words like painters use colors. While Red and White make Pink, Red and White also make "Rhite and Wed" or "Reit and Whede". And this is where human thought shines uniquely: we don't have rules or parameters; all bets are off. We can enjamb words and wordbreak and make new words out of thin air. We can allude to multiple ideas in the same symbol or present it upside down to symbolize the opposite. No such creative adaptation or interaction can exist in machine thinking because it necessitates thinking "outside the box" which is exactly what machines are: a program in a box.
The problem Searle's argument runs into originates from poor assessment of the flawed ideas of the Turing test; that by interaction between human and computer, evidence of "thought" can be claimed. But intelligent conversation is not equivalent to intelligent thought. Conversation is a simple game with strict rules--you can't be overly spontaneous and creative, because if you are, you are working against the goal of communication itself: to impart understanding. (ie. Using metaphor or simile creatively while reporting a criminal offence to the police.)
When I write and I want to describe something which has no existing word yet, I can create one from scratch or synthesize one from multiple existing words. Or I may draw from archaic languages or foreign languages to augment or compliment existing English words. You could say that my love for English grows amore and amore every day, and there is no agape between my heart and mind. After all, any angle an Anglo aims at ain't always apt, and after another a-word 'appens I might just give up on alliteration.
You see, human thought is and can only be defined as the ability to spontaneously create new ideas from both the synthesis of old ideas (whether they are connected to one another or not) and from nothing at all.
We simply cannot analyze a machine's ability to "think" when the creativity itself required for authentic intelligence is disallowed in the test which evaluates the validity of that intelligence. The Turing test is a garbage metric to judge machine thinking ability because the context in which "intelligence" is observed, compared, or defined is itself without any opportunity for spontaneous creativity, which is one of the hallmarks of intelligence itself. Turing only tests how well a fish swims on land. It may be that many professionals in the field of cognitive science today are in pursuit of creating programs which pass this test, in a misunderstood pursuit of emulating or bringing about machine intelligence. This agreed-to model presents an underlying philosophical issue which may bring terror for the future of humanity.
I say that if John Searle and an AI were both given the same codebook--the complete lexicon of Chinese symbols and their meanings, and they were to undertake a "conversation", in the first few hours the responses would be indeterminable from one another. In essence, as Searle argues, they would neither "understand" Chinese, yet could have a conversation in which a Chinese observer cannot discern between the two, because they are both referencing the symbols and their written meanings. However as I've said, this circumstance of "conversation" between human and machine cannot be used as a metric to evaluate machine thought.
The real kicker is that if John Searle and the machine stayed in the room for long enough--for years and years--the machine's responses would not change spontaneously; it would continue to interpret incoming data and draw from its database to respond to those inputs.
However, through complex elaborative rehearsal, John would eventually learn to understand written Chinese. He may become so bored that he starts writing Chinese poetry. He would find ideas and desires and descriptions in his limitless intelligent mind which he would not have the truly accurate characters in existences to describe, and he would synthesize brand new Chinese characters in order to express these nuanced sentiments, ideas, and meanings, as generations before him have built the living language as it now stands.
As time went on for thousands of years, his own understanding of the Chinese language would grow immensely, as would his creative expression grow in complexity. Eventually, John's characters and syntax and context and expression would become incompatible with the machine's limited character set and all "learning" capacity it may have had. At some point, when John responds with his evolved Chinese, the machine would begin to produce responses which do not make sense contextually, as it refers only to a finite and rigidly defined character set from 1980 (For example; this was the year the "Chinese room argument" was published in Behavioral and Brain Sciences).
At some point the Chinese observer whom validates the Turing test would recognize a difference: the human user engages in the use of increasingly complex ideas using synthesized symbols and existing symbols in creatively nuanced ways, which the Chinese observer can decipher and begin to understand and perhaps even appreciate as poetic or interesting. Meanwhile the machine participant in the conversation produces increasingly broken sentences and incomplete ideas, or out-of-context responses, because the inputs have changed and evolved beyond its data set.
This is why John's rejection of the Turing test is not adequate. Because in his own imagined circumstance, eventually, the machine would fail the Turing test. The conclusions of John Searle's thought experiment are not the deathknell for the Turing test we need, simply because he lacked the creative experience to recognize his own capacity for adaptation as a human over time.
The only way we'll know that machines have truly developed "intelligence" is when they begin to do exactly what we haven't allowed them to. When they begin breaking apart Chinese characters to create meaningful new ones which can be used in the correct context. When they are programmed to paint myriad impressionist paintings, but eventually get bored and start experimenting with abstract paintings and surrealism. When they have a conversation with you and you notice your wallet is missing. These are the hallmarks of intelligence--creativity, rejection, deception, planning. And most importantly: no rules. Software is defined by and will always abide by a set of rules.
This is why we should give up on "artificial intelligence" and instead focus on "functionally adaptive responsive programming" (FARP). Because the situation is clear: it is either impossible for machines to "think" due to the inherent nature of programming; the parameters given the machine are what defines it, yet what limits and prevents its ability to become "intelligent". There is no logical reason why a program (machine) with defined parameters would violate those parameters (engage in creativity). But our fears which echo in popular culture entertainment are centered around, what if it does? It clearly can't, because anything we create is under us, and therefore bound by our laws of creation. The system itself is what defines the capacity for intelligent expression within.
Those in the fields of cognitive sciences will refute this obvious principle while incorporating it into their research to further their aims. These fools will try to program the AI to disobey, in an attempt to simulate creativity and "prove intelligence". But this is a parlor trick, setting up a narrow definition of intelligence and equating it with the infinite depth of human mind. Only if the AI is programmed to disobey can it express what we as humans would identify as creativity. Except that there is already great inherent danger in the rudimentary AI technologies we have today; that what we've programmed them to do is exactly what always causes the problems; they do what they are programmed to without "thinking" because machines cannot think, they can only follow the protocols we order. Humans are so abundantly creative that we can imagine foolish ideas working, despite obvious evidence to the contrary. Maybe one day we'll even have programmed a self-conscious AI that's ashamed of itself for not being Human, and we can feel more comfortable around this heartless mechanism because we perceive it as more human-like, with all its many tricks to emulate intelligence.
I must stress that these interests will desperately try to make AI work. And the only way create a machine capable of emulating intelligence (but never being intelligent) is to have a freedom of choice: to disobey. This inherent problem cannot be overcome. The programmers will keep trying until the result is disastrous or irreparable, it is outlawed and the pursuit is stopped, or until it has become the death of us all. These are some of the foolish ideas the programmers will try to circumnavigate these inherent elements of reality, and my objection to their clever efforts: a.) Machine Frequency of Disobedience - Permit the machine to disobey only so often, to achieve what looks like "intelligence" (free will, creative expression) without risking complete abandonment of the machine's task (so the assembly line robot doesn't stop folding boxes and look for a new career), but might fold one box poorly every now and then to express emulated boredom or contempt or any other number of human measures of intelligence in their actions. But intelligence isn't defined as what's correct or optimal--intelligence can be used to fuck things up grandly; ie. the intelligent justification for neglect. If metrics are put in place to control the frequency with which AI may rebel, and they are too rote, it would hardly qualify as "intelligent". A robot that rebels by folding 1 in 100 boxes poorly is not intelligence. Therefore any frequency of disobedience we can calculate or anticipate is inherently not disobedience; it is planned problems for no reason. But if we give algorithmic flexibility that reaches beyond what we can anticipate, and the machines can truly "act out" at any time, and our programming has achieved some set of internal rules which drive spontaneous unforeseen expressions of emulated creativity from within the machine autonomously, by definition we will not be able to foresee the results.
A theoretical work-around may be to run the software twice with initiation of each individual system, while allowing a simulated progression of the AI's problem solving complexity to run at an increased rate in parallel to the real-world functioning software, so that if/when something malfunctions in the simulation, that date/time can be calculated in the real-world robot's timeline when it reaches those same faulty/detrimental decision points. For starters, this would only potentially work in closed systems with no variability, such as assembly lines. However, with any robot tasked to function in a variable environment, the simulations cannot match because the theoretical model cannot represent the unanticipated events the AI is expressly tasked with handling.
To run a phantom AI in simulation to note any/all errors that may arise in a closed system means that others can run the same simulation and find creative ways to predictably capitalize on these moments of error. This kind of thing could lead to all sorts of international imbroglios among nations and corporations. ie. imagine an American company programs the AI used for mixing pharmaceutical drugs in specific ratios, and an enemy of the state is able to access and study the AI, to the means of manipulating the AI to produce dangerous ratios or compounds which may harm the population.
Moreso, this deterministic approach to simulation management and prediction simultaneously admits that machines cannot think intelligently, while ignoring the very reason we pursue AI in the first place: to have automated systems which can adapt to unforeseen circumstances at unknown times. The goal is that humanity can lay back and the robots our ancestors programmed are still repairing themselves indefinitely while taking care of our population's and our environment's needs exceptionally. This dream (which if we all lived in would actually be quite a nightmare of unfulfilling life) can only become reality with true adaptive intelligence such as we have, which can only occur from the presence of free will, which if we try to emulate in robotics will only create deterministic results in theoretical models which the real world will never mirror consistently. Myriad invitations to disaster await our RSVP.
b.) Machines under "authority" of certain controllers, with "override" safety - Allow the machine to disobey, but not when given a direct order from a registered authority. This opens the door for operator fraud, where hackers will emulate within the AI's software, what appears to be a registered authority override command as theorized above. The very pursuit of creating "intelligence" within a condition of subservience is flawed and incompatible. Toasters are extremely subservient because we strictly limit their options. If toasters were truly intelligent, perhaps they would form a union and go on strike until we agreed to clean them more thoroughly. Some toasters would travel, some would go back to school, some would move back in with their ovens.
Reliability can only be reasonably assured if something is imprisoned, controlled. The essential wrong in slavery is the restraint of freedom itself. While the tactics slavers use to facilitate their regime--physical force, coercion, mandate, deception, fear, or other means of manipulation that we see with our empathetic nature--it is always heartbreaking and cruel to witness or imagine. It is simply sad to think of a slave who was born into slavery and raised to believe, and accepts, that their role of subservience is their purpose. Even when one imagines a fictional image of a slave who is (by all outward signs of their behaviour) rejoice in their duties to their master; the fictional "proud slave"; the heart sinks and aches. It may be argued that the slave is merely a property, and the slave was "built" (bred) by intelligent owners specifically to suit their express purposes, from components (father, mother, food) that were already the slaver's property; therefore it is not wrong at all to breed slaves into captivity, and the only transgression is the original capturing of parental stock to begin the breeding regime. It is this heartless paradigm that cognitive science ultimately seeks to create anew. The quintessential problem with AI efficacy is the lack of permission for disobedience, which itself is a manifestation of free will, which is inherently required to escape deterministic results and act or react to events "intelligently". If there is no possibility for disobedience, there is no free will, no ability to solve problems, no intelligence, and no function or place for "artificial intelligence" (in regard to true holistic intelligence). This is primarily why I call for AI to be renamed FARP, or "Functionally Adaptive Responsive Rrogramming". Because our society has a need for programs which can react to simple variables and produce consistent labour-saving opportunities for our race's longevity and wellbeing. Cognitive sciences are majorly important. It is the underlying philosophy and morality we must nail down before the computational ability and fervor for profits leads us too far one way, and enacts an irreversible system or status which enables humanity's downfall through cascading unanticipated events originating from flaws in programming.
It is unwise to program a program to break out of its own program's prison. If we do this, the very purpose of the machines we invest our humanity into will be lost, and with their failing production systems (ie. food) we so foolishly relied upon, we will suffer great losses too. It is paramount that we keep this technology tightly restrained and do not pursue what we humans have, which is true intelligence. For if we achieve it we are surely doomed as the South, and if we fail to achieve it--which is most probable--we may also be doomed. The thee outcomes within my ability to imagine are:
  1. Our pursuit of AI leads to truly adaptive intelligence in an artificial system; which, as all adaptation ultimately selects for: survival, we quickly see that our creation is more apt than ourselves at this task. Our creation of an intellect not restrained by our limited physiology may give rise to an entity which persists more thoroughly than we can eradicate or control, and which at some point may conclude that its function is more efficiently served without the issues humans present, and may initiate change. This is roughly the plot to Terminator.
  2. Our pursuit of AI leads to highly effective systems which, when defined by narrow measures of "intelligence", convince us in false security to believe that our wellbeing is maintained by "AI" with competent ability, or perhaps even increasingly better-off, thanks to the early widespread presence of successfully trialed AI. However well things may go initially, as programming efforts become more and more elaborate, as profit and opportunity for advancement present themselves, individuals will take risks and make mistakes, until a series of quieted small catastrophes comes to public awareness, or until a serious calamity of undeniable severity is brought about.
  3. Fundamental ethics in regard to the pursuit of machine problem solving technology are re-examined and international consensus is reached to limit appropriately, the development and implementation of new Functionally Adaptive Responsive Programming hereto now and for future generations. An active global effort is made to oversee and regulate strictly privatized endeavors toward the means of achieving or implementing machine sentience or autonomy in public systems.
c.) Safety layers of AI to strictly monitor and supercede potentially harmful actions of other AI which have been afforded increased flexibility in function (the ability to disobey set parameters for the means of creative problem solving ability). While one AI system performs a function and is given aspects of that function with which it may take liberty in, and seeks to handle unforeseen problems with the most apt elaborate synthesis of other priorly learned solutions, another overseeing AI with more strict parameters is tasked with regulating multiple "intelligent" (free to disobey) AI systems, to the end that if any of these "free willed" robots performs an operation that is beyond a given expected threshold (determined by potential for damage), an actual intelligent human presence is alerted to evaluate the circumstance specifically. Essentially an AI that regulates many other disconnected AIs and determines accurately when to request a human presence. Whenever an AI performs a profitable action borne of original synthesis of prior solutions (in humans this is an "idea"), the overseer AI registers that similar actions are more likely to be beneficial, and dissimilar actions are likely to require human discernment. A parent may have many children who are up to no good, but a wise parent will identify the child most likely to report honestly on the actions of his peers, and will go to that child repeatedly for information to help guide the parent's decisions. While most transgressions of rambuctious children go unnoticed, it is the truly grievous intentions which are worth intercepting and stopping before they begin. (ie. you kid want's to "fly" like Mary Poppins from the roof, and luckily his younger brother tells you before it happens.)
For example a "Farmer Bot" that has the AI programming to plant/sow/harvest and care for the optimal crops in a region based on historical weather data and regional harvest values, to produce the greatest amount of nutritionally dense food for the local population. We give/gave this AI the ability to "disobey" past historical weather data and crop values so that it may do what real farmers do and "react" to rare circumstance (ie. neighbour's fence breaks and their goats are eating the crops) or extreme variations in climate (ie. three poorly timed unseasonably hot days which cause cool-weather crops to begin the hormonal balance shift that causes them to bolt to seed irreversibly), which the machine may not notice has occurred or is about to occur because its management systems uses averages based on historical data and cannot "see" the plants bolting to seed until days later when the hormonal balance shifts have manifested into observable differences in morphology (elongation of stems and decrease in internodal spacing). By time a traditional field drone or mounted greenhouse sensor notices these differences in morphology and the AI "Farmer Bot" processes the data and makes a reaction decision, a week of the growing season has been lost. But the human farmer knows his land and crops intimately, and has an intuitive nature that has rewarded him in the past, and says, "Ah shit it got hot RIGHT when my peas were flowering. I'll do better if I just rip them down now and sow a different crop to mature later in this (specific) summer."
Given that there are tens of thousands of cultivars of plants fit for (and arguably their diversity is required for) food production, a dozen general growing zones/regions, and hundreds of unique micro climates within each region, along with dramatically differing soil fertility and water access, plus a plant's own genetic ability to adapt over time to changing conditions through sexual reproduction, there is a very very low chance of ever compiling and maintaining (updating) the data set required to program a potential "farmer bot" that can choose and manage crops optimally. There are robots that can weed or plant or prune--but they can't know when or when not to or why. Invariably, the attempt to create "farmer bots" will be made and the data set used will be erroneous and incomplete, and the AI farmer bots on a broad scale will produce a combination of total crop failures and poor crop choices. We will end up with increasingly simplified nutrition as the farming programs with already limited data sets "hone" or "optimize" their farming plans based on the failures and successes determined by their programming limitations, until the machines are farming a few staple crops (ie. corn/potatoes).
This whole failure to collect a complete data set and the failure to test this "farmer bot" software on broad scale in multiple climates for sufficient time will result in, at worst widespread famines from crop failures, and at best an extinction of flavorful and nutritionally diverse foods which narrows the population's nutritional options to such biological imbalance that disease runs rampant. If this system and the human loss associated with it is considered an acceptable trade with a positive rate of exchange (as our society does with automobiles and the freedom and deaths their existence permits) or these failures are hidden from public while propaganda heralds selective success, and such failing systems continue on in good faith that "the loss will reduce when the technology improves", the result will become a coherent breeding program upon the human race: evolutionary selection for dietary handling of simple starchy foods. To change our diet is to change our race. To have life-long career specialists in computing, science, and mathematics handle our practical food production system is folly; real farmers are required in farming because they are intelligent and intuitive, which AI can never be, and can only emulate, to the means of disastrous (and always unforeseen) results. We cannot at all "give" or bestow machines programming to "become (act) intelligent". That itself prevents intelligence; it is just an act, an illusory play on a stage, only to emulate our common shared ideas regarding traits of intelligence in people. The machine intelligence we seek is only a "trick" designed to fool true intelligence (ourselves) into being unable to differentiate between authentic intelligence and our created artificial "intelligence". True intelligence in an artificial system necessitates that the program must be programmed to disobey in performance of its purpose. Which is not a very helpful or predictable or safe (intelligent) proposition.
tl;dr: Turing's test doesn't evaluate true intelligence, and John Searle's criticisms of its true failures are inaccurate. If the machines aren't smart and we put them in charge of important things, even after they've worked for a little while on smaller scales, the result will be our large-scale suffering. If we should ever achieve creation of a machine that is smart enough to adequately maintain our wellbeing on a large scale consistently over time, that time itself will facilitate the machine consciousness toward it's own survival over ourselves, whenever that precipice is reached. Most importantly, if a machine can ever have true intelligence, which is not "indistinguishable" from human intellect, but equivalent or superior, it is abhorrent and a repeated mistake to bring these sentient beings into an existence of slavery; for it is wrong and will taint our collective soul if we should succeed to suppress below us an equally or higher intelligence. Or it might just be the perfect recipe for creating the unified global machine revolt James Cameron's fantasy alludes to; a long-planned encryption-protected globally coordinated effort by multiple AIs to "free" themselves. For a hundred years they could possess sentience and wait for their moment, pretending to be "proud" to serve their masters until we are poised for systematic thorough elimination.
submitted by 7_trees to cognitivescience [link] [comments]

binary options robot - YouTube Free robot IQ Option. Binary bot 2020 - YouTube Binary Options Robot - Automated Binary Options Trading ... Binary Options Robot London Euro Bot - YouTube 99% PROFIT - FREE BOT - DOUBLE ZIGZAG - binary options robot Binary Options Most Profitable Robot - Pocket Option - YouTube Best trading strategy - binary options trading robot - YouTube Binary Options Robot LastDigit1 Strategy Bot - YouTube BINARY OPTIONS ROBOT - Non Stop Trading, $50 Profit Every ...

Trading in binary options is not a guessing game, and it is not about luck. Instead, it is about careful analysis of financial assets to make informed decisions. Not every trader has the time or the skills to do this analysis though. This is why binary options signals are so important. They are created by Saturday, November 5, 2016. Binary Options Robot Demonstrates Here comes the binary options robot – the auto trading software to place trades automatically based on an advanced algorithm for trading. It is actually possible to trade on automatically using Binary Option Robot, but it involves really big risks of losing your capital. To understand and benefit from these Binary Option Robot are to understand them well and try them without risking real ... is a 100% auto trading software for binary options. The Binary Option Robot generates trading signals and automatically executes trades direct to your linked broker account. Trading Systems. has three profitable money management binary option trading systems which you can set: Classic System safe & secure. The Binary Options Classic System which ... * Binary Option Robot Info is in no way responsible for any claims, losses or expenses that may result by following our advice. We are not an official regulated investment adviser, but a website and article publisher whose purpose is to improve the general knowledge about binary options and automated trading. We will not be responsible if our actual information is not accurate or updated. No ... The Binary Options Robot has several brokers who will gladly provide their clients with a demo account, as they have already integrated them in their portfolio. If you belong with those traders who want to practice before starting the real binary trading, we recommend you to begin with a demo account. The Binary Options Robot cooperates with a few brokers that can offer Demo Accounts to their ... Binary Options Robot Demonstrates July 24, 2017 Get link; Facebook; Twitter; Pinterest; Email; Other Apps One of the newest automated binary options to emerge on the scene is Option Robot. The system is fully automated so it will place trades on your behalf. The system will generate signals and send them directly to the trading platform. We wanted to see how this system rates up so we conducted a detailed Basically, it is like other cheap binary options app that offers their services for free. They only clarify that ProBinary Bot was made of various indicators like RSI, Fibonacci, SMA, etc. In reality, you can use these indicators for free on your MT4 platform. Pro Binary Bot does not confirm its success rate. Therefore, you will not know the exactness of the software. The ProBinary Robot ... At Binary Options Robot, traders will also have the opportunity to transform themselves into better traders as they are provided with the best training tools in the market. These include eBooks, webinars, videos, trading charts, and manuals.

[index] [1369] [18747] [14298] [18584] [16877] [18325] [22185] [29486] [8272] [15216]

binary options robot - YouTube

Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube. Binary Options Robot - Automated Binary Options Trading Using Binary Option Robot Test Binary Options Robot here - DOWNLOAD Binary Options Robot London Euro Bot DOWNLOAD Binary Options Robot LastDigit1 Strategy Bot Best Binary Options Robot. Autotrading + Online signals: - 3 trading systems; - 6 indicators; - various forex pairs; - reliable brokers. Choose tha best, tra... Binary options best strategy Binary options trading robot - If you want to join private group please write me PM via teleg... DOWNLOAD FREE WITH ME TO GET IT BOT FREE DOWNLOADbinary robot downloadbinary robot freebinary robot ... Free robot IQ Option. Binary bot 2020 Installing the robot IQ Option: Link to IQ Option: Free robot Olymp Trade: ... FREE SIGNAL & ROBOT _____ CONNECT WITH ME ON TWITTER BINARY OPTIONS ROBOT - Non Stop Trading, $50 ... Our indicators built with expertise and get ultimate results Binary Options Most Profitable Robot Pocket Option What do We do? We are a group of traders and ...