Kerbal Space Program
Kerbal Space Program
Not enough ratings
KSP: How to Plane
By Kerbal1
The basics of how to get your Kerbals up in the air using the invention known as the plane!!!

Rate
Favorite
Favorited
Unfavorite
What you'll need.
First things first, the control center. Now you could choose to make a drone using the RC module available in the game or you could put your Kerbal's life on the line. OBVIOUSLY use the Kerbals. Their faces are HILARIOUS(especially Jebediah). Back to the topic, you will want to choose a cockpit, which should probably, if you're a beginner, be the same type(size(Mk1, Mk2, etc.)) as what you will be using for fuel tanks(I find the easiest to be MK1). Once that is complete, you will need to attach fuel and maybe some empty fuselages. Keep in mind, that different types of engines have different requirements, so you MUST MAKE SURE YOU ARE USING THE RIGHT FUEL. Some engines might also need things such as air intakes. Also, don't forget the actual engine. It seems silly ,but it happens.
Here, it gets complicated(ish). As you may know, aerodynamics is a complex physics, and the game hasn't fallen short on some of the key principles. So, the VERY basics are in the following list.
1. You need wings and most likely you will want rudders or flaps to control the plane
2. For a relatively simple plane, it is best to have the center of lift a bit behind the center of mass. I find that the best relative positioning of the center of mass and center of lift is to have the center of the ball icon for the center of lift to be at the same location as the back point of the ball icon for the center of mass. Remember that the center of mass is the point representing the mean (yay back to 3rd grade math class. Thankfully the game calculates it for you) of all the matter, so changing the fuel level will affect the center of mass. And, since the wings and rudders/flaps/ailerons provide lift, shifting their position will change the center of lift.
3. You must have an engine obviously to provide thrust. Again depending on the type of engine, you will need different things like air intakes.
4. Unfortunately there is no absolute invincibility mode in KSP so you will have to put landing gear. Probably the easiest to place and most commonly used is the retractable landing gear which comes in different sizes. I would definitely use those.
Specifics
I talked a lot about engines and what they need because it is very important so your plane can actually have thrust. An extremely common type of engine in modern planes is the jet engine. KSP has many jet engines. The requirements for these are to have a source of liquid fuel and an air intake.
PLEASE NOTE: I have encountered a problem with the game where if you have two jet engines and two air intakes, only one engine may receive the air required. Thus, one of the engines will sputter and die out. I do not know EXACTLY how to fix this problem.
The most simple design would be to have the following in order from front to back:
1. Air intake
2. Cockpit
3. Fuel tank
4. Engine
>Note the wings, flaps, ailerons, rudders, and landing gear would be placed throughout the body of the plane and would have no definite position. It depends on how the plane is structured.
Building Controls
On the left with your parts you have buttons!(The list doesn't contain every button action)
These buttons do the following:
1. Mirror what you build on one side to the other
2. Show center of mass, lift ,and thrust
Another helpful tool is the movement of pieces. Once you place your piece you can make precise movements and rotations using the different ways of moving pieces which you toggle using the buttons on the top of the screen, located right of the parts menu. You can rotate, precisely move, and do more to pieces.
Flying Controls(The Defaults)
The controls are editable.
S = Pull nose up (pitch)
W = Push nose down (pitch)
A = Turn left (yaw)
D = Turn right (yaw)
Q = Rotate left (roll)
E = Rotate right (roll)
SPACE = Activate stages in order ( Unless you modified the stages, they should be in stage one, also unless you have more functional parts than I described).
CTRL = Throttle down
SHIFT = Throttle up
NOTE: I have not tested whether or not the default works for RSHIFT or RCTRL
G = Landing gear(retract and extend)
Z = Throttle at maximum
X = Throttle at minimum
F12 = Aerodynamic overlay
b(hold) = brakes
>And also please note that when flying, use SAS, at the top right of the navigation ball which will
auto-stabalize the plane.
< >
22 Comments
kickdowndoors Jun 8 @ 9:08am
okay great, thanks mate. and that sounds good! thank you!
Kerbal1 [author] Jun 8 @ 8:39am
i do not believ the air intakes have to be placed specifically, i think they auto connect to the engine. i don't play science mode too much because i like creating wacky creations, but you can drain some fuel to adjust center of mass
kickdowndoors Jun 8 @ 12:11am
one problem i encountered (before reading this guide) was at a low-level in science mode. i dont have any empty fuselages, so placing an air intake was really hard. how would you suggest i do this? also, does the air intake have to be placed in front of the fuel used for a specific engine? thanks!
Kerbal1 [author] Nov 2, 2017 @ 3:37pm
Good point however if they are tryino to do a type of cornering maneuver they will need to be able to turn
Javacat1 Nov 2, 2017 @ 3:21am
Another thing: don't use A and D to turn. Instead roll with Q or E in the direction you want, and press S to bring the nose towards where you rolled
Nolan041 Nov 1, 2017 @ 10:27pm
Intructions unclear: Dick torn up and drowned in toaster
Quinn Nov 1, 2017 @ 4:27pm
oh thanks kerbal
Kerbal1 [author] Nov 1, 2017 @ 4:03pm
if you are pressing A and D it is possible that the way the plane was designed makesit so that the tailfin turning has an affect that makes the plane roll
Quinn Oct 30, 2017 @ 4:05pm
i tried to add a tailfin, usually the AV-R1 winglet. still rolls around. infact, even some of the stock ones do the same thing.
Kerbal1 [author] Oct 30, 2017 @ 3:40pm
Quinn you need a vertical stabalizer that is controlable


My Book, The Golden Scrolls, on the Kindle
posted in: Libraries | 1
A myth or a prophecy? As unspeakable evil lurks, can the Golden Scrolls restore a fallen civilization?
The Golden Scrolls, Kindle Edition
Storyteller? The fate of civilization depends upon the courage and faith of a boy. Is he the Chosen One?
Fuad, a young boy from the kingdom of Cor, must leave his home to travel the Known World in search of the legend his heart believes to be true. The Golden Scrolls, written thousands of years ago, could hold the answers to the mysterious darkness that has been consuming kingdoms, with Cor in its path. But is the legend true or simply another fable of the renowned
Write a comment


text:
The principles of validation are almost the same as I have given on the previous page, so I won't repeat them. The one difference is that it is not helpful to try to validate checkboxes at the moment they are checked; it is best left until submission time.
The validateCheckbox routine in the code assumes that multiple checks are required. This is because if you want the reader to select just one option, radio buttons are a much easier way of achieving the same result. The code makes it possible to enforce exactly N checks, or a maximum of N, or a minimum of N.
One curious case is when you want the reader to check a single box. This might at first glance seem pointless, but apparently the lawyers of the world have decided this is a good way of enforcing terms and conditions. This requires slightly different code, as a single checkbox is not treated as an array of one element. (Actually a probably better solution would be to use two radio buttons: "I do not accept" and "I accept" with the former set as the default. Then no script is needed.)
A small example follows.

source: HuggingFaceFW/fineweb-edu


text:
Architect George Dance the Younger
Architectural style Georgian architecture
Designation Listed building
|Address Sawclose, Bath, BA1 1ET
Similar The Egg, Ustinov Studio, Bristol Hippodrome, Rondo Theatre, Royal National Theatre
The Theatre Royal in Bath, England, was built in 1805. A Grade II* listed building, it has been described by the Theatres Trust as "One of the most important surviving examples of Georgian theatre architecture". It has a capacity for an audience of around 900.
- Fire and rebuilding
- 20th century
- 2010 refurbishment
- Architecture and features
- Ustinov Studio
- The Egg
The Theatre Royal was built to replace the Old Orchard Street Theatre, funded by a Tontine and elaborately decorated. The architect was George Dance the Younger, with John Palmer carrying out much of the work. It opened with a performance of Shakespeare's Richard III and hosted performances by many leading actors of the time including Dorothea Jordan, William Macready and Edmund Kean. A major fire in 1862 destroyed the interior of the building and was quickly followed by a rebuilding programme by Charles J. Phipps, which included the construction of the current entrance. Further redecoration was undertaken in 1892; more extensive building work, including a new staircase and the installation of electric lighting, followed in 1902. Despite performances by casts including Sarah Bernhardt, the ballerina Anna Pavlova and Mrs. Patrick Campbell, the theatre was rarely very profitable. During World War II Donald Wolfit, Irene Vanbrugh, John Gielgud and Sybil Thorndike appeared, with shows including Noël Coward's Private Lives and Blyth Spirit, a performance by Ballet Rambert and light entertainment such as Charley's Aunt, but audiences declined.
In 1979 the theatre was bought by a trust and, following public donations, it underwent refurbishment, with the rebuilding of the stage and the installation of a new taller fly tower for scenery and lighting. In 1997 a new 150 seat theatre, known as the Ustinov Studio, was opened. Further restoration work to the main auditorium was needed in 2010. In 2005 a children's theatre known as The Egg was opened. The complex also includes bars and restaurants. The Theatre Royal is host to several annual events, including the Family Theatre Festival and the Shakespeare Unplugged Festival.
The theatre was erected in 1805, replacing the Old Orchard Street Theatre which had obtained a royal patent in 1768 enabling the use of the title 'Theatre Royal', the first to achieve this outside London. The Orchard Street site became a church and is now a Freemason's Hall. The new theatre was first proposed in 1802 at several sites in Bath until the current site was chosen in 1804; funding was raised by the use of a Tontine, an investment plan named after the Neapolitan banker Lorenzo de Tonti, who is credited with inventing it in France in 1653. It combined features of a group annuity and a lottery. Each subscriber paid an agreed sum into the fund, and thereafter received an annuity. As members died, their shares devolved to the other participants, and so the value of each annuity increased. On the death of the last member, the scheme was wound up. Shares, which cost £200, were rapidly purchased, with the Prince Regent who later became George IV and his brother Prince Frederick among the subscribers. A similar scheme had previously been used for the construction of the Bath Assembly Rooms.
The exterior of the building, with arches, pilasters, garlands and ornaments, which is visible from Beauford Square, was designed by George Dance the Younger who also designed the decorative sections of the interior. The main fabric of the building was by John Palmer, who supervised the construction. The ceiling was decorated with panels from Fonthill Splendens, a mile from Fonthill Abbey, which were painted by Andrea Casali and donated to the theatre by Paul Cobb Methuen. Because of the potential damage from the gas lights, which were installed in 1827, the paintings were moved by William Blathwayt to Dyrham Park.
The opening night was on 12 October 1805 was a production of Richard III, with an unknown actor in the lead. Though not a success, the theatre soon established a good reputation and thrived under the management of William Wyatt Dimond. Early performances included appearances by the child actors Master Betty and Clara Fisher, with adult leads from prominent actors on the London stage including Dorothea Jordan, William Macready and Edmund Kean. In addition to Shakespeare and other serious drama, the productions included opera and comedy with Joseph Grimaldi playing the clown in a pantomime of Mother Goose in November 1815.
Between the 1810s and 1850s there were a series of changes in ownership and management. These coincided with a Puritan revival and a fall in Bath's popularity; reductions in receipts were compounded by rising payments for actors from London. As a result, the theatre underwent financial crises and fell into a period of decline. Fortunes began to improve when James Henry Chute, who was the manager of the Bath Assembly Rooms and the son-in-law of the owner Mrs Macready, took over as the manager of the theatre and once again audiences began to rise.
Fire and rebuilding
On 18 April 1862 a major fire destroyed the interior of the building including the stage, scenery, wardrobe and library, leaving just the exterior walls still standing. A new company was formed to rebuild the theatre and a competition held for designs. The winner was C.J. Phipps and rebuilding, which included the new entrance on Sawclose, quickly followed. The present main entrance to the Theatre Royal, in Sawclose, was built in 1720 by Thomas Greenway, and was previously at Beau Nash's house. Pevsner criticizes the mouldings of window-frames, frieze and volutes of the door-hood brackets as "characteristically overdone", and mentions Wood citing its "profuse ornament" which was typical of a mason rather than an architect. Chute remained as manager and employed Charles Kean and Ellen Terry to play in A Midsummer Night's Dream on the opening night, 3 March 1863.
Initially the reopened theatre struggled to become profitable despite appearances by Henry Irving among others. In 1885 William Lewis took over as the lessee and was followed, in 1892, by his son Egbert Lewis. They redecorated the theatre in 1892 and attracted larger regular audiences to performances of melodrama and comedy while starting to put on Gilbert and Sullivan operas and other attractions.
In 1902 the theatre closed for nine months to enable extensive building work to be carried out in accordance with the terms of the Royal Charter. This involved a new staircase, the installation of electric lighting, a new fire curtain and hot water radiators throughout the auditorium. In 1905, on the anniversary of the opening of the Theatre Royal, numerous William Shakespeare's plays were performed by the company of actors led by Frank Benson.
In 1914 the theatre impresario Arthur Carlton, from Worcester, took over the lease. As he was responsible for 14 theatres around the country at the time, he appointed Mrs D. Valantine Munro as the local manager. Performances were maintained during World War I, and in 1916 Sarah Bernhardt portrayed a wounded male French soldier in Du Théâtre au Champ d'Honneur. In the 1920s there were appearances by the Russian ballerina Anna Pavlova and Mrs. Patrick Campbell. During the Great Depression of the 1930s the theatre was not profitable and closed completely for six months. In 1938 the lease was taken over by Reg Maddox, whose family were involved with the theatre for the next 40 years. During World War II the theatre fared better, with appearances by prominent actors including Donald Wolfit, Irene Vanbrugh, John Gielgud and Sybil Thorndike. In the Post-War years, receipts suffered as audiences dwindled in the face of competition from cinema and television. Unsuccessful proposals were made for a trust to run the theatre in 1968, and in the 1970s, shares in the owning company were bought by the property developer Charles Ware, who sold to Charles Clarke, a solicitor from Bristol. Clarke was responsible for a redecoration of the building, but as profits were still small, in 1976 he sold it to Louis I. Michaels, who ran the Haymarket Theatre in London.
In March 1979, the dilapidated theatre was purchased by a trust headed by Jeremy Fry for £155,000. The following year, an appeal was launched to raise money for renovations, including the complete rebuilding of the stage, installation of a steel grid to hold stage lighting and scenery and a higher fly system, to allow major touring companies, including the Royal National Theatre under Peter Hall, to be booked to perform. The total projected cost was £3.5 million, of which £1.8 million was seen as being essential to reopening the theatre. Money and donations in kind were received from the city council, Arts Council England, Bath Preservation Trust, Leche Trust, Historic buildings council, Manifold Trust, South-West Stonecleaning and Restoration Company and many individuals. Work on the building started to designs by Dowton and Hurst. However, as insufficient funds had been raised by 1982 to complete the work, loans were negotiated with the Bristol & West and Lombard North Central with guarantees from local councils. The theatre reopened on 30 November 1982 with a performance of A Midsummer Night's Dream, featuring a cast from the National Theatre led by Paul Scofield. The event was attended by Princess Margaret, Countess of Snowdon.
In October 2009, the '2010 Refurbishment Appeal' was launched by Camilla, Duchess of Cornwall, Royal Patron of the Theatre Royal Bath, to raise money for a programme of work to preserve the 200-year-old building, while ensuring that it remained suitable for

source: m-a-p/FineFineWeb


text:
2014 Volume 13 Pages 79-87
This article documents a systematic bias in surface wind directions between the TAO buoy measurements at 0°, 170°W and the ECMWF analysis and forecasts. This bias was of the order 10° and persisted from November 2008 to January 2010, which was consistent with a post-recovery calibration drift in the anemometer vane. Unfortunately, the calibration drift was too time-variant to be used to correct the data so the quality flag for this deployment was adjusted to reflect low data quality. The primary purpose of this paper is to inform users in the modelling and remote-sensing community about this systematic, persistent wind directional bias, which will allow users to make an educated decision on using the data and be aware of its potential impact to their downstream product quality. The uncovering of this bias and its source demonstrates the importance of continuous scientific oversight and effective user-data provider communication in stewarding scientific data. It also suggests the need for improvement in the ability of buoy data quality control procedures of the TAO and ECMWF systems to detect future wind directional systematic biases such as the one described here.
This article cannot obtain the latest cited-by information.

source: openbmb/Ultra-FineWeb


text:
The U.S. Army Corps of Engineers, Baltimore District, has begun dredging approximately 5.5 million cubic yards of material from six channels associated with the Baltimore Harbor, ensuring continued safe navigation for vessels going in and out of the Port of Baltimore.
The Corps awarded two contracts worth up to approximately $56.2 million to Great Lakes Dredge and Dock of Oak Brook, Illinois, to conduct maintenance dredging for five Maryland channels and the York Spit Channel in Virginia.
Dredging associated with the York Spit Channel contract is tentatively scheduled to begin in May.
The following channels used by large container ships traveling to and from Port of Baltimore facilities will be dredged to their respective authorized dimensions, plus allowable over depth of 1 foot:
- Brewerton Angle (Maryland) to a depth of 51 feet and width of 700 feet (roughly 170,000 cubic yards);
- Brewerton Channel (Maryland) to a depth of 51 feet and width of 700 feet (roughly 305,000 cubic yards);
- Brewerton Channel Eastern Extension (Maryland) 36 feet and width of 600 feet (roughly 950,000 cubic yards);
- Tolchester Channel (Maryland) to a depth of 36 feet and width of 600 feet (roughly 1.2 million cubic yards);
- Northwest Branch East Channel (Maryland) to a depth of 50 feet and width of 700 feet (roughly 160,000 cubic yards);
- York Spit Channel (Virginia) to a depth of 51 feet and width of 800 feet (roughly 2.68 million cubic yards).
The material being removed consists primarily of mud, silt, sand, shell, and mixtures thereof.
In coordination with the State of Maryland, the roughly 2.15 million cubic yards of material dredged from Brewerton Channel Eastern Extension and Tolchester Channel will be beneficially reused at the Paul S. Sarbanes Ecosystem Restoration Project at Poplar Island located on the eastern side of the Chesapeake Bay.


Writing Applications
Writing an application that can be run as a client within the application-manager is not that much different from writing a stand-alone QML application. It basically boils down to three additional tasks:
 1. If you write a QML application, make the root element of your QML scene an ApplicationManagerWindow (or derive your own custom root item from it).
 2. Provide a valid info.yaml file.
 3. Make the application-manager aware of your application by running appman --recreate-database.
The Root Element
It is recommended to use either an ApplicationManagerWindow or a QtObject as the root of your QML application. This is especially important, if you expect similar behavior in singleand multi-process mode. If a QtObject is used, visible base elements should still be ApplicationManagerWindows. Nevertheless other root elements are supported for convenience, as well. Here are a few things to consider:
 - Only ApplicationManagerWindows support window properties that are shared between the System-UI and the client applications.
 - In multi-porcess mode Window root elements will get a decoration (unless QT_WAYLAND_DISABLE_WINDOWDECORATION is set) and will be invisible by default. QQuick Items will be wrapped inside a Window representing a Wayland client window.
 - In single-process mode Window root elements will appear parallel to instead of inside the System-UI.
The Manifest and Updating the Database
The Manifest Definition documentation has all the information to produce a minimal info.yaml file that should get you going.
Recursively finding and parsing info.yaml files for potentially hundreds of applications can be a very time consuming task and would severely slow down application-manager's startup. Therefore, all manifest files are cached in a binary database. In order to make changes to an info.yaml file known to the application-manager, you have to force a rebuild of this database by calling appman --recreate-database.
Note: Dynamically adding/updating/removing single applications is supported via the ApplicationInstaller interface.
Qmake Integration
To install applications into a system-ui using the Installer Sub-System, the application first needs to be packaged. This can be done using the Packager utility. To better integrate the packaging into your usual developer workflow you can also use the qmake integration provided by the application-manager.
The integration will add an additional package target to the Makefile. By calling make package on the command line or adding it as an additional build step in QtCreator a new application package gets created.
Simple QML Apps
For simple QML only apps, just create a qmake project file which defines an install step for all the needed files. The actual install location doesn't matter in this case, because it will just be used as a temporary path during package creation.
FILES += info.yaml \
 icon.png \
app.files = $$FILES
app.path = /apps/com.example.application
In addition add the following two lines to provide the install location to the packaging step and to load the actual qmake integration.
AM_PACKAGE_DIR = $$app.path
Complex Apps
For more complex apps, where you need to deploy a C++ based QML plugin in addition to your QML content, you need to split your app into multiple folders and project files. One folder for the QML part, another one for the C++ plugin and a SUBDIRS project to glue them together.
The packaging integration will be done in the SUBDIRS project and expects that the other project files provide install targets to a shared install location. E.g the QML part installs it's files to '/apps/com.example.application', while the C++ plugin will install to '/apps/com.example.application/imports/com/example/application'.
In the SUBDIRS project you need to define the AM_MANIFEST variable and set it to the location of your info.yaml file as well as define the shared install location as AM_PACKAGE_DIR:
AM_MANIFEST = $$PWD/app/info.yaml
AM_PACKAGE_DIR = /apps/com.example.application
Packaging multiple apps
If your repository provides multiple apps, like the Qt Auto Extra Apps Repository, you can use the am-package qmake feature to provide a repository wide package step.
Just add a ".qmake.conf" file with the following content to your repository, which gets automatically loaded by qmake:
CONFIG += am-package


text:
Songworks 3 Tutorial Videos
1. The Edit Window
An overview of the music editing window
2. The Keyboard Window
An overview of the keyboard tools window
3. Entering Music in Step Time
How to enter music note-by-note in the edit window
4. Entering Chords
How to enter chord symbols in the edit window
5. Entering Text
How to enter either free or lyric text in the edit window
6. Entering Music in Multiple Parts
How to enter multiple voices on the same staff
7. Adjusting Staves
How to adjust the positioning of staves on the printed page
8. The Letter Keys Piano
Improvising melodies on the letter keys "piano" with optional chord accompaniment
9. Active Listening
Playing music by tapping the rhythm - for fun or for learning a part
10. Shape Notes
An explanation of shape notes and how you can use Songworks to write music with shapes.
11. Selecting Staff Items
How to select notes, rests and other staff symbols.
12. Selecting Text
How to select text blocks.
13. Selecting Chords
How to select chord symbols.


text:
|Skip Navigation Links|
|Exit Print View|
|System Administration Guide: Network Services Oracle Solaris 11 Express 11/10|
SLP configuration properties control network interactions, SLP agent characteristics, status, and logging. In most situations, the default configuration of these properties requires no modification. However, you can use the procedures in this chapter when the network medium or topology changes and to achieve the following goals:
Compensate for network latencies
Reduce congestion on the network
Add agents or reassign IP addresses
Activate SLP logging
Table 9-1 SLP Configuration Operations
Comment lines and notations
All of the basic SLP properties, such as net.slp.isDA and net.slp.DAHeartBeat, are named in the following format.
SLP behavior is defined by the value of a property or a combination of properties in the slp.conf file. Properties are structured as key-value pairs in the SLP configuration file. As shown in the following example, a key-value pair consists of a property name and an associated setting.
The key for each property is the property name. The value sets the numeric (distance or time), true/false state, or string value parameters for the property. Property values consist of one of the following data types:
True/False setting (Boolean)
List of integers
List of strings
If the value defined is not allowed, the default value for that property name is used. In addition, an error message is logged using syslog.
Note - Settings in the configuration file are case insensitive. For more information, refer to: Guttman, Erik, James Kempf, and Charles Perkins, "Service Templates and service: scheme," RFC 2609 from the Internet Engineering Task Force (IETF). [_URL_
Use this procedure to change the property settings in your SLP configuration file. SLP– enabled client or service software also can alter the SLP configuration by using the SLP API. This API is documented in "An API for Service Location," RFC 2614 from the Internet Engineering Task Force (IETF). [_URL_
For more information, see How to Obtain Administrative Rights in System Administration Guide: Security Services.
# svcadm disable network/slp
Refer to Configuration Properties for general information about the SLP property settings. See the sections that follow this procedure for examples of different scenarios in which you might change the slp.conf properties. See slp.conf(4).
# svcadm enable network/slp
Note - The SLP daemon obtains information from the configuration file when you stop or start slpd.
Example 9-1 Setting up slpd to Operate as a DA Server
In each area, various properties control different aspects of the configuration. The following sections describe different scenarios in which you might change the default property settings that are used in SLP configuration.


text:
< Browse to Previous Essay | Browse to Next Essay >
Harvey Pike starts to dig a canal connecting Seattle's Union and Portage bays in 1860.
HistoryLink.org Essay 3404
: Printer-Friendly Format
In 1860, in Seattle, Harvey Pike begins digging the first ditch between Lake Washington's Union Bay and Lake Union's Portage Bay. Harvey's uncompleted effort is the first Montlake Cut. Eventually Montlake Cut will be excavated further and will become part of the Lake Washington Ship Canal (opened 1917).
Pike had taken the land between Lake Washington and Lake Union in payment for painting the Territorial University. He soon gave up the project (he was digging by himself with a pick and shovel) and deeded the land to the Lake Washington Canal Company in 1871. He was one of the incorporators of this firm.
This firm did not build a canal but rather a quarter mile long tramway (narrow gauge railway) over which coal transferred from Lake Washington barges was carried to Lake Union barges.
These rails were torn up in 1878. Chinese labor hired in 1883 by David Denny (_PHONE_) and Thomas Burke (_PHONE_) dug the second Montlake Cut.
Paul Dorpat, "Log Canal to Portage Bay," Seattle Now & Then 2nd Edition (Seattle: Tartu Publishers, 1997), Story 89; Clarence Bagley, History of Seattle Washington Vol 1 (Chicago: The S. J. Clarke Publishing Co., 1916), p. 372.
Note: This essay was corrected on May 4, 2012, to reflect that Pike started work in 1860, and that he did not complete a canal.
Travel through time (chronological order):
< Browse to Previous Essay
Browse to Next Essay >
Licensing: This essay is licensed under a Creative Commons license that
encourages reproduction with attribution. Credit should be given to both
HistoryLink.org and to the author, and sources must be included with any
reproduction. Click the icon for more info. Please note that this
Creative Commons license applies to text only, and not to images. For
more information regarding individual photos or images, please contact
the source noted in the image credit.
Major Support for HistoryLink.org Provided
By: The State of Washington | Patsy Bullitt Collins
| Paul G. Allen Family Foundation | Museum Of History & Industry
| 4Culture (King County Lodging Tax Revenue) | City of Seattle
| City of Bellevue | City of Tacoma | King County | The Peach
Foundation | Microsoft Corporation, Other Public and Private
Sponsors and Visitors Like You


Bottled Water or Tap?
Jun 26, 2020 by LetsTalkTrash
The story of bottled water is nuanced. Backed by the reality that we need clean drinking water to survive, and then infused with marketing campaigns that played on fears of water born pathogens and the wonders of trace mineral content.
What is the full story of bottled water? And with 1 in 7 people having no access to clean drinking water, can we thrive without it?
Download Bottled Water or Tap? as MP3


Penetration
particle radiation
Learn about this topic in these articles:
applications of gamma rays
 - Diagram of photosynthesis showing how water, light, and carbon dioxide are absorbed by a plant to produce oxygen, sugars, and more carbon dioxide.
 In electromagnetic radiation: Gamma rays
 The great penetrating power of gamma rays stems from the fact that they have no electric charge and thus do not interact with matter as strongly as do charged particles. Because of their penetrating power gamma rays can be used for radiographing holes and defects in metal…
 Read More
Aufbau principle
 - crystal bonding
 In chemical bonding: Lithium through neon
 …that a 2s electron can penetrate through the core (that is, have nonzero probability of being found closer to the nucleus than the bulk of the core electron density). If penetration occurs, the electron experiences the full nuclear charge and hence has a lower energy than an electron in an…
 Read More
study of particle beams
 - Figure 1: Energy states in molecular systems (see text).
 In radiation: Range
 …motion is known as the penetration. The difference between range and penetration distances results from scattering encountered by the particle along its path. For heavy charged particles with high initial velocities (those that are appreciable fractions of the speed of light), large-angle scatterings are rare. The corresponding trajectories are straight,…
 Read More
Keep Exploring Britannica
×


text:
President of the Association for Sustainable Development, Karine Danielyan, stated that Armenia's climate could change and become tropical.
"Global climate change is taking place. Under the UN Climate Change Convention, drastic changes require both desertification risks and the risks of natural resource reductions. The climate may become tropical, and the climate may start changing drastically," Karine Danielyan told A1plus.
According to Danielyan, Armenian scientists have long predicted weather anomalies in Armenia. Experts of the Meteorological Center of Armenia see a threat to Armenian agriculture and population in anomaly hot winter despite the fact that Armenian residents are satisfied with the weather.


Aaron Dalton > AI-Pathfinding-AStar-0.10 > AI::Pathfinding::AStar
Annotate this POD
New 1
Open 0
View/Report Bugs
Module Version: 0.10 Source
 package My::Map::Package;
 use base AI::Pathfinding::AStar;
 # Methods required by AI::Pathfinding::AStar
 sub getSurrounding {... }
 package main;
 use My::Map::Package;
This module implements the A* pathfinding algorithm. It acts as a base class from which a custom map object can be derived. It requires from the map object a subroutine named getSurrounding (described below) and provides to the object two routines called findPath and findPathIncr (also described below.) It should also be noted that AI::Pathfinding::AStar defines two other subs (calcF and calcG) which are used only by the findPath routines.
AI::Pathfinding::AStar requires that the map object define a routine named getSurrounding which accepts the starting and target node ids for which you are calculating the path. In return it should provide an array reference containing the following details about each of the immediately surrounding nodes:
Basically you should return an array reference like this: [ [$node1, $cost1, $h1], [$node2, $cost2, $h2], [...],...]; For more information on heuristics and the best ways to calculate them, visit the links listed in the SEE ALSO section below. For a very brief idea of how to write a getSurrounding routine, refer to the included tests.
As mentioned earlier, AI::Pathfinding::AStar provides two routines named findPath and findPathIncr. findPath requires as input the starting and target node identifiers. It is unimportant what format you choose for your node IDs. As long as they are unique, and can be distinguished by Perl's exists $hash{$nodeid}, then they will work. findPath then returns an array (or reference) of node identifiers representing the least expensive path to your target node. An empty array means that the target node is entirely unreacheable from the given source. findPathIncr on the other hand allows you to calculate a particularly long path in chunks. findPathIncr also takes the starting and target node identifiers but also accepts a state variable and a maxiumum number of nodes to calculate before returning. findPathIncr then returns a hash representing the current state that can then be passed back in for further processing later. The current path can be found in $state-{path}>.
This module requires Heap (specifically Heap::Binomial and Heap::Elem) to function.
_URL_ _URL_
syntax highlighting:


text:
i'm solving sparse linear equations within scipy 0.18 which internally resorts to SuperLU (after umfpack got removed due to license-issues).
Current, i'm doing a complete re-factorization in each iteration of my algorithm, but now i want to re-use the permutation-ordering (at least the column-permutation; but maybe even row-permutation) calculated in the first iteration. How can i achieve this in a nice way using scipy?
I got no previous usage-history of SuperLU (and also not much practical experience with sparse-algebra packages), but the user-guide makes me believe, that this should be done through the
Fact Specifies whether or not the factored form of the matrix A is supplied on entry, and if not, how the matrix A will be factorized base on the previous history, such as factor from scratch, reuse Pc and/or Pr, or reuse the data structures of L and U. fact can be one of:
– DOFACT: the matrix A will be factorized from scratch.
– SamePattern: the matrix A will be factorized assuming that a factorization of a matrix with the same sparsity pattern was performed prior to this one. Therefore, this factorization will reuse column permutation vector perm c.
– SampPattern SameRowPerm: the matrix A will be factorized assuming that a factorization of a matrix with the same sparsity pattern and similar numerical values was performed prior to this one. Therefore, this factorization will reuse both row and column permutation vectors perm r and perm c, both row and column scaling factors Dr and Dc, and the distributed data structure set up from the previous symbolic factorization
As an alternative, there is also the following within
ColPerm Specifies how to permute the columns of the matrix for sparsity preservation.
– NATURAL: natural ordering.
– MMD ATA: minimum degree ordering on the structure of AT A.
– MMD AT PLUS A: minimum degree ordering on the structure of AT + A.
– COLAMD: approximate minimum degree column ordering
– MY PERMC: use the ordering given in perm c input by the user.
- Which part of SuperLU should i use to achieve my goal? One of the above? Something else?
- How can it be done within scipy?
ColPerm-parameter is missing
MY_PERMCin scipy's docs (maybe it's not usable)


text:
Interactive Vieweing: SUPER WHY & The Three Little PigsEach day of Reading Camp begins with an interactive viewing of the SUPER WHY episode of the week. That means that you and your campers won't simply watch the episode, you'll chime in with the songs, answers questions, and join the characters in solving the problems and saving the day. Young children are active learners—they learn best through play, exploration, and conversations with their teachers and fellow campers.
WatchTake notes in your Learning Log as you watch the slideshow.
ReviewThe SUPER WHY television show invites young viewers to build their early reading skills by becoming part of the reading adventures. Here are some of the strategies Deborah uses to build enthusiasm, maintain focus, and get every child actively participating.
1. Involve campers right from the start.
Use the questions in the Reading Camp Curriculum to deepen children's understanding of the story and help them focus on the early literacy goal of the day: on Day 1—Alpha Pig's letter identification skills.4. Keep the energy flowing by getting into the action.
Join your campers in the fun. At the end of the discussion, hand out masks to the campers and transform yourselves into the Super Reader of the day: Alpha Pig to the rescue!
Teacher-to-Teacher Tips"We chose to cut out all of the masks in advance, including the eye holes, and we glued each mask to a jumbo-sized tongue depressor. When it came time to transform into each character, we simply passed out that mask, which the kids could hold with one hand in front of their face. They could use their other hand to put into the circle as directed."
—Trista Peitzman, Johnston, Iowa
"Because the kids are so much a part of the action, there is not much challenge in keeping them engaged with the episode. Each day, we talk about what we are going to look for—the Super Reader of the day, of course, but also specific things that the character does."
—Loretta Baker, Baltimore, Maryland
"Children really like the episode—even on the last day. They love knowing all the answers!"
-Kathy Smith, Toledo, Ohio
ReflectWhat are some techniques that you might use to keep kids actively engaged as they watch the episode? Write your ideas in your Learning Log.
⇒ NEXT: Craft Activity


text:
the landing matress. While earlier versions used wooden, metal or bamboo, modern poles are generally made from artificial materials such as fibreglass or carbon fibre. The pole vault has been an Olympic event since 1896 for men, but it was over 100 years later that the first women's world championship competition was held at the 1997 IAAF World Indoor Championships. The first women's Olympic pole vaulting competition occurred in 2000.
The genesis of the shot put can be traced to pre-historic competitions with rocks: in the middle ages the stone put was known in Scotland and the steinstossen was recorded in Switzerland. In the 17th century, cannonball throwing competitions within the English military provided a precursor to the modern sport. The modern rules were first laid out in 1860 and required that competitors take legal throws within a square throwing area of seven feet (2.13 m) on each side. This was amended to a circle area with a seven foot diameter in 1906, and the weight of the shot was standardised to 16 pounds (7.26 kg). Throwing technique was also refined over this period, with bent arm throws being banned as they were deemed too dangerous and the side-step and throw technique arising in the United States in 1876. Shot Putters are generally the largest and most explosive athletes on a team.
The shot put has been an Olympic sport for men since 1896 and a women's competition using a 4 kg (8.82 lb) shot was added in 1948. Further throwing techniques have arisen since the post-war era: in the 1950s Parry O'Brien popularised the 180 degree turn and throw technique commonly known as the "glide," breaking the world record 17 times along the way, while Aleksandr Baryshnikov and Brian Oldfield introduced the "spin" or rotational technique in 1976.
As one of the events within the ancient pentathlon, the history of the discus throw dates back to 708 BC. In ancient times a heavy circular disc was thrown from a set standing position on a small pedestal, and it was this style that was revived for the 1896 Olympics. This continued until the 1906 Intercalated Games in Athens, which featured both the ancient style and the increasingly popular modern style of turning and throwing. By the 1912 Olympics, the ancient standing throw style had fallen into disuse and contests starting within a 2.5 m squared throwing area became the standard. The discus implement was standardised to 2 kg (4.4 pounds) in weight and 22 cm (8 inches) in diameter in 1907. The women's discus was among the first women's events on the Olympic programme, being introduced in 1928.
As an implement of war and hunting, javelin throwing began in prehistoric times. Along with the discus, the javelin was the second throwing event in the ancient Olympic pentathlon. Records from 708 BC show two javelin competition types co-existing: throwing at a target and throwing the javelin for distance. It was the latter type from which the modern event derives. In ancient competitions, athletes would wrap an ankyle (thin leather strip) around the javelin that acted as a sling to facilitate extra distance. The javelin throw gained much popularity in Scandinavia in the late 18th century and athletes from the region are still among the most dominant throwers in men's competitions. The modern event features a short run up on a track and then the thrower releases the javelin before the foul line.
The first Olympic men's javelin throw contest was held in 1908 and a women's competition was introduced in 1932. The first javelins were made of various types of wood, but in the 1950s, former athlete Bud Held introduced a hollow javelin, then a metal javelin, both of which increased throwers performances. Another former athlete, Miklós Németh invented the rough-tailed javelin and throws reached in excess of 100 m – edging towards the limits of stadia. The distances and the increasing number of horizontal landings led the IAAF to redesign the men's javelin to reduce distance and increase the implement's downward pitching moment to allow for easier measurement. Rough-tailed designs were banned in 1991 and all marks achieved with such javelins were removed from the record books. The women's javelin underwent a similar redesign in 1999. The current javelin specifications are 2.6 to 2.7 m in length and 800 grams in weight for men, and between 2.2 to 2.3 m and 600 g for women.
The earliest recorded precursors to the modern hammer throw stem from the Tailteann Games around 1800 BC, which featured events such as throwing either a weight attached to a rope, a large rock on a wooden handle, or even a chariot wheel on a wooden axle. Other ancient competitions included throwing a cast iron ball attached to a wooden handle – the root of the term "hammer throw" due to their resemblance to the tools. In 16th century England, contests involving the throwing of actual blacksmith's Sledgehammers were recorded. The hammer implement was standardised in 1887 and the competitions began to resemble the modern event. The weight of the metal ball was set at 16 pounds (7.26 kg) while the attached wire had to measure between 1.175 m and 1.215 m.
The men's hammer throw became an Olympic event in 1900 but the women's event – using a 4 kg (8.82 lb) weight – was not widely competed until much later, finally featuring on the women's Olympic programme a century later. The distance's thrown by male athletes became greater from the 1950s onwards as a result of improved equipment using the denser metals, a switch to concrete throwing areas, and more advanced training techniques. Professional hammer throwers as historically large, strong, sturdy athletes. However, qualities such as refined technique, speed and flexibility have become increasingly important in the modern era as the legal throwing area has been reduced from 90 to 34.92 degrees and throwing technique involves three to four controlled rotations.
Combined (or multi-discipline) events are competitions in which athletes participate in a number of track and field events, earning points for their performance in each event, which adds to a total points score. Outdoors, the most common combined events are the men's decathlon and the women's heptathlon. Due to stadium limitations, indoor combined events competition have a reduced number of events, resulting in the men's heptathlon and the women's pentathlon. Athletes are allocated points based on an international-standard points scoring system, such as the decathlon scoring table.
The Ancient Olympic pentathlon (comprising long jump, javelin, discus, the stadion race and wrestling) was a precursor to the track and field combined events and this ancient event was restored at the 1906 Summer Olympics (Intercalated Games). A men's decathlon was held at the 1904 Summer Olympics, albeit contested between five American and two British athletes.
|Men's decathlon||100 m||400 m||1500 m||110 m hurdles||Long jump||High jump||Pole vault||Shot put||Discus throw||Javelin throw|
|Women's heptathlon||200 m||800 m||100 m hurdles||Long jump||High jump||Shot put||Javelin throw|
|Men's heptathlon||60 m||1000 m||60 m hurdles||Long jump||High jump||Pole vault||Shot put|
|Women's pentathlon||800 m||60 m hurdles||Long jump||High jump||Shot put|
The term track and field is intertwined with the stadiums that first hosted such competitions. The two basic features of a track and field stadium are the outer oval-shaped running track and an area of turf within this track—the field. In earlier competitions, track lengths varied: the Panathinaiko Stadium measured 333.33 metres at the 1896 Summer Olympics, while at the 1904 Olympics the distance was a third of a mile (536.45 m) at Francis Field. As the sport developed, the IAAF standardised the length to 400 m and stated that the tracks must be split into six to eight running lanes. Precise widths for the lanes were established, as were regulations regarding the curvature of the track. Tracks made of flattened cinders were popular in the early 20th century but synthetic tracks became standard in the late 1960s. 3M's Tartan track (an all-weather running track of polyurethane) gained popularity after its use at the 1968 US Olympic Trials and the 1968 Summer Olympics and it began the process in which synthetic tracks became the standard for the sport. Many track and field stadiums are multi-purpose stadiums, with the running track surrounding a field built for other sports, such as the various types of football.
The field of the stadium combines a number of elements for use in the jumping and throwing events. The long jump and triple jump areas comprise a straight, narrow 40-metre running track with a sandpit at one or both ends. Jumps are measured from a take off board—typically a small strip of wood with a plasticine marker attached—which ensures athletes jump from behind the measurement line. The pole vault area is also a 40-metre running track and has an indentation in the ground (the box) where vaulters plant their poles to propel themselves over a crossbar before falling onto cushioned landing mats. The high


,,,,
Nour: Play With Your Food's sous chef: an interactive soundtrack
Reading Time: 6 minutes
No two dishes made in Nour: Play With Your Food are alike. A delicious interactive exploration into the aesthetics of food and drink, Nour lets you play with your food in ways your mother told you not to. This beautiful, chaotic yet comforting game demanded a soundtrack that reflects each player's unique preparations and plating. What started as a soundtrack ended up as an instrument.
Play sweet melodies and manipulate the environment via random acts of cookery, rhythmic prowess, or even your singing voice. Beginner or expert, reckless or meticulous, every chef creates a song to match their pièce de résistance.
I'm Maximilian C Mueller, a musician and designer – and today, your maître d'Nour's music. James Morrison (aka Fluke Nukes) and I cooked up a feast for the ears to accompany this feast for the eyes.
Ambience: Season to Taste
Adaptive background music to complement your dish.
The music heats up, cools down, rises, mixes, and melts. What you hear is a unique combination of ingredients cooked per ever-changing specifications set by the way you play; no two play-throughs will sound the same. Wreak havoc, show restraint, and so too will the audio.
Adaptive game music is often categorized as "horizontal" (e.g. the music changes when entering a room), or "vertical" (e.g., tempo increases or an instrumental element is added when entering combat). Nour's music is diagonal and has a cherry on top. Player actions and their frequency comprise a measure of chaos used to generate a cohesive song from a large pantry of ingredients. Together with a dash of stochasticity and a pinch of salt, this fluctuating measure acts as a conductor, guiding the scene sound. Put simply, the dish you create creates the song.
Have a listen to some evolving music captured in-game while you read:
Marshmallow Flutes and Noodle Harps
Conjure food and make a melody, create a dish and make a song.
Each time a food is introduced into the scene, a sound comes with it. What does a marshmallow sound like? An airy flute! An ice cube? The high notes of a grand piano played staccato of course! It was great fun choosing these sounds and even more fun subjecting those sounds to the trials of gameplay. Don't worry about playing sour notes; every button press is always in tune. Once in the scene, the foods act as percussion instruments, singing the sound that announced them on impact. I love setting up a pile of ice cubes and slamming something into them to create an icy physics music explosion.
Perhaps the best example of physical instrumentation in Nour is the noodle harp. Make some noodles, arrange them to form an elegant slope (or monster) using the magnet, and freeze them. While there are many ways you could choose to play the harp, one of my favorites is simply letting a gyoza tumble down the sculpture to create a descending melody.
Making a beat in Toaster using a combination of "broken" and working toasters.
Each scene in Nour has some unique gameplay mechanics and musical mechanics to match. In Toaster, make toast and conduct an orchestra at the same time. Bread takes to the air upon a swell of violins, bassoons, and timpani. Burn your toast to the degree that the toaster breaks…and what was once a bassoon is a BASS. Appliance destruction triggers a change of temperament in your musicians, turning the smoldering toasters into 808's, snares, hats, and kicks. Create a fiery beat – but be sure to leave one or two toasters unbroken for a nice orchestral accompaniment.
Fire dances to the beat when night falls in Toaster.
In Meat Grinder, each food is spawned into a calm but foreboding environment. Things really take a turn when the player rotates the handle to grind a food – not only is the food ground, but its sound is extruded too. There may or may not be heavy-metal involved.
Players can look forward to both macro and micro manipulation of game audio via changes they make to the environment. This relationship is reciprocal: they'll also have the power to change the environment through music.
A jazz cover of the Miso Soup music hidden in an easter egg – happy hunting!
Sonic Controller: Audio-as-Interface
Use music to manipulate food.
Music in Nour acts not just as a soundtrack, but an interface. Players can exert influence over the scene and its contents in both familiar and new modes of musical gameplay.
The mechanics aim to encourage and reward the exploration and experimentation central to Nour. Fittingly, its rhythm system has no grid. User input is instead processed relatively, allowing the game to recognize and reward melodies ranging from rigid to adventurous.
Rhythmic play generates a resource that can be used to activate special powers: freeze foods to create a sculpture (or plate), turn day into night, or compel your food to dance to the music.
Combining these effects creates a dizzying number of musical (and physical) possibilities. Lock some dancing sugar cubes in a cage of frozen oranges to create a dynamic physical instrument – the sugar pulses to the music, knocking into itself and the walls confining it. Then activate night mode to really get things bopping! I'm so excited to see what players come up with and hear the sounds they're able to coax out of the scenes.
Secret rhythmic sequences (combos) offer another way to control the game – I'll give away one to get you started: try slowing down time by playing 4 quarter notes, 2 halves, and a whole. And for balance, an anti-sequence: button mash as fast as your can to activate Warp Mode!
We hope such rhythmic mechanics will be fun, familiar, and legible to those who have stomped, shredded, or ocarina-ed their way through a virtual space. The DualSense controller,
Sequence effects are triggered by specific note sequences. This sequence, (4, 4, 4, 4, 2, 2, 1), prompts a key change and slows down both the music and gameplay.
however, furnished an opportunity for something new. Not only can you play with your food, you can yell, sing, blow, and slurp at it. Sing the root note of the song to levitate objects upon a field of golden energy for as long as you can hold it. Blast away objects with a gust of wind blown into the microphone. Yell to charge up a food and plate it with force! After all that you'll likely need to take a sip of refreshing soda – just produce a rising pitch with your voice, a cello, or…?
Left: Using voice to levitate citrus in Soft Drinks // Right: Blowing a gust of wind in Diner
Panic's previous title, Untitled Goose Game, was praised for its reactive score, so from the start we knew Nour would have to push the audio envelope. This is our first time working on a game, so we didn't really know what was possible in the key of C# – it turns out a lot is! It's been a wild ride up a steep learning curve – a big thanks to our very talented, supportive, and patient team for sticking with us while we skilled up.
We're all so excited for you to experience Nour: Play With Your Food this summer.
Website: LINK
Facebook Comments
Surreal narrative adventure Where the Heart Leads hits PS4, PS5 on July 13


forward the local port to a remote server.
Managing Port Forwarding Rules in Windows
Make sure that your firewall (Microsoft Windows Defender Firewall or a third-party firewall that are often included into an antivirus software) allows incoming connections to the new port. You can add a new allow rule to Windows Defender Firewall with the command:
netsh advfirewall firewall add rule name="forwarded_RDPport_3340" protocol=TCP dir=in localip=10.1.1.110 localport=3340 action=allow
Or using the New-NetFirewallRule PowerShell cmdlet:
New-NetFirewallRule -DisplayName "forwarder_RDP_3340" -Direction Inbound -Protocol TCP –LocalPort 3340 -Action Allow
When creating an incoming firewall rule for port 3340 via Windows Defender Firewall graphical interface, no program needs to be associated with it. This port is only listened by the network driver.
You can create any number of Windows port forwarding rules. All netsh interface portproxy rules are persistent and are stored in the system after a Windows restart. Also, there were cases when in Windows Server 2012 R2 the port forwarding rules were reset after server reboot. In this case, you need to check whether there is a periodic disconnection on the network interface, and whether the IP address changes when the OS boots (it is better to use a static IP instead of dynamic DHCP). As a workaround, I had to add a batch script to the Windows Task Scheduler with the netsh interface portproxy rules that run on the system startup.
To display a list of all active TCP port forwarding rules on Windows, run the command:
netsh interface portproxy show all
In our case there is only one forwarding rule from local port 3340 to 3389:
Listen on ipv4: Connect to ipv4:
Address Port Address Port
--------------- ---------- --------------- ----------
10.1._PHONE_ 10.1._PHONE_
Display all port forward rules
Tip. You can also list port forwarding settings in portproxy as follows:
netsh interface portproxy dump
#========================
# Port Proxy configuration
#========================
pushd interface portproxy
reset
add v4tov4 listenport=3340 connectaddress=10.1.1.110 connectport=3389
popd
# End of Port Proxy configuration
netsh interface portproxy dump
To remove a specific port forwarding rule:
netsh interface portproxy delete v4tov4 listenport=3340 listenaddress=10.1.1.110
To remove all existing mapping rules and completely clear the port forwarding rules table:
netsh interface portproxy reset
Important. This forwarding scheme works only for TCP ports. You won't be able to forward UDP ports this way. Also you can't use the loopback interface 127.0.0.1 as the connectaddress.
You can use Windows Server with the RRAS and NAT role installed to configure port forwarding for UDP traffic. You can configure port forwarding between server interfaces using the graphical snap-in (rrasmgmt.msc) or with the command:
netsh routing ip nat add portmapping Ethernet1 udp 0.0.0.0 53 192.168.100.100 53
Another portproxy feature is an opportunity to make it look like any remote network service is running locally.
For example, let's redirect the connection from the local port 5555 to a remote HTTP server with IP address 157.166.226.25 (CNN website):
netsh interface portproxy add v4tov4 listenport=5555 connectport=80 connectaddress= 157.166.226.25 protocol=tcp
Now if you go to http://localhost:5555/ in your browser, the CNN Start page will open. So despite the browser is accessing the local computer, it opens a page from an external web server.
localhost:5555 open remote page on localhost
Port forwarding rules can also be used to forward a port from the external IP address of a physical NIC to a port of a virtual machine running on the same host. In Hyper-V, you can configure port forwarding on a Virtual Switch level (see below).
Windows cannot forward a range of TCP ports. If you need to forward multiple ports, you will have to manually create multiple portproxy forwarding rules. The easiest way is to generate a list of netsh interface portproxy add commands with different port numbers in notepad and then paste them into the command prompt for execution.
Port Forwarding in Hyper-V Server
When using the Hyper-V role on your computer (it can be installed on both Windows 10 and Windows Server, or as a free Hyper-V Server), you can configure DNAT port forwarding rules using PowerShell. Suppose you want to redirect all https traffic that your Hyper-V host receives to the IP address of the virtual machine running on the host. To do this, use the Hyper-V StaticMapping commands.
First you need to create a Virtual Switch with NAT:
New-VMSwitch -Name "HTTPS-NAT" -SwitchType NAT -NATSubnetAddress 192.168.100.0/24
Then you need to connect the necessary VM to the specified vswitch and enable the address translation rule for all virtual machines connected through this Hyper-V virtual switch:
New-NetNat -Name HTTPS-NAT -InternalIPInterfaceAddressPrefix 192.168.100.0/24
Add-NetNatStaticMapping -ExternalIPAddress "0.0.0.0/24" -ExternalPort 443 -Protocol TCP -InternalIPAddress "192.168.100.77" -InternalPort 443 -NatName HTTPS-NAT
After executing these PowerShell commands, all HTTPS traffic that comes to port 443 of the Hyper-V host will be forwarded to the private IP address of the virtual machine.
]]>
_URL_ 0
Unable to Add/Remove Role: Windows Server Requires Restart _URL_ _URL_ Wed, 10 Mar 2021 09:00:00 +0000 _URL_ When installing any role or feature on Windows Server 2016, an error appears that the server requires a restart: "The request to add or remove features on the specified server failed. The operation cannot be completed, because the server that you specified requires a restart". Ok, we restart our server and try to install a role again. The same error appears. And so it goes repeatedly .
Windows Server Feature Installation error "The request to add or remove features on the specified server failed, because the server requires a restart"
As a result, we cannot install or remove any of the roles/features on Windows Server even after restarting the server and installing the latest updates.
The server event log (Event Viewer -> Windows Logs -> System) shows an error with the EventID 7041 and Service Control Manager as a source. The event description says:
This service account does not have the required user right "Log on as a service".
To solve the problem, you must grant the logon as a service permissions to "NT SERVICE\ALL SERVICES" (and NT SERVICE\MSSQL$MICROSOFT##WID, if the error is related to the installation of the WSUS role or SQL Server role).
 1. Open the Local Group Policy Editor: gpedit.msc
 2. Go to Computer Configuration –> Windows Settings –> Security Settings –> Local Policies –> User Rights Assignment;
 3. Find the Log on as a service policy;
 4. As you can see, there is no NT SERVICE\ALL SERVICES in this policy. Let's try to add it: Add User or Group -> NT SERVICE\ALL SERVICES. An error occurs: name not found.
 gpo - NT SERVICE\ALL SERVICE name not found
How can you add a service account to a local policy? The only possible way I could find to grant the "Log on as a service" permissions to NT SERVICE\ALL SERVICES is to use the ntrights.exe tool (from the old Windows Server 2003 Resource Kit).
Download and install the Server 2003 Resource Kit (rktools.exe), then grant the SeServiceLogonRight permission using these commands in the elevated command prompt:
cd "C:\Program Files (x86)\Windows Resource Kits\Tools"
ntrights.exe +r SeServiceLogonRight -u "NT SERVICE\ALL SERVICES"
Granting SeServiceLogonRight to NT SERVICE\ALL SERVICES ... successful
ntrights.exe SeServiceLogonRight to NT SERVICE\ALL SERVICES
If there is no NETWORK SERVICE in the current permissions list, add this account as well. If necessary, add the permissions for NT SERVICE\MSSQL$MICROSOFT##WID in the same way


text:
Animal Species:Golden-spined Ant
Golden-spined or Golden Ants have a metallic sheen to their body, which is covered in golden hairs.
Golden-spined Ants have a strangely spined thorax, probably used in defence against predators.
8 mm - 11 mm
Golden-spined Ants are found throughout Australia.
Found in urban areas, forests and woodlands, heath, Golden-spined Ants often nest in sand at the base of shrubs and trees.
Many Golden-spined Ants stay in their nest during wet or extremely hot periods.
Feeding and Diet
Golden-spined Ants are omnivores. They collect nectar and pollen from a wide range of plants including eucalypts and acacias. They also collect dew from these plants early in the morning. They forage as individuals and can be seen on food-collecting missions at most times and in most weather conditions.


text:
Ultra Rare Horse Fossil - Amazing Investment Calibre Specimen
We are thrilled to present one of the most incredible mammal fossils ever discovered.
On offer is the most complete "dawn horse" (Protorohippus venticolus) currently on record; it is one of only two horse skeletons discovered in Wyoming's Green River Formation. The five fish embedded in the slab are a testament to the rare circumstances that led to this land animal being buried in the middle of Fossil Lake. The details of this intriguing occurrence remain a mystery. One suggestion is that the horse was fleeing a predator and it made its way to shallow water, but was swept away into to the middle of the lake where it eventually drowned.
P. venticolus is the most primitive species of the Equidae family. This diminutive horse was only 20 inches (50 cm) tall at the shoulders and about two feet (60 cm) long as an adult. Interestingly, it had four padded hoofed toes on its front legs and 3 on its long hind legs. Its grinding teeth were well-suited to a diet of fruit and leaves, which were abundant in the subtropical climate that it inhabited.
This specimen was discovered in the Fall of 2004 and is among the most scientifically significant specimens from the region. It garnered attention soon after it was unearthed: Dr. Lance Grande of the Field Museum examined the fossil and it later appeared in National Geographic Magazine. A museum-quality cast of the specimen currently on public display at the Fossil Butte National Monument in Kemmerer, Wyoming.
- Species: Protorohippus venticolus
- Age: Early Eocene, 52 million years old
- Location: Fossil Lake. Kemmerer, Wyoming, USA
- Found in the Gastropod (Snail) Layer
- Matrix Size: 28.5" x 30.5" x 4" / 72 cm x 52 cm x 10 cm
- Specimen Size: 27" x 19" / 68.5 cm x 48.25 cm
- No restoration or painting - it was found as a completely articulated skeleton
- Photos of the specimen prior to preparation (meticulous removal of the rock covering the bones) available upon request
- Certificate of Authenticity and Letter of Provenance included
The Green River Formation is a preeminent fossil locale known as a "lagerstätte" - a deposit that produces specimens with exceptional preservation. It has yielded a wide variety of spectacular vertebrate, insect and plant fossils. Numerous fish species, turtles, lizards, snakes, birds, mammals, insects, palms and flowers thrived in what was once a bountiful subtropical habitat.


Export (0) Print
Expand All
Adding Text Boxes (Report Builder 2.0)
Add a text box to a report when you want to display literal text for titles, descriptions, and labels, or dynamic text based on expressions. An expression can contain literal text, point to a field in the database, or calculate data. All expressions are shown as placeholder text so that you can format numbers, colors and other appearance properties. You can also combine placeholders with literal text in order to format text with multiple fonts, colors, styles, and actions. For more information, see Formatting Text and Importing HTML (Report Builder 2.0).
Every cell in a table or matrix (a tablix data region) contains a text box, which can be formatted in the same way as stand-alone text boxes in a report. To show repeating text boxes in a free-form layout, arrange multiple text boxes in a list data region. Use a list when you want to repeat the form for multiple values, for example, a customer information sheet repeated once for each customer. Use a rectangle container when you want to control the text box layout and white space below the last text box. For more information, see Working with Data Regions (Report Builder 2.0).
By default, text boxes are a set size. If you want to allow a text box to expand vertically based on its contents, right-click the text box and click Text Box Properties. On the General tab, check Allow height to increase. To allow the text box to shrink based on its contents, check Allow height to decrease. These options correspond to the CanGrow or CanShrink properties in the Properties pane, respectively.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Community Additions
ADD
Show:
© 2015 Microsoft


text:
ALUMINA- X-Ray Analysis; MATHEMATICAL TRANSFORMATIONS - Fourier Transforms; SILICA - X-Ray Analysis; X-RAYS - Scattering; SMALL-ANGLE X-RAY SCATTERING; VORONOI CELL MODELS
Small-angle X-ray scattering (SAXS) can be used to obtain interphase surface areas of a system, such as a supported-metal catalyst, composed of internally homogeneous phases with sharp interphase boundaries. Measurements of SAXS for samples of porous silica, alumina, platinum on silica, and platinum on alumina are reported. A variety of models and forms for the correlation function, the Fourier transform of which gives the X-ray scattering, are considered, and theoretical and measured intensities are compared. A criterion of fit for comparing models with different numbers of parameters is proposed. It is shown that values for the single interphase surface area can be obtained independently of a model. However, fitting intensities using a model-based correlation function gives information about the structure of the system. The two-cell-size Voronoi and the correlated Voronoi cell models are useful in this regard.
Brumberger, H., Delaglio, F., Goodisman, J., & Whitfield, M. (1986). SMALL-ANGLE X-RAY SCATTERING ANALYSIS OF CATALYSTS: COMPARISON AND EVALUATION OF MODELS. Journal of Applied Crystallography, 19(pt 5), 287-299.
Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.


Mad March Hare
Brown Hares (Lepus europaeas)
Hares have declined in recent years but we are still lucky in Norfolk to be one of the areas in the country to still have them .Their decline is due to changes in agriculture ie, intensified farming, size of fields, lack of hedges and the pesticides and weed killers used.
No other British mammal is better able to survive in a totally open habitat, where the cold, windy or rainy weather is as much of a challenge to survival as eluding predators, than the Brown Hare.
March is one of the best times to see them courting before the lush spring growth obscures them. They can be seen leaping around a lot, chasing each other and even standing on their hind legs and boxing ….no they are not Mad ("Mad as a March Hare") they are just full of the joys of Spring.
Male and female Hares are know as Jack and Jill and the boxing bouts can be either two Jacks fighting over one Jill or A Jill seeing off an over-insistent Jack!
Firstly you need to be able to distinguish them from their cousin the rabbit! Hares are much larger (about twice the size of a rabbit) with much longer black-tipped ears and longer-limbed and swifter than rabbits. The brown hare can run at 50kmph (30mph) and relies on speed to escape.
Also a main difference is that it breeds on the ground rather than in a burrow. The young are brought up in hollows in the ground called a "form"
The babies called "leverets" are born in their own form and there can be two or three in a litter. What is more, the Mother (Jill) gently carries the leveret in her mouth away from the "form" to feed it so no smell of suckling can be detected by predators to lead them there.
Unlike rabbits they do not live in large family groups. It is strictly herbivorous. It eats grasses and herbs during the summer months but changes to feeding on twigs, bark, and the buds of young trees in winter making it a pest to orchard farmers.
Leave a Reply
Comments are moderated. This may take some time as there is no full time moderator for this site.
Your email address will not be published. Required fields are marked with a *


Electrostatics for exploring hydration patterns of molecules. 3. Uracil
Shridhar R. Gadre, K. Babu, Alistair P. Rendell
Research output: Contribution to journalArticlepeer-review
78 Citations (Scopus)
Fingerprint
Dive into the research topics of 'Electrostatics for exploring hydration patterns of molecules. 3. Uracil'. Together they form a unique fingerprint.
Biochemistry, Genetics and Molecular Biology
Chemistry
Pharmacology, Toxicology and Pharmaceutical Science


text:
Die Erkenntnis, dass der Handel mit fast custom writing
Mr Rochester A Byronic hero. Mr Rochesters growth is important to the unfolding of the plot but, as a secondary character, he is slightly less convincing than Jane Eyre.
Search Mega Essays on byronic hero . There are no results for byronic hero
Essays written about Byronic Hero including papers about Byronic hero and Romanticism. Google+; Byronic Hero. Rochester, in Jane Eyre…
Compare Contrast Eyre Expectations Essays Charlotte Brontes Jane Eyre and Charles DickensGreat Expectations The third is the Byronic hero,


What Do Snails Need to Live?
Snails need food and oxygen to live.
-•• Comstock/Comstock/Getty Images
Snails are a group of shelled mollusks with species found in many habitats such as freshwater, seawater and land. Land snails, although better known than other types, represent only a small group. Marine snails are the most numerous and biodiverse group.
All snail species need oxygen, food, water and adequate temperature and humidity to live. Present in human life since ancient times, many terrestrial snails are considered garden pests. Snail eating is common in some cultures and the creatures can be farmed as gastronomic delicacies.
Snail Food
Snails are omnivorous animals, which means they can eat food from plant and animal sources. Snail food can come from a variety of materials, such as decomposing plants and invertebrates, and any type of leaf or algae.
However, different snail species can have distinct food preferences.
The giant African land snails (Achatina fulica) -- which are popular pets in some countries but also serious agricultural plagues and illegal to keep in the U.S. -- can eat any food crop, including lettuce, cucumber and cabbage.
The wood snail feeds mainly on decaying organic matter, nettles and buttercups, while water snails eat small invertebrates and algae.
Like most animal species, snails need oxygen to survive. Most land snails, and some marine and freshwater species, have a single lung, where the exchanges between oxygen and carbon dioxide occur.
Aquatic species have to come to the surface to breathe, in order to take the atmospheric oxygen. Pond snails, bladder snails, ram's horn snails, the common land snail and freshwater limpets are examples of snails that breathe through lungs.
Some snails, such as water nerites, bithynias and mud snails, have gills instead of lungs, and can only take the oxygen dissolved in the water.
Like most living creatures, both land and water snail species need to drink water to survive.
Land snails drink from small puddles formed on leaves or on the ground, but they also get their water from the juicy leaves they eat.
Marine species take saltwater when feeding, but have an excretory mechanism to eliminate excessive salt quantities they ingest.
Adequate Temperatures and Humidity
Optimum temperatures vary according to species, but most land snails prefer warm temperatures from 65 to 80 degrees Fahrenheit and high-humidity environments. Sphincterochila boissieri, which is found in Egypt and Israel, and can withstand temperatures of up to 120 degrees Fahrenheit.
However, this species lives in a dormant state for most of the time, becoming active only after the rain. Some species of the genera Arion and Deroceras are found in temperate climates, but are also adapted to live in polar climates.
Terrestrial snails, as their name suggests, live on land but that land must be able to meet the snail's needs. Forest floors, gardens and marshes all provide moist conditions for land snails to thrive. Hiding under leaf litter or at the base of leafy plants allows snails to avoid the drying effects of the sun.
Freshwater snails can live in lakes, rivers and even man-made ponds. The bottom sediments, or substrates, of these water bodies influences which snail species can survive there. If you are preparing a pet snail habitat, ensure that the substrate is adequate for your snail species.
From tropical coral reefs to the dark, cold oceans depths, marine snails are found in a variety of saltwater habitats. Here they can feed on algae and decaying marine plants. Some are even carnivorous.
Habitats within the ocean vary by species. Some are free floating, like plankton while others, like the purple sea snail, remain attached to various sea creatures.


text:
awthorne comes from the Anglo-Saxon word, haegthorn which means hedge thorn and the Old Saxon word haw which means hedge. Beginning May 13th and continuing through June 9th, the Celtic Tree Month of the Hawthorne takes place. For many years, the Hawthorne has lined the hedge groves of England. In the Middle Ages it was referred to as the May tree. It was called this because of the blooms that covered the tree during the month of May. Garlands of the blossoms were hung over doorways during the Beltane celebration.
The Hawthorne is part of the triad of faerie trees. Ash and Oak being the other two. They are said to represent the three realms of underworld, middle world, and upper world. All three trees are often used for the traditional Maypole which is an important part of the Beltane celebration. Hawthorne is also one of the nine sacred woods for a sabbat fire in which it represents purity.
Although the Hawthorne was highly celebrated during the month of May and Beltane, it was considered unlucky at any other time of the year. This was due largely to the early Christian church in its attempts to sway pagans away from their pagan ways. With the Hawthorne's close ties to the faeries the priest would manipulate so called faerie pranks into evil misdeeds. Drawing the pagans away from the actual Beltane festivities was another thing, as it was a time to celebrate the sexual union of Goddess and God and sexuality in general. It was not as easy to convince the pagans to not participate.


text:
The role of ammonium, calcium, and ethylene in the development of the physiological disorder early bunch-stem necrosis of Vitis vinifera L. c.v. 'Cabernet Savignon'
Early bunch-stem necrosis (EBSN) is a physiological disorder which can severely affect fruit set in grapevines. Poor set due to EBSN has been responsible for up to 50% crop losses in many New Zealand and Californian vineyards. The specific cause(s) of EBSN are unclear. Involved researchers presently acknowledge EBSN's correlation with site specific stress(es), with most maintaining that EBSN is the grapevines acclimation response to a reduced carbon status, with damage symptoms mediated through elevated rachis NH₄⁺ levels. The experiments reported here investigated the influence of NH₄NO₃, (NH₄)₂SO₄, CaCl₂, ethephon, and α-ketoglutarate treatments on the leaf and opposing inflorescence of single node Cabernet Sauvignon (Vitis vinifera L.) cuttings. Results from these investigations concluded that: • Incubation of cuttings in ethephon concentrations of 0.1 and 1 mM induced significant levels of EBSN. • Incubation of cutting in 10, 20, 30 mM NH₄NO₃, 5, 10, 15 mM (NH₄)₂SO₄, and 10, 20, 30 mM CaCl₂ induced only 'EBSN-like symptoms'. • Incubation of cuttings in 0.1, 1, and 10 mM α-ketoglutarate induced no significant reduction in EBSN or EBSN-like symptoms. Secondly ethylene production levels by excised grape inflorescences following NH₄NO₃, (NH₄)₂SO₄, CaCl₂, ethephon, and α-ketoglutarate treatments were measured. Conclusions drawn from investigations were that: • Incubation of cuttings in 0.1, 1, and 10 mM ethephon significantly increased ethylene production by excised grape inflorescences. • Incubation of cuttings in NH₄NO₃ or (NH₄)₂SO₄ treatments did not significantly influence ethylene production by the excised inflorescence. • Incubation of cuttings in CaCl₂ treatments did not significantly influence ethylene production by the excised inflorescence. • Incubation of cuttings in 0.1, 1, and 10 mM α-ketoglutarate treatments significantly increased ethylene production by excised grape inflorescences. The above conclusions clearly support the involvement of ethylene in the development of, and manifestations associated with, EBSN. The involvement of NH₄⁺, Ca²⁺ and α-ketoglutarate however remains unclear.... [Show full abstract]


Metal Detecting In Illinois?
You Should Know The Law
If you want to go metal detecting in Illinois, there are laws to follow. The most important law is the ARPA law which I will explain below.
You should also be aware of any laws in city, town, or villages of Illinois. Some of the parks may have laws against detecting.
The ARPA law is the main law that dictates how any of the following laws that have been written since ARPA can be implemented. It's important that you familiarize yourself with ARPA.
Individuals have been arrested for breaking these laws.
ARPA (Archeological Resources Preservation Act).
Visit my laws page for the ARPA explanation and some of the problems people face who break this law.
In addition to the above ARPA law, the State of Illinois also follows the strict ruling of the 1966 "National Historic Preservation Act", which states:
"The National Historic Preservation Act (NHPA) was enacted in 1966 to protect the Nation's historical
resources from increasing development and expansion pressures by establishing a comprehensive national
historic preservation policy. It defines historic properties to encompass a broad interpretation of American
history and acknowledges significance at all levels, not just nationally. Furthermore, historic properties are
now understood and appreciated as part of—not isolated from—the landscape in which they belong. Implementation
of this act is mainly through 36 Code of Federal Regulations (CFR) part 63, Determinations
of Eligibility for Inclusion in the National Register of Historic Places, and 36 CFR part 800, Protection of
Historic Properties. The regulations that implement the NHPA and their accompanying guidance documents
formulate a proactive national policy on historic preservation. It specifically directs federal government
agencies to take historic preservation into account in planning their initiatives and actions. Thus, the
federal government is now a full partner and a leader in historic preservation."
"The NHPA defines historic preservation as "the
protection, rehabilitation, restoration and reconstruction
of districts, sites, buildings, structures, and objects
significant in American history, architecture,
archaeology, or culture."
As confusing as the above laws may seem, do not dig anything that you believe is an artifact, or anything that is older than 100 years.
Especially if you are on any State Lands.
For metal detecting in Illinois town, village and city parks, you'll need to check with those local officials.
Metal Detecting In Illinois?
Know The Laws!
Metal detecting in Illinois on public lands or parks may be allowed. However, for each area you need to apply for a permit. You cannot remove any items of historical significance from the State lands.
1787 Colonial Copper found while metal detecting
Do Not Let These Laws Stop You From Detecting in Illinois
I receive many emails from people who are upset with the laws that restrict our ability to enjoy the hobby. Many individuals just give up, and their detectors end up in the closet, never to be used again. That's the wrong approach. What you should do if your considering quitting the hobby, is to stay with it. If we quit, the beauracrats, and the archaeologists who want to see our hobby destroyed, will win.
My home page is all about metal detecting in eastern ghost towns. Have you ever tried metal detecting in Illinois ghost towns?
Are You Interested In A Metal detector Or Accessories?
5 Ways to Earn Money with a Metal Detector
Thanks for visiting!
Metal Detector Insider Blog
Treasure Hunting EBooks


text:
Resources - Homeschool Groups - Article
This article was published in the HSLDA Discount Groups E-Zine, March 2007.
Guest Article: A Mom Shares Her Perspective—
Making Families of Handicapped Students Welcome
By Esther Mast
Given that homeschoolers come in all shapes and sizes, it is not surprising to find a few in wheelchairs. The local homeschool group is in a position to make these students feel as valued and included as possible. There are a few practical ways to do this:
First of all, keep the physical limitations of handicapped students in mind when planning group activities. Try to arrange at least a couple events a year that can include everyone, even those who can't kick a ball or run races. Such awareness of limitations is especially important when planning a field trip. A considerate coordinator will research the proposed location well beforehand and inform the pupil's parents about accessibility issues, so that there is less chance of an unpleasant surprise on arrival.
In addition, all students must be treated with respect by their homeschooled peers. Even if the venue of an activity is physically accessible, a handicapped student may feel out of place if other people constantly stare, ask awkward questions, or try to be too helpful by pushing the wheelchair for him. Remember, it is not the responsibility of the handicapped family to educate the entire group on demand, they have enough stress as it is. Make it a priority to teach proper courtesy to your own able-bodied children; if you must ask, direct a tactful question to the parents privately. If a handicapped student senses that others are uncomfortable around him, he will also feel very uncomfortable.
A wheelchair indeed places certain restrictions on the student and her family and homeschool group. With thoughtful planning and good manners, however, it need not be a hindrance to the homeschool experience.
The Masts have homeschooled eight children, four of whom have graduated and gone on to college. One of these college students is in a wheelchair.


Portuguese Traditional Bakers
This documentary is about the traditional bakers of Portugal. In some Portuguese villages bread is still prepared as it was prepared many centuries ago, with knowledge transmitted from generation to generation, from grandparents to parents, from parents to children.
Many older people still go to the traditional bakery to chat with the other villagers while they wait for the bread to bake. Formerly, on long winter nights, traditional bakeries were the places where the villagers met and chatted all night while they warmed. They were true social centres of the village. Often the villagers would bring their pots to the bakery so that the baker could cook the food in the bread oven.
These ovens were called the "people's oven" because they belonged to all the villagers of the village. In the past, it was up to each villager to light the oven, there was a list to announce who had the task.
Nowadays it is still possible to see these ovens of the people working, it is often the bakers themselves who activate them to show the new generations how bread was made in grandparents' time. These bakers today own modern bakeries, but they like to once in a while activate the old oven of the people.
These photographs were taken in villages in northern Portugal.
Villages : Pitões das Junias, Provesende and Favaios, Portugal
Untitled photo
Powered by SmugMug Owner Log In


Open-Sourcing Our Netdiag Crate
Will Glozer -
Kentik Labs is happy to announce the release of our first open-source Rust crate, netdiag, which provides scalable, asynchronous, implementations of a number of low-level network diagnostics including ping, trace, and a custom diagnostic we call knock. Netdiag is at the core of our synthetics product which monitors application and network performance using a global network of public and private agents.
Netdiag is built on top of tokio and the raw-socket crate. Diagnostic instances are Send and Sync so concurrent tasks can share the same underlying open sockets and state. This provides for efficient execution of many concurrent diagnostic tasks. Both IPv4 and IPv6 are supported for all diagnostics.
The following async code snippet from netdiag's ping example demonstrates using Pinger to stream ping results:
let pinger = Pinger::new(&Bind::default()).await?;
let ping = Ping { addr, count, expiry };
let stream =;
while let Some((n, item)) = {
 match item? {
 Some(d) => println!("seq {} RTT {:0.2?} ", n, d),
 None => println!("seq {} timeout", n),
Pinger::new takes a Bind reference that allows using a specific IPv4 and/or IPv6 source address. This can be useful on a host with multiple routable interfaces.
let pinger = Pinger::new(&Bind::default()).await?; returns a Stream of Some(Duration) or None results to indicate no response was received before the expiry time elapsed. StreamExt.enumerate is a convenient extension to Stream that returns the current iteration count in addition to the next value.
let stream =;
Writing async code in Rust is quite pleasant in general, however it isn't uncommon to run into ergonomics issues around pinning. stream must be pinned via futures::pin_mut prior to calling
Pinger and the ping module implement the classic ping diagnostic which uses ICMP echo request & reply packets to estimate round-trip-time (RTT) and packet loss to a host.
Ping is a simple and well-known diagnostic tool that gives a reasonably good view of network latency and packet loss in the general case. However it may not accurately reflect application performance as ICMP traffic can be handled differently than typical application protocols such as TCP and UDP.
Tracer and the trace module implement the classic traceroute diagnostic which sends UDP, or TCP, packets with an increasing time-to-live (TTL) to determine each hop in the route between source and destination. Examining latency and packet loss for each node in a route can help pinpoint network performance issues.
The netdiag trace implementation discovers multiple paths between source and destination by sending multiple probes per hop while varying the packet header. UDP probes increment the destination port for each probe while TCP probes increment the sequence number instead to allow targeting a specific destination port.
Unix implementations of traceroute usually default to sending UDP probes, however networks may block, rate-limit, or otherwise alter the profile of UDP traffic. TCP probes can bypass some or all of these issues.
Knocker and the knock module implement a custom diagnostic which performs a partial TCP handshake to estimate RTT and packet loss. Knock can provide a more accurate view of application performance since most application traffic uses TCP and networks often block or rate-limit ICMP traffic.
IPv4 & IPv6
IPv4 and IPv6 support for ping is relatively simple. ICMP raw sockets do not need the IP header when sending, and the ICMPv4 and ICMPv6 echo packet format is identical. However the ICMP type differs, the ICMP checksum must be calculated for ICMPv4, and a IPv4 raw socket receives the IP header while a IPv6 raw socket does not.
IPv4 and IPv6 support for knock & trace is more complicated. Sending and receiving TCP & UDP packets with an IPv4 raw socket require encoding & decoding the IP header. With IPv6 raw sockets the kernel manages the IP header and ancillary data is used to send and receive IP fields such as hop limit and destination address.
The raw-socket crate supports ancillary data via CMsg and the control buffer passed to the send_msg & recv_msg methods of RawSocket.
Rust at Kentik
Rust is one of the core languages used for systems development at Kentik. We rely on a significant amount of open-source software and are happy to be able to contribute back to that community. Our netdiag crate is in active use in hundreds of locations worldwide, powering tens of thousands of active diagnostic tasks, and we hope others find it useful too. And if you are a programmer interested in Rust or any of the topics covered in this post, we're hiring!


Predefined Entities
Predefined Entities / Traits in FamixNG
To analyze a system in a given programming language, Moose must have a meta-model for that language. For example, for Java the meta-model defines that Java programs have classes, containing methods, invoking other methods, etc. The meta-model describes the entities that compose a program in the given language and how they are related.
On another page, we explain how to define a meta-model: create new entities, define relationships, properties, etc. On this page, we present the library of predefined entities that is part of FamixNG and helps declaring new entities by offering typical properties / relationships that are needed.
In FamixNG, recurrent properties are modeled into traits. New entities are created as classes composed from these existing traits. Some common entities (like Packages) are also proposed, precomposed with common traits. Here we list all currently available traits.
FamixNG is still under development, and the library of available traits is subject to change. The following should nevertheless help users make sense of the more than one hundred traits available.
Categories of traits
First, one can divide the set of traits into four categories:
They are described as follows:
Association Traits
Association traits model the fact that an entity is used (referred to) in the source code. Such a reference creates an association between the using entity (refers to) and the entity that is used (is referred to). This includes the four associations of the old Famix: Inheritance, Invocation (of a function or a method), Access (to a variable), and Reference (to a type).
Associations should be thought of as n-to-m relationships between entities. For that reason, they are reified into their own traits. Associations define two roles (from and to) to identify both ends of the association. Using an association involves:
 - defining a class representing the association (for example, Access, using the trait FamixTAccess)
 - defining two classes at each end of the association (for example, Function using the trait FamixTWithAccess, and Variable using the trait FamixTAccessible).
There are five full-fledged associations in FamixNG:
 - FamixTAccess, from: FamixTWithAccess, to: FamixTAccessible
 PlantUML Image
 - FamixTInheritance, from: FamixTWithInheritance, to: FamixTWithInheritance
 PlantUML Image
 - FamixTInvocation, from: FamixTWithInvocation, to: FamixTInvocable, for OO programs, there is an extra receiver: FamixTInvocationReceiver
 PlantUML Image
 - FamixTReference, from: FamixTWithReferences, to: FamixTReferenceable
 PlantUML Image
 - FamixTTraitUsage, from: FamixTWithTrait, to: FamixTTrait
 PlantUML Image
To these five we added two more specialized "associations": DereferencedInvocation (call of a pointer to a function in C) and FileInclude (also in C). These do not reify the association as a separate entity, but they might do so in the future. For now there are only two traits to put at each end of the relationship:
 - FamixTDereferencedInvocation and FamixTWithDereferencedInvocations
 PlantUML Image
 - FamixTFileInclude and FamixTWithFileInclude
 PlantUML Image
Technical Traits
Technical traits do not model programming language entities but are used to implement Moose functionalities.
Currently, this includes several types of FamixTSourceAnchors that allow recovering the source code of the entities. A typical FamixTSourceAnchor contains a filename, and start and end positions in this file.
PlantUML Image
Technical traits may also implement software engineering metric computation (TLCOMMetrics), or ways to model the programming language used (all SourceLanguage), or be used to implement the generic MooseQuery engine.
PlantUML Image
Property Traits
Property traits model composable properties that source code entities may possess. Some examples are FamixTNamedEntity (entities that have a name), FamixTTypedEntity (entities that are statically typed), or a number of entities modeling ownership: FamixTWithGlobalVariables (entities that can own FamixTGlobalVariables), FamixTWithFunctions (entities that can own FamixTFunctions), …
There are 46 property traits currently in FamixNG including 38 traits modeling ownership of various possible kinds of entities (FamixTWith...).
Terminal Traits
Terminal traits model entities that can be found in the source code such as Functions, Classes, Exceptions, … These entities are often defined as a composition of some of the property traits. For example, FamixTClass is composed of: FamixTInvocationsReceiver (class can be receiver of static messages), FamixTPackageable, FamixTType (classes can be used to type other entities), FamixTWithAttributes, FamixTWithComments, FamixTWithInheritances, FamixTWithMethods.
The name terminal trait refers to the fact that they can be used directly to create a programming language concept (a class, a package), whereas property traits are typically composed with other traits to make a meaningful programming language concept.
There are 38 such terminal traits currently in FamixNG.