omniomni/omni-engineering huggingface dataset:
Navigation mesh. A navigation mesh, or navmesh, is an abstract data structure used in artificial intelligence applications to aid agents in pathfinding through complicated spaces. This approach has been known since at least the mid-1980s in robotics, where it has been called a meadow map, and was popularized in video game AI in 2000.

Description
A navigation mesh is a collection of two-dimensional convex polygons (a polygon mesh) that define which areas of an environment are traversable by agents. In other words, a character in a game could freely walk around within these areas unobstructed by trees, lava, or other barriers that are part of the environment. Adjacent polygons are connected to each other in a graph.

Pathfinding within one of these polygons can be done trivially in a straight line because the polygon is convex and traversable. Pathfinding between polygons in the mesh can be done with one of the large number of graph search algorithms, such as A*. Agents on a navmesh can thus avoid computationally expensive collision detection checks with obstacles that are part of the environment.

Representing traversable areas in a 2D-like form simplifies calculations that would otherwise need to be done in the "true" 3D environment, yet unlike a 2D grid it allows traversable areas that overlap above and below at different heights. The polygons of various sizes and shapes in navigation meshes can represent arbitrary environments with greater accuracy than regular grids can.

Creation
Navigation meshes can be created manually, automatically, or by some combination of the two. In video games, a level designer might manually define the polygons of the navmesh in a level editor. This approach can be quite labor intensive. Alternatively, an application could be created that takes the level geometry as input and automatically outputs a navmesh.

It is commonly assumed that the environment represented by a navmesh is static – it does not change over time – and thus the navmesh can be created offline and be immutable. However, there has been some investigation of online updating of navmeshes for dynamic environments.

History
In robotics, using linked convex polygons in this manner has been called "meadow mapping", coined in a 1986 technical report by Ronald C. Arkin.

Navigation meshes in video game artificial intelligence are usually credited to Greg Snook's 2000 article "Simplified 3D Movement and Pathfinding Using Navigation Meshes" in Game Programming Gems. In 2001, J.M.P. van Waveren described a similar structure with convex and connected 3D polygons, dubbed the "Area Awareness System", used for bots in Quake III Arena.

Notes

References

External links
UDK: Navigation Mesh Reference
Unity: Navigation Overview
Source Engine: Navigation Meshes
Urho3D: Navigation
Godot Engine Navigation
Cry Engine Navigation And AI

Graph data structures
Video game development
Computational physics
Robotics engineering
Slipstream (computer science). A slipstream processor is an architecture designed to reduce the length of a running program by removing the non-essential instructions.
It is a form of speculative computing.

Non-essential instructions include such things as results that are not written to memory, or compare operations that will always return true. Also as statistically most branch instructions will be taken it makes sense to assume this will always be the case.

Because of the speculation involved slipstream processors are generally described as having two parallel executing streams. One is an optimized faster A-stream (advanced stream) executing the reduced code, the other is the slower R-stream (redundant stream), which runs behind the A-stream and executes the full code. The R-stream runs faster than if it were a single stream due to data being prefetched by the A-stream effectively hiding memory latency, and due to the A-stream's assistance with branch prediction. The two streams both complete faster than a single stream would. As of 2005, theoretical studies have shown that this configuration can lead to a speedup of around 20%.

The main problem with this approach is accuracy: as the A-stream becomes more accurate and less speculative, the overall system runs slower. Furthermore, a large enough distance is needed between the A-stream and the R-stream so that cache misses generated by the A-stream do not slow down the R-stream.

References 
 Z. Purser, K. Sundaramoorthy and E. Rotenberg, "A Study of Slipstream Processors", Proc. 33rd Ann. Int'l Symp. Microarchitecture, Monterey, CA, Dec. 2000.

Instruction processing
PVT. PVT  may refer to:

Medicine
 Paraventricular nucleus of thalamus, a portion of the thalamus
 Portal vein thrombosis, a liver disease involving blood clots
 Psychomotor vigilance task, a sustained-attention, reaction-timed task that measures the speed with which subjects respond to a visual stimulus
 Pulseless ventricular tachycardia, a type of ventricular tachycardia

Science and engineering
 PV/T or PV-T: photovoltaic thermal: photovoltaic thermal hybrid solar collector
 Physical vapor transport, another term for physical vapor deposition
 Polyvinyl toluene, an organic polymer
 Process, voltage, and temperature: process corners in electrical engineering
 Pressure, volume, and temperature: in an equation of state in physics and engineering
 Position, velocity, and time: in navigation systems
 Especially in satellite navigation
 Production validation test, a type of engineering validation test

Military
 Private (rank), a grade of military rank
 Rogožarski PVT, a Yugoslavian advanced trainer aircraft of World

Other uses
 Parallel vote tabulation: quick count as an estimation of election returns
 Private: privacy
 Private limited company (Pvt Ltd), in Commonwealth countries such as Australia and India
 PVT (band), an experimental musical band
 Programme vacances travail ()
 Panja Vaishnav Tej, Indian actor
Component-integrated ACE ORB. The Component-Integrated ACE ORB (CIAO) is a CORBA component model (CCM) implementation built on top of  TAO.

CIAO is currently aiming to provide component-oriented paradigm to the distributed, real-time, embedded (DRE) system developers by abstracting DRE-critical systemic aspects, such as quality of service requirements, RT policies, as installable/configurable units supported by the component framework. Promoting these DRE-critical aspects as first-class metadata disentangles code for controlling these non-function aspects from application logic and makes DRE system development more flexible. Since mechanisms to support various DRE-critical non-functional aspects can be easily verified, CIAO will also make configuring and managing these aspects easier.

CIAO also provides an implementation of the AMI4CCM standard which provides the ability to perform asynchronous operations using a callback model. AMI4CCM is a separate OMG standard.

CIAO also provides an implementation of the DDS4CCM standard which integrates DDS as publish-subscribe middleware into the component model. The CIAO DDS4CCM implementation supports RTI Connext DDS and OpenDDS as underlying DDS implementations.

AXCIOMA is the open source successor for CIAO. By making benefit of the IDL to C++11 language mapping AXCIOMA is much easier to use as compared to CIAO. AXCIOMA implements also AMI4CCM and DDS4CCM.

See also
TAO

External links
CIAO Homepage
Download CIAO
Presentation from Northrop Grumman how they are using CIAO
AXCIOMA

Application programming interfaces
TAO (software). The ACE ORB (TAO) is a freely available, open-source, and standards-compliant real-time C++ implementation of CORBA based upon the Adaptive Communication Environment (ACE).

Availability

TAO can be downloaded from the Internet and freely used and redistributed without developer or run-time licensing costs. Commercial support, documentation, training, and consulting for TAO are available from multiple vendors. Many other third-party tools and services have also been integrated with TAO. Remedy IT created an extension for TAO called TAOX11 which adds support for the IDL to C++11 Language Mapping to TAO. TAOX11 is available as open source product.

TAO has been ported to many operating systems, such as Microsoft Windows, Embedded systems such as VxWorks and LynxOS, high end systems like OpenVMS, and Unix systems such as Solaris and Linux.

See also
Adaptive Communication Environment (ACE)
Component-Integrated ACE ORB (CIAO)
WikiBooks:ACE+TAO Opensource Programming Notes

References

External links
TAO Homepage

Application programming interfaces
Common Object Request Broker Architecture
Ataxite. Ataxites (from Greek meaning "without structure") are a structural class of iron meteorites with a high nickel content and show no Widmanstätten patterns upon etching.

Characteristics
Ataxites are composed mainly of meteoric iron, a native metal found in meteorites that consists of the mineral taenite with minor amounts of plessite, troilite, and microscopic lamellae of kamacite. Ataxites are the most nickel-rich meteorites known; they usually contain over 18% nickel. The high nickel content is the reason that they do not develop a Widmanstätten structure, because in this case kamacite can be exsolved from taenite only at such a low temperature (below about 600°C) where diffusion is already too slow.

Classification
Most ataxites belong to the IVB group or are classified as "Iron, ungrouped" because they do not fit in any of the groups currently recognized by meteorite classification. Some ataxites belong to the IAB group and fall into the sHL (high-Au, low-Ni subgroup), sLH (low-Au, high-Ni subgroup), sHH (high-Au, high-Ni subgroup) and "ung" subgroup (does not fit any subgroup of IAB). Only a couple of ataxites have been classified into the IAB complex and the IIF, IVA, IIAB, IIIAB groups.

Abundance
They are a rare class, with none of the about 50 observed iron meteorite falls being an ataxite, however, the largest meteorite ever, the Hoba meteorite (found 1920 in Namibia, weight 60 tons), belongs to this class. A Tibetan Buddhist statue, the Iron Man, was likely carved from an ataxite meteorite. It might even be made from a fragment of the Chinga meteorite. Other examples of ataxites are the Dronino meteorite and pieces of the Gebel Kamil.

See also
 Glossary of meteoritics

References
Test and test-and-set. In computer architecture, the test-and-set CPU instruction (or instruction sequence) is designed to implement 
mutual exclusion in multiprocessor environments. Although a correct lock can be implemented with test-and-set, the test and test-and-set optimization lowers resource contention caused by bus locking, especially  cache coherency protocol overhead on contended locks.

Given a lock:
 boolean locked := false // shared lock variable

the entry protocol is:
 procedure EnterCritical() {
   do {
     while ( locked == true )
          skip // spin using normal instructions until the lock is free
   } while ( TestAndSet(locked) == true ) // attempt actual atomic locking using the test-and-set instruction
 }

and the exit protocol is:
 procedure ExitCritical() {
   locked := false
 }

The difference to the simple test-and-set protocol is the additional spin-loop (the test in test and test-and-set) at the start of the entry protocol, which utilizes ordinary load instructions. The load in this loop executes with less overhead compared to an atomic operation (resp. a  load-exclusive instruction).  E.g., on a system utilizing the MESI cache coherency protocol, the cache line being loaded is moved to the Shared state, whereas a test-and-set instruction or a load-exclusive instruction moves it into the Exclusive state.

This is particularly advantageous if multiple processors are contending for the same lock: whereas an atomic instruction or load-exclusive instruction requires a coherency-protocol transaction to give that processor exclusive access to the cache line (causing that line to ping-pong between the involved processors), ordinary loads on a line in Shared state require no protocol transactions at all: processors spinning in the inner loop operate purely locally.

Cache-coherency protocol transactions are used only in the outer loop, after the initial check has ascertained that they have a reasonable likelihood of success.

If the programming language used supports short-circuit evaluation, the entry protocol could be implemented as:

  procedure EnterCritical() {
    while ( locked == true or TestAndSet(locked) == true )
      skip // spin until locked
  }

Caveat
Although this optimization is useful in system programming, test-and-set is to be avoided in high-level concurrent programming: spinning in applications deprives the operating system scheduler
the knowledge of who is blocking on what. Consequently, the scheduler will have to guess on how to allocate CPU time among the threads -- typically just allowing the threads to use up their timing quota. Threads will end up spinning unproductively, waiting for threads that are not scheduled.

By using operating-system provided lock objects, such as mutexes, the OS can schedule exactly the unblocked threads.

See also
Parallel processor
Parallel programming
Mutual exclusion
Test-and-set
Fetch-and-add

References

 Gregory R. Andrews, Foundations of Multithreaded, Parallel, and Distributed Programming, pp. 100–101. Addison-Wesley, 2000. .

Concurrency control
Computer arithmetic
Hexahedrite. Hexahedrites are a structural class of iron meteorite. They are composed almost exclusively of the nickel–iron alloy kamacite and are lower in nickel content than the octahedrites. The nickel concentration in hexahedrites is always below 5.8% and only rarely below 5.3%. 

The name comes from the cubic (i.e. hexahedron) structure of the kamacite crystal.
After etching, hexahedrites do not display a Widmanstätten pattern, but they often do show Neumann lines: parallel lines that cross each other at various angles, and are indicative of impact shock on the parent body. These lines are named after politician  who discovered them in 1848.

Chemical classification
Concentrations of trace elements (germanium, gallium and iridium) are used to separate the iron meteorites into chemical classes, which correspond to separate asteroid parent bodies. Chemical classes that include hexahedrites are:
 IIAB meteorites (includes also some octahedrites)
 IIG meteorites

See also
 Glossary of meteoritics

References
Dmitry Grigorovich (engineer). Dmitry Pavlovich Grigorovich (, ) (born in Kiev, Russian Empire, now Ukraine, 25 January (6 February) 1883, died 26 July 1938 in Moscow) was a Ukrainian, Russian, and Soviet aircraft designer of a number of planes under the Grigorovich name. He died in 1938 from cancer.

Aircraft

References

This article about a Ukrainian, Russian and Soviet aircraft designer is a stub. You can help Wikipedia by expanding it.

1883 births
1938 deaths
Engineers from Kyiv
Igor Sikorsky Kyiv Polytechnic Institute
Aircraft designers
Soviet aerospace engineers
20th-century Ukrainian inventors
Russian aerospace engineers
Academic staff of Moscow Aviation Institute
Burials at Novodevichy Cemetery
20th-century Ukrainian engineers
SMON. SMON may stand for:

Subacute myelo-optic neuropathy, an epidemic in Japan caused by clioquinol
SMON, a set of MIB extensions for RMON that allow the monitoring of switching equipment from a single management workstation in far greater detail than offered by RMON
SMON (Oracle System MONitor), an Oracle background process created when one starts a database instance
SMon (abbrev. for "system monitor"), a ROM/FLASH-based monitor used on many singleboard computers, such as the Synergy Microsystems' PowerPC-based VGM series.
Ammonium bromide. Ammonium bromide, NH4Br, is the ammonium salt of hydrobromic acid. The chemical crystallizes in colorless prisms, possessing a saline taste; it sublimes on heating and is easily soluble in water. On exposure to air it gradually assumes a yellow color because of the oxidation of bromide (Br−) to bromine (Br2).

Preparation 
Ammonium bromide can be prepared by the direct action of hydrogen bromide on ammonia. 
 NH3 + HBr → NH4Br

It can also be prepared by the reaction of ammonia with iron(II) bromide or iron(III) bromide, which may be obtained by passing aqueous bromine solution over iron filings.
 2 NH3 + FeBr2 + 2 H2O → 2 NH4Br + Fe(OH)2

Reactions 
Ammonium bromide is a weak acid with a pKa of approximately 9 in water. It is an acid salt because the ammonium ion hydrolyzes slightly in water.

Ammonium bromide is a strong electrolyte when put in water:
NH4Br(s) → (aq) + Br−(aq)

Ammonium bromide decomposes to ammonia and hydrogen bromide when heated at elevated temperatures:
 NH4Br → NH3 + HBr

Uses
Ammonium bromide is used for photography in films, plates and papers; in fireproofing of wood; in lithography and process engraving; in corrosion inhibitors; and in pharmaceutical preparations.

References 

Ammonium compounds
Bromides
Nonmetal halides
Ammonium chlorate. Ammonium chlorate is an inorganic compound with the formula NH4ClO3.

It is obtained by neutralizing chloric acid with either ammonia or ammonium carbonate, or by precipitating barium, strontium or calcium chlorates with ammonium carbonate or ammonium sulfate, producing the respective carbonate or sulfate precipitate and an ammonium chlorate solution.   Ammonium chlorate crystallizes in small needles, readily soluble in water.

The bitartrate method is a candidate for production and can be used if exotic chlorates are currently inaccessible or need to be synthesized.  Warm solutions of potassium chlorate and ammonium bitartrate are needed. The latter can be synthesized by adding aqueous ammonia to an excess of tartaric acid. Then, a double displacement reaction will result in precipitation of ammonium chlorate.

On heating, ammonium chlorate decomposes at about 102 °C, with liberation of nitrogen, chlorine and oxygen.  It is soluble in dilute aqueous alcohol, but insoluble in strong alcohol. This compound is a powerful oxidizer and should never be stored with flammable materials, as it can easily form sensitive explosive compositions.

Ammonium chlorate is a very unstable oxidizer and will decompose independently, sometimes violently, at room temperature. This results from the mixture of the reducing ammonium cation and the oxidizing chlorate anion. Even solutions are known to be unstable.  Because of the dangerous nature of this salt it should only be kept in solution when needed, and never be allowed to crystallize.

Preparation
Ammonium chlorate can be made by mixing stoichiometric solutions of ammonium nitrate and sodium chlorate or ammonium sulfate and barium chlorate.

References

Ammonium compounds
Chlorates
Explosive chemicals
Oxidizing agents
Ammonium nitrite. Ammonium nitrite is a chemical compound with the chemical formula . It is the ammonium salt of nitrous acid. It is composed of ammonium cations  and nitrite anions . It is not used in pure isolated form since it is highly unstable and decomposes into water and nitrogen, even at room temperature.

Preparation
Ammonium nitrite forms naturally in the air and can be prepared by the absorption of equal parts nitrogen dioxide and nitric oxide in aqueous ammonia.

It can also be synthesized by oxidizing ammonia with ozone or hydrogen peroxide, or in a precipitation reaction of barium or lead nitrite with ammonium sulfate, or silver nitrite with ammonium chloride, or ammonium perchlorate with potassium nitrite. The precipitate is filtered off and the solution concentrated. It forms colorless crystals which are soluble in water.

Physical and chemical properties

Ammonium nitrite may explode at a temperature of 60–70 °C, and will decompose quicker when dissolved in a concentrated aqueous solution, than in the form of a dry crystal. Even in room temperature the compound slowly decomposes into water and nitrogen:

It decomposes when heated or in the presence of acid into water and nitrogen. Ammonium nitrite solution is stable at higher pH and lower temperature. If there is any decrease in pH lower than 7.0, it may lead to an explosion, since the nitrite can react to it. A safe pH can be maintained by adding an ammonia solution. The mole ratio of ammonium nitrite to ammonia must be above 10%.

References

Nitrites
Ammonium compounds
Oxidizing agents
Ammonium persulfate. Ammonium persulfate (APS) is the inorganic compound with the formula (NH4)2S2O8. It is a colourless (white) salt that is highly soluble in water, much more so than the related potassium salt. It is a strong oxidizing agent that is used as a catalyst in polymer chemistry, as an etchant, and as a cleaning and bleaching agent.

Preparation and structure
Ammonium persulfate is prepared by electrolysis of a cold concentrated solution of either ammonium sulfate or ammonium bisulfate in sulfuric acid at a high current density. The method was first described by Hugh Marshall.

The ammonium, sodium, and potassium salts adopt very similar structures in the solid state, according to X-ray crystallography.  In the ammonium salt, the O-O distance is 1.497Å.  The sulfate groups are tetrahedral, with three short S-O distances near 1.44Å and one long S-O bond at 1.64Å.

Uses
As a source of radicals, APS is mainly used as a radical initiator in the polymerization of certain alkenes. Commercially important polymers prepared using persulfates include styrene-butadiene rubber and polytetrafluoroethylene.  In solution, the dianion dissociates into radicals:
[O3SO–OSO3]2−   2 [SO4]•−
Regarding its mechanism of action, the sulfate radical adds to the alkene to give a sulfate ester radical.  It is also used along with tetramethylethylenediamine to catalyze the polymerization of acrylamide in making a polyacrylamide gel, hence being important for SDS-PAGE and western blot.

Illustrative of its powerful oxidizing properties, ammonium persulfate is used to etch copper on printed circuit boards as an alternative to ferric chloride solution.  This property was discovered many years ago. In 1908, John William Turrentine used a dilute ammonium persulfate solution to etch copper.  Turrentine weighed copper spirals before placing the copper spirals into the ammonium persulfate solution for an hour.  After an hour, the spirals were weighed again and the amount of copper dissolved by ammonium persulfate was recorded.  This experiment was extended to other metals such as nickel, cadmium, and iron, all of which yielded similar results.
The oxidation equation is thus:  (aq) + 2  → 2  (aq).

Ammonium persulfate is a standard ingredient in hair bleach.

Persulfates are used as oxidants in organic chemistry. For example, in the Minisci reaction and Elbs persulfate oxidation

Safety
Airborne dust containing ammonium persulfate may be irritating to eye, nose, throat, lung and skin upon contact. Exposure to high levels of dust may cause difficulty in breathing.

It has been noted that persulfate salts are a major cause of asthmatic effects.  Furthermore, it has been suggested that exposure to ammonium persulfate can cause asthmatic effects in hair dressers and receptionists working in the hairdressing industry.  These asthmatic effects are proposed to be caused by the oxidation of cysteine residues, as well as methionine residues.

References

External links
International Chemical Safety Card 0632

Persulfates
Peroxides
Ammonium compounds
Oxidizing agents