omniomni/omni-engineering huggingface dataset:
Surface warfare. Surface warfare is naval warfare involving surface ships. It is one of the four operational areas of naval warfare, the others being underwater warfare, aerial warfare, and information warfare. Surface warfare is the oldest and most basic form of naval warfare, though modern surface warfare doctrine originated in the mid-20th century.

Description
Modern surface warfare dates from the mid-20th century, when surface, air, and submarine warfare components were blended together as a tactical unit to achieve strategic objectives. In United States Navy doctrine, the two most important strategic objectives are interdiction and sea control.

 Interdiction is the process of intercepting an enemy transiting through a location. For example, German naval objectives against Britain during World War II's Battle of the Atlantic were primarily focused on preventing ships from arriving intact with their cargoes.
 Sea control is the dominance of force over a given area that prevents other naval forces from operating successfully. For example, the mission of the Allied navies in the Atlantic during World War II was to maintain sea control and prevent Axis naval forces from operating. The Anti-access/area denial is an opposition to enemy's sea control without itself being an attempt to gain sea control.

Surface warfare (SuW) is conducted by a surface ship to eliminate a threat, which may include Anti-surface warfare (ASuW), anti-air warfare (AAW), anti-submarine warfare (ASW), naval gunfire support (NGFS), riverine operations, mine warfare, and electronic warfare.

In the second half of the 20th century, the importance of naval surface power was reduced as air and submarine warfare platforms demonstrated their capabilities, as in the Battle of Taranto, the Battle of Pearl Harbor, and the sinking of Prince of Wales and Repulse.

Following World War II, guided anti-ship missiles required new tactics and doctrines. Small, fast, relatively cheap missile boats became a threat for large ships, much more serious than previous torpedo boats, as in the War of Attrition, when Egyptian missile boats struck and sank the Israeli destroyer Eilat on 20 October 1967.

Ships
Surface combatant ships include battleships, aircraft carriers, cruisers, destroyers, frigates, and others. Surface combatants also include mine warfare ships, amphibious command ships, coastal defense ships, amphibious assault ships, and many others. An important facet of naval warfare are however the support ships (that is, non-combat ships): freighters, oilers, hospital ships, tugs, troop transports, and other auxiliary ships. In the U.S. Navy model, now widespread in the world, various types of ships would be primarily organized into the carrier battle group.

See also
Naval warfare
Naval tactics

Naval warfare
ABL. ABL may refer to:

Aviation
 Airborne Laser, a weapons system designed for use by the United States military
 Air Busan of South Korea (ICAO airline code)
 IATA airport code for Ambler Airport in State of Alaska, USA

Companies, groups, organizations
 ABL Space Systems
 Alameda Belt Line railroad
 NSW Business Chamber, formerly Australian Business Limited, a business organisation
 Academia Brasileira de Letras (Brazilian Academy of Letters)

Computing
 A Block diagram Language, a hardware description language
 Advanced Business Language, the new name for Progress 4GL
 OpenEdge Advanced Business Language, a business application development language created and maintained by Progress Software Corporation

Medicine
 ABL (gene), a proto-oncogene associated with chronic myelogenous leukemia
 Abetalipoproteinemia, a rare genetic disorder
 Accidental bowel leakage, also known as fecal incontinence

Entertainment
 A Beautiful Lie, 30 Seconds to Mars's second studio album
 A Bug's Life, a 1998 film
 A Bug's Life (video game), the video game based on the film

Military and weaponry
 Allegany Ballistics Laboratory
 Armored Box Launcher, a launch container for the BGM-109 Tomahawk cruise missile

Sports
 African Basketball League
 Alaska Baseball League
 American Basketball League, a name that has been used by three defunct basketball leagues in the United States:
American Basketball League (1925–1955), an early professional basketball league
American Basketball League (1961–1962), a league that only played a single full season
American Basketball League (1996–1998), a women's basketball league
American Basketball League (2013–2015), a semi-professional men's basketball league
 ASEAN Basketball League, a professional basketball league for ASEAN nations
 Australian Baseball League:
 Australian Baseball League (1989–1999) (defunct)
 Australian Baseball League
 AL-Bank Ligaen, a former name for Denmark's top men's ice hockey league

Other uses
Activity-based learning, a range of pedagogical approaches to teaching based on doing some hands-on experiment and activities
 , glossing abbreviation for ablative case
 Asset-based lending
 Atmospheric boundary layer, the region where the atmosphere interacts with the surface of the earth
 Australian bat lyssavirus, a rabies-like virus found in Australian bats
 Lampung Nyo language, an Austronesian language of Indonesia, by ISO 639-3 language code

See also

 
 
 AB1 (disambiguation)
 ABI (disambiguation)
 able (disambiguation)
Absolute (perfumery). Used in perfumery and aromatherapy, absolutes are similar to essential oils. They are concentrated, highly aromatic, oily mixtures extracted from plants. Whereas essential oils are produced by distillation, boiling, or pressing, absolutes are produced through solvent extraction, or more traditionally, through enfleurage.

Production 
First, plant material is extracted with a hydrocarbon solvent, such as hexane, to yield concrete. The concrete is then extracted with ethanol. The ethanol extract is cooled (e.g., to −15 °C) to solidify waxes, and cold filtered to yield a liquid extract. When the ethanol evaporates, an oil—the absolute—is left behind.

Traditionally, the absolute was obtained by enfleurage, where the resulting pomade was extracted with ethanol to yield the absolute.

Character and use
Some raw materials are either too delicate or too inert to be steam-distilled and can only yield their aroma through solvent extraction. Examples of these are jasmine and beeswax. Absolutes in demand include rose, jasmine, tuberose, jonquil, ylang-ylang, mimosa, boronia, lavender, lavandin, geranium, clary sage, violet, oakmoss, tonka bean.

Rose oil, jasmine absolute, tuberose absolute, tobacco absolute, orris root oil, ambrette seeds oil, angelica root oil, and orange flower oil are valuable and expensive fragrance and flavor ingredients.

Residual solvents may remain in the absolutes. Therefore, some absolutes are considered undesirable for aromatherapy.

See also 
 Balsam
 Concrete
 Enfleurage
 Extract
 Oleogumresin
 Oleoresin
 Pommade
 Resinoid
 Tincture

References 

Aromatherapy
Perfumery
Value-level programming. Value-level programming refers to one of the two contrasting programming paradigms identified by John Backus in his work on programs as mathematical objects, the other being function-level programming. Backus originally used the term object-level programming but that term is now prone to confusion with object-oriented programming.

Value-level programs are those that describe how to combine various values (i.e., numbers, symbols, strings, etc.) to form other values until the final result values are obtained. New values are constructed from existing ones by the application of various value-to-value functions, such as addition, concatenation, matrix inversion, and so on.

Conventional, von Neumann programs are value-level: expressions on the right side of assignment statements are exclusively concerned with building a value that is then to be stored.

Connection with Data Types
The value-level approach to programming invites the study of the space of values under the value-forming operations, and of the algebraic properties of those operations. This is what is called the study of data types, and it has advanced from focusing on the values themselves and their structure, to a primary concern with the value-forming operations and their structure, as given by certain axioms and algebraic laws, that is, to the algebraic study of data types.

Connection with Lambda Calculus languages
Lambda calculus-based languages (such as Lisp, ISWIM, and Scheme) are in actual practice value-level languages, although they are not thus restricted by design.

To see why typical lambda style programs are primarily value-level, consider the usual definition of a value-to-value function, say 
 f = λx.E
here, x must be a value variable (since the argument of f is a value by definition) and E must denote a value too (since f's result is a value by definition). Typically, E is an expression involving the application of value-forming functions to value variables and constants; nevertheless, a few value-forming functions having both function and value arguments do exist and are used for limited purposes.

If the term values is defined to include the value variables themselves, then the value-level view of programming is one of building values by the application of existing programs (value-forming operations/functions) to other values. Lambda-style programming builds a new program from the result-value by lambda-abstracting the value variables.

See also
 Function-level programming (contrast)
 Programming paradigms

External links
 Function Level Programs As Mathematical Objects from John Backus

Programming paradigms
Programming domain. The term programming domain is mostly used when referring to domain-specific programming languages. It refers to a set of programming languages or programming environments that were written specifically for a particular domain, where domain means a broad subject for end users such as accounting or  finance, or a category of program usage such as artificial intelligence or email. Languages and systems within a single programming domain would have functions common to the domain and may omit functions that are irrelevant to a domain.

Some examples of programming domains are:

Expert systems, computer systems that emulate the decision-making ability of a human expert and are designed to solve complex problems by reasoning through bodies of knowledge.
Natural-language processing, handling interactions between computers and human (natural) languages such as speech recognition, natural-language understanding, and natural-language generation. 
Computer vision, dealing with how computers can understand and automate tasks that the human visual system can do and extracting data from the real world.

Other programming domains would include:
Application scripting
Array programming
Artificial-intelligence reasoning
Cloud computing
Computational statistics
Contact Management Software
E-commerce
Financial time-series analysis
General-purpose applications
Image processing
Internet
Numerical mathematics
Programming education
Relational database querying
Software prototyping
Symbolic mathematics
Systems design and implementation
Text processing
Theorem proving
Video game programming and development
Video processing

See also
Domain (software engineering)
Domain-specific language

References

Akour, Mohammed & Falah, Bouchaib. (2016). Application domain and programming language readability yardsticks. 1-6. 10.1109/CSIT.2016.7549476.

Domain
Fill trestle. A fill trestle or filling trestle is a temporary construction trestle that is built to provide a scaffolding for the placement of fill or an earthen dam. Typically, the trestle is built across the valley and a railway is laid across the trestle. Specially designed side-dumping railroad cars filled with earth or gravel are pushed onto it and dumped, burying the trestle. Typically, a fill trestle is constructed out of wood which remains buried in the fill and eventually decomposes. Advances in construction technology, particularly the development of the dump truck, have rendered the fill trestle technique obsolete.

References

External links
 "Toils on Weak Soils: A Photo-essay on the Construction of the Stockwood Fill (1906 - 1909), Part I" on the Northern Pacific Railway

Building engineering
Railway bridges
Fill. Fill may refer to: 

 Fill dirt, soil added to an area
 Fill (archaeology), material accumulated in a feature such as a ditch or pit
 Material used in cut and fill to elevate a surface 
 Fill character, added in data transmission to consume time
 Fill device, an electronic module used in cryptography
 Fill (music), a short segment of instrumental music
 Filling yarn, or weft, a component of fabric weaving
 Fill flash, a photography technique
 Fill light, used to reduce the contrast of a photographed, recorded, or staged scene
 Flood fill, or fill pattern, an algorithm to add color or texture in computer graphics
 Fill power, a measure of the "fluffiness" of a down product

People with the surname 
 Martino Fill (born 1939), Italian alpine skier
 Peter Fill (born 1982), Italian alpine ski racer
 Shannon Fill (born 1971), American TV actress

See also 
 Embankment (transportation)
 Filler (disambiguation)
 Filling (disambiguation)
 Fill-in (disambiguation)
 Fil
Arm solution. In the engineering field of robotics, an arm solution is a set of calculations that allow the real-time computation of the control commands needed to place the end of a robotic arm at a desired position and orientation in space.

A typical industrial robot is built with fixed length segments that are connected either at joints whose angles can be controlled, or along linear slides whose length can be controlled. If each angle and slide distance is known, the position and orientation of the end of the robot arm relative to its base can be computed efficiently with simple trigonometry. 

Going the other way — calculating the angles and slides needed to achieve a desired position and orientation — is much harder. The mathematical procedure for doing this is called an arm solution. For some robot designs, such as the Stanford arm, Vicarm SCARA robot or cartesian coordinate robots, this can be done in closed form. Other robot designs require an iterative solution, which requires more computer resources.

See also
321 kinematic structure
 Inverse kinematics
 Motion planning

External links
 infolab.stanford.edu - The Stanford Arm (1969), with a configuration such that the mathematical computations (arm solutions) were simplified to speed up computations
 D. L. Pieper, The kinematics of manipulators under computer control. PhD thesis, Stanford University, Department of Mechanical Engineering, 1968.

Robot kinematics
Trigonometry
DML. DML may refer to:
 Demonstrated Master Logistician, a certification bestowed by the International Society of Logistics (SOLE)
 Data manipulation language, a family of computer languages used by computer programs or database users to retrieve, insert, delete and update data in a database
 Dimensional Markup language, is an XML format definition tailored to the needs of dimensional results for discrete manufacturing
 Devonport Management Limited, owner of Her Majesty's Naval Base Devonport
 Dragon Models Limited, a Hong Kong-based company that manufactures plastic model assembly kits
 Dennis Miller Live, an HBO television talk-comedy show with Dennis Miller
 Distributed mode loudspeaker, a speaker technology developed by Cambridge-based company called NXT
 Definitive Media Library, in ITIL Service Transition
 Doctor of Modern Languages, an academic degree focusing on multiple modern languages and cultures
 Domani Motus Liberi
Bailer (hydrogeology). A bailer in hydrogeology is a hollow tube used to retrieve groundwater samples from monitoring wells. The wells are typically built out of PVC casing which is slotted to allow groundwater to flow freely through the well. Bailers are tied to a piece of rope (usually made from nylon or polypropylene) or a piece of wire (composed of Teflon or stainless steel) and lowered into the water column. Once lowered, the bailer uses a simple ball check valve to seal at the bottom in order to pull up a sample of the groundwater table. Bailers can be disposable or reusable, and they are made out of polyethylene, PVC, FEP or stainless steel.

There are advantages and disadvantages to using bailers for groundwater sampling. Bailers are simple devices to use and are relatively inexpensive. Disposable bailers are usually cleaned to United States Environmental Protection Agency specifications and individually packaged to protect sample integrity. In addition, bailers can be lowered to any depth while pumps have sharp limitations on the depth of the well. The main drawback of using bailers is aeration of the water as the sample is obtained, which could release volatile organic compounds that need to be tested. Also, if there is a high amount of sediment or turbidity, this may interfere with the ball check valve seating correctly.

A basic disposable bailer can also be used as the slug in a Slug test to remove water from the well. This is sometimes referred to more specifically as the bail-down test. A disposable bailer is light and easy to carry in field conditions in comparison to a heavy solid slug. On the other hand, bailers cannot be used to do falling head tests (i.e. where the slug is quickly dropped below the water table). Bailers' check valve not seating properly and water potentially splashing off from the top of the bailer are other issues which might compromise test results.

References

See also 
 Hand bailer

Hydrogeology
Scientific instruments
Unified messaging. Unified messaging (or UM) is a business term for the integration of different electronic messaging and communications media (e-mail, SMS, fax, voicemail, video messaging, etc.) technologies into a single interface, accessible from a variety of different devices. 
While traditional communications systems delivered messages into several different types of stores such as voicemail systems, e-mail servers, and stand-alone fax machines, with Unified Messaging all types of messages are stored in one system. Voicemail messages, for example, can be delivered directly into the user's inbox and played either through a headset or the computer's speaker. This simplifies the user's experience (only one place to check for messages) and can offer new options for workflow such as appending notes or documents to forwarded voicemails.

Unified messaging is increasingly accepted in the corporate environment, where it's generally seen as an improvement to business productivity. Unified messaging for professional settings integrates communications processes into the existing IT infrastructure, i. e. into CRM, ERP and mail systems.

Hype 
Definitions of unified messaging vary from the typical definition of simple inclusion of incoming faxes and voice-mail in one's email inbox, all the way to dictating a message into a cell phone and the intelligent delivery of that message to the intended recipient in a variety of possible formats like text email, fax, or voice recording. Because of the nebulous definition of UM, it was number one on the 1998 Wired Magazine "Hype List".

Difference from unified communications 
Unified messaging is not to be mistaken for unified communications (UC), although the two share some similarities. UM is a component of UC which involves the integration of various communication channels, such as email, voicemail, and fax, into a single platform. This streamlines the management of messages, providing users with a centralized interface for handling diverse communication types.

In contrast, UC encompasses a broader spectrum of services, extending beyond messaging to include real-time communication tools, collaboration platforms, and other integrated applications. However, it's essential to note that not all unified communication services incorporate unified messaging. The distinction arises from the specific needs and preferences of hosted SMB customers. So while unified messaging can be included in unified communications, not all unified communication services are related to unified messaging.

See also
 Real time enterprise
 Presence service
 Unified communications

References 

Messaging
Fudgets. In computing, Fudgets is a graphical user interface toolkit for the functional programming language Haskell and the X Window System. Fudgets makes it easy to create client–server model applications that communicate via the Internet.

Most of the work on Fudgets was done in 1991-1996 by Thomas Hallgren and Magnus Carlsson.

The authors claim that many of the advantages of Fudgets come from it being programmed in a lazy functional programming language.

The main entity of toolkit is fudget (implemented on low level through stream processors) which has its own input and output. Fudgets can be composed in parallel or sequence, yielding new fudget which can be used in code as any other fudget.

Example 
factorialF  = stdoutF >==< mapF (show . factorial . read) >==< stdinF
factorial   :: Integer -> Integer
factorial n = product [1..n]

The code is self-describing considering that >==< is sequential fudget plumbing and mapF is fudget that takes a function of one argument and makes a fudget which output is input applied to that function. Fudget composition must be read from right to left, as a simple function composition. Now you can simply write:
main = fudlogue factorialF

compile and run. For every given integer value it will print its factorial.

License 
The software license of Fudgets claims that this software is freeware for non-commercial use only.

References

External links 
, latest release marked January 13, 2016
 Fudgets Phd thesis by Hallgren and Carlsson

Widget toolkits
X-based libraries
Haskell software

Articles with example Haskell code