text:
A Guide to Chinese Water Dragons
December 5, 2021
The Chinese water dragon (scientific name Physignathus cocincinus) is a green lizard native to China and several southeast Asia regions. They are known for living near flowing creeks, small ponds, and other fresh water bodies in forested areas. Chinese water dragons are becoming increasingly popular as pets. They typically live 10 to 15 years in the wild, and have specific care requirements to ensure they meet this life expectancy in captivity.
Chinese water dragon's appearance
Chinese water dragons look like small iguanas, and range from light to dark green in color. Male water dragons have black speckling on their body, and their throat is blue, red, orange, yellow, or a combination. Females typically have blue striping along their back, and a bright pink throat. Males typically grow to about three feet, while females usually average about two feet in length.
Water dragons have an incredibly long tail, which can make up nearly two-thirds of their total body length. Their slim front limbs are used for gripping and climbing, while their muscular hind limbs are used for climbing and running bipedally. They have long toes with extremely sharp, curved claws that can harbor bacteria. When handling Chinese water dragons, wear gloves to prevent scratches.
Chinese water dragon's temperament and behavior
Chinese water dragons are typically friendly, and enjoy being handled. However, allow your new pet to become acclimated to their environment before you begin handling them, to ensure they do not become stressed. After a few weeks, you can gradually begin interacting. Regular handling is recommended, to ensure your Chinese water dragon does not become aggressive. If threatened, Chinese water dragons may bite or whip their tail.
Chinese water dragons are active lizards, and enjoy swimming and climbing on rocks, trees, branches, and plants. They are also social animals, and tend to do better when kept in pairs.
Chinese water dragon's diet
Chinese water dragons are omnivores, and can be voracious eaters. They should be fed based on their age:
- Hatchlings to 3 months — At this age, water dragons should be fed feeder insects, such as pinhead crickets, daily. They can also receive small mealworms once or twice a week.
- 3 to 5 months — At this age, offer larger crickets, wax worms, and small roaches. They should also start receiving leafy greens, which are high in vitamins and calcium. If they refuse to eat the greens, you can smear banana on the leaves, to make the vegetables more enticing.
- 5 to 12 months — Chinese water dragons go through a growth spurt during this time period. In addition to insects and leafy greens, they can be offered fruits, such as blackberries, blueberries, grapes, and thin banana and peach slices, once or twice a week. A pinky mouse can also be offered once or twice a month.
- 12 months and older — Adult water dragons do not maintain weight well, because their high activity levels mean they burn calories quickly. They should be fed adult crickets, large roaches, superworms, and nightcrawlers, and occasionally small mice.
All insect prey should be gut loaded to ensure they provide the proper nutritional value. A good insect gut load should include nutritious fruits, fish flakes, vegetables, grains, or chicken starter feed. Commercial products can also be purchased to gut load the insects. Avoid wild caught insects, since they may contain pesticides. Also avoid fireflies, because they may be toxic to water dragons.
Sprinkle the dragon's food with a calcium supplement daily, and a multivitamin once or twice a week. Ensure that chlorine-free water is available at all times in several dishes, including one large enough for soaking. Clean and refill the water dishes at least once a day.
Chinese water dragon's habitat
Chinese water dragons cannot perceive glass, so they will continually run up against and rub their noses on glass walls. Therefore, fish tanks are not appropriate enclosures for water dragons. Considerations when setting up their enclosure include:
- Size — The minimum size for an adult Chinese water dragon enclosure is six feet long, two to three feet wide, and five to six feet tall.
- Humidity — The humidity should be kept around 80 percent during the day, and 60 percent at night. Live potted plants can help keep the enclosure humid, and mist can be sprayed as needed throughout the day.
- Lighting — Chinese water dragons require UVB light. A UVA/UVB bulb is preferable, and should be used to create a 12-hour-on and 12-hour-off schedule, to replicate a day and night cycle.
- Temperature — The enclosure should have a temperature gradient. One end should be kept at about 85 degrees during the day and 75 degrees at night. A basking spot kept at least 90 degrees should be provided at the other end. This can be achieved using a basking light, a ceramic heat element, or tank heat pads.
- Decor — Choose bedding, such as sterilized potting soil, sphagnum moss, or peat, that will not cause an impaction if ingested. Provide numerous branches for climbing, and place some branches horizontally near the warmer end for basking. Live plants, including pothos, dracaena, hibiscus, ficus, and staghorn ferns, are also good additions.
Chinese water dragon grooming and hygiene
Chinese water dragons regularly shed their skin, so their enclosure's humidity level must be appropriate to allow proper shedding. To facilitate shedding, they should also have access to a large water container in which they can submerge. A hide box containing sphagnum moss can also help the shedding process.
Chinese water dragon breeding
Chinese water dragons can breed all year round, producing a clutch every one to two months. If allowed to continue, this can be deadly for the female water dragon, since her nutrients, especially calcium, will go toward egg development. Breeding pairs must be separated between breedings, to allow the female to recover and maintain a healthy weight. Once the eggs are laid, they need to be kept in an incubator under exact temperature and humidity conditions, to prevent egg failure, deformities, or death shortly after hatching. Breeding is a difficult endeavor, and should be left to experienced Chinese water dragon keepers.
Common chinese water dragon health issues
Chinese water dragons experience a few common health issues, including:
- Mouth rot — Chinese water dragons often rub or bang their head, nose, or chin on enclosure walls. This behavior can result in sores that, if not treated appropriately, can become infected and lead to mouth rot.
- Metabolic bone disease (MBD) — This often fatal condition is caused by inadequate calcium in the water dragon's diet, or inadequate exposure to UVB light. MBD can lead to softened bones and deformities. Signs include lethargy and swollen limbs.
- Dystocia — Also known as egg binding, this condition can occur in females. Mating is not necessary for females to lay eggs, and an egg can become stuck inside their body. Signs include lethargy and inappetence.
- Respiratory disease — Chinese water dragons can develop respiratory diseases if their habitat is too cold or damp. Signs include labored breathing, and mucus discharge from the nose or mouth.
- Gastrointestinal disease — Bacterial or parasitic infections can result in gastrointestinal disease. Signs include decreased appetite, runny stools, and caked or smeared stool around the vent area.
If your Chinese water dragon is exhibiting any concerning signs, consult an exotic animal veterinarian who is comfortable treating this species.
Selecting a Chinese water dragon
Purchase your Chinese water dragon from a reputable breeder or pet store. Water dragons bred in captivity are more likely to adjust to being kept as a pet. Wild-caught Chinese water dragons are also usually infected by internal and external parasites.
Chinese water dragons can make excellent pets, but they do require significant care to ensure they remain happy and healthy. If you are looking for an exotic animal veterinarian in your area, VetVet can help you find the right veterinary professional for your Chinese water dragon.
_URL_ Reptilesmagazine.com 2018
_URL_ Thesprucepets.com 2019
Stay In Touch
Have a question?
Feel free to get in touch with us anytime.


The Stage Simulator
The Stage Simulator
Stage is part of the Player/Stage software package developed at the University of Southern California Robotics Research Lab and HRL Labs. Player is a device server that can be used to control robots just like Pyro. Stage is a multi-robot simulator that provides facilities for creating your own environments for experimenting with robots.
In this section, we will present the core features of Stage that you will need for building simulated worlds for your Pyro robot experiments. For more information on Player/Stage visit [WWW]their web site. There is extensive documentation available for Stage. You can find it either at the Player/Stage web site, or look in the doc folder of your Player/Stage installation on your computer.
The Stage User Interface
The window below shows an example of a Stage simulated environment.
It contains several colored boxes as well as a pioneer-style robot.
In the Stage window, you can pan and zoom the world as well as manipulate entities by using your mouse. You can click your mouse buttons on the background or on the entities. The following table summarizes various mouse click bindings and actions:
Clicks on the background
Left-click and drag pans the window
Right-click and drag toward the center of the window zooms in
Right-click and drag the mouse away from the center zooms out
Clicks on entities
Left-click and drag moves the entity
Right-click and drag rotates the entity
Additionally, when you move your mouse over an active entity, like a robot, you will also get a visualization of all the enabled sensors of the entity.
Stage Entities
Every Stage world is made up of entities which can be active or passive. Passive entities are also called objects in Stage parlance. Active entities are also called devices. Objects, or passive entities, are things like models and bitmaps. Bitmaps are used to define fixed obstacles that can represent building floor plans, walls, boulders, etc. and are loaded from a PNM bitmap file. PNM is a portable any map file format. Models can be any size and can also be used to represent obstacles as well as robot enclosures. For example, if you create a large models and then place a robot inside it, the walls of the model will become the boundary for the robot. If you placed smaller models inside the larger model containing the robot, then those become blocks or obstacles.
The other kind of entity one can have in a Stage world are devices. For example, a robot is a device that can be positioned anywhere in the world. Other devices include things like a gripper, sonar, laser, ptz (pan-tilt-zoom camera), etc. Generally, these devices will be mounted on a robot device. Stage has the capability of defining composite devices. Thus you can define a robot that has a gripper and sonars, or another one that has sonars and a PTZ camera, etc.
Robot Devices
By convention, you typically define a simulated robot for Stage worlds based on the actual robot that you have. You compose it to contain all the devices the robot carries. Then, you can create several different environments and include your robot device definition in it. For example, the Stage software includes a file named that defines a typical pioneer-style robot with 16 sonars. This robot can be used in any Stage world.
Creating a World
Once we have defined a robot, we can concentrate on creating a world for it. Because Stage is currently undergoing a major upgrade, there is still not much documentation on how to create worlds. However, we can demonstrate how the simple world shown above was created.
Creating a world in Stage involves creating two files. The first is the configuration file and always ends with a.cfg extension. For example, the file tutorial.cfg is shown below.
 name "stage"
 provides ["7000:simulation:0"]
 plugin "libstageplugin"
 worldfile ""
 name "stage"
 provides ["position:0" "sonar:0"]
 model "Pioneer"
Next you must define the world file, which has a.world extension. This defines all the entities that will appear in the world. Each world file typically has the following:
 A specification of units.
 A specification of the Stage GUI window and the coordinate system.
 A list of all passive entities and their attributes.
 A list of all robots and their attributes.
The tutorial world shown above is 5 meters wide and 5 meters high. It contains a blue rectangle, two green rectangles, and a red pioneer robot.
All commands that specify entities in Stage worlds have the following syntax:
 ( ... )
Where is the name of the entity, and that is followed by a list of attribute value pairs enclosed by parenthesis. You can format the command on a single line or multiple lines. Attributes for entities depend on the kind of entity. A rectangle (called a model), may have a color, a position and an orientation.
Specifying Units and Resolution
 unit_length "m"
The above command is the proper syntax for specifying units for length. We have set it to meters. This is also the default in case you do not specify any units. However, we recommend you do this. This specification should also be consistent with your robot definition, so you should be careful and fix this once and for all. You can use meters (m), centimeters (cm), or millimeters (mm) for units of length and degrees or radians for specifying angles.
The GUI Window and the Coordinate System
You have to specify the size of the GUI window in pixels as well as the center point and scale.
 size [540.000 580.000]
 center [0.000 0.000]
 scale 0.01 # 1 pixel = 0.01 meters
Since our world will be 5x5 meters, at 0.01 meters/pixel, we will need at least 500 pixels for the GUI window. We generally pad this so that the window borders are also included. The center of the window will be considered the origin.
Specifying Passive Entities
In the world that we are building there are several objects. First there is the outer box which encloses the environment. This can be defined as follows.
 size [5.0 5.0]
 color "white"
 pose [0.000 0.000 0.000]
In the above definition, the box is 5x5 meters, thus defining the world boundary. It is colored white, and its position is defined by three numbers which specify the x and y coordinates of the center of the box and its orientation (in degrees). Thus the box is centered at the point (0.0, 0.0 ) and its orientation is 0 (0 degrees lies along the positive x-axis).
Next there are a series of inner boxes which represent obstacles. They can be defined as follows.
 size [1.0 1.0]
 color "blue"
 pose [-2.000 2.000 0.000]
 size [0.1 2.5]
 color "green"
 pose [0.000 -1.250 0.000]
 size [0.1 1.4]
 color "green"
 pose [0.650 0.000 90.000]
Specifying a robot
We will use the definition of a pioneer robot:
 color "red"
 name "Pioneer"
 port 6665
 pose [-2.000 0.000 90.000]
The port attribute is very important. This is the port number that the driver program will use to connect to the robot and control it.
Copy the following files from $PYROBOT/plugins/worlds/Stage/ to your home directory:
Modify the world above so that the robot is pointing west when the world is loaded into Stage. In order to get Pyro to load your version of the world, be sure to press the "Home" button when the list of worlds appears.
Try modifying some other attributes of the robot (like its color). Then, create a red diamond-shaped box (a box oriented 45 degrees) as an obstacle in the environment. Move your mouse on the robot and notice its sensors. Move the robot near the obstacle and try the same thing. How would you create walls in this environment?
Now would be a good time to look at the other world files provided there. This should give you a good idea of some other features of Stage. Remember to browse the Stage Manual for more information on Stage.
Next: The Gazebo Simulator Up: Robot Simulators


text:
Scientific Investigations Report 2010–5102
Groundwater mounding occurs beneath stormwater management structures designed to infiltrate stormwater runoff. Concentrating recharge in a small area can cause groundwater mounding that affects the basements of nearby homes and other structures. Methods for quantitatively predicting the height and extent of groundwater mounding beneath and near stormwater
Finite-difference groundwater-flow simulations of infiltration from hypothetical stormwater infiltration structures (which are typically constructed as basins or dry wells) were done for 10-acre and 1-acre developments. Aquifer and stormwater-runoff characteristics in the model were changed to determine which factors are most likely to have the greatest effect on simulating the maximum height and maximum extent of groundwater mounding. Aquifer characteristics that were changed include soil permeability, aquifer thickness, and specific yield. Stormwater-runoff variables that were changed include magnitude of design storm, percentage of impervious area, infiltration-structure depth (maximum depth of standing water), and infiltration-basin shape. Values used for all variables are representative of typical physical conditions and stormwater management designs in New Jersey but do not include all possible values. Results are considered to be a representative, but not all-inclusive, subset of likely results.
Maximum heights of simulated groundwater mounds beneath stormwater infiltration structures are the most sensitive to (show the greatest change with changes to) soil permeability. The maximum height of the groundwater mound is higher when values of soil permeability, aquifer thickness, or specific yield are decreased or when basin depth is increased or the basin shape is square (and values of other variables are held constant). Changing soil permeability, aquifer thickness, specific yield, infiltration-structure depth, or infiltration-structure shape does not change the volume of water infiltrated, it changes the shape or height of the groundwater mound resulting from the infiltration. An aquifer with a greater soil permeability or aquifer thickness has an increased ability to transmit water away from the source of infiltration than aquifers with lower soil permeability; therefore, the maximum height of the groundwater mound will be lower, and the areal extent of mounding will be larger.
The maximum height of groundwater mounding is higher when values of design storm magnitude or percentage of impervious cover (from which runoff is captured) are increased (and other variables are held constant) because the total volume of water to be infiltrated is larger. The larger the volume of infiltrated water the higher the head required to move that water away from the source of recharge if the physical characteristics of the aquifer are unchanged. The areal extent of groundwater mounding increases when soil permeability, aquifer thickness, design-storm magnitude, or percentage of impervious cover are increased (and values of other variables are held constant).
For 10-acre sites, the maximum heights of the simulated groundwater mound range from 0.1 to 18.5 feet (ft). The median of the maximum-height distribution from 576 simulations is 1.8 ft. The maximum areal extent (measured from the edge of the infiltration basins) of groundwater mounding of 0.25-ft ranges from 0 to 300 ft with a median of 51 ft for 576 simulations. Stormwater infiltration at a 1-acre development was simulated, incorporating the assumption that the hypothetical infiltration structure would be a pre-cast concrete dry well having side openings and an open bottom. The maximum heights of the simulated groundwater-mounds range from 0.01 to 14.0 ft. The median of the maximum-height distribution from 432 simulations is 1.0 ft. The maximum areal extent of groundwater mounding of 0.25-ft ranges from 0 to 100 ft with a median of 10 ft for 432 simulations.
Simulated height and extent of groundwater mounding associated with a hypothetical stormwater infiltration basin for 10-acre and 1-acre developments may be applicable to sites of different sizes. For example, for a 20-acre site with 20 percent impervious surface, the stormwater infiltration basin design capacity (and associated groundwater mound) would be the same as for a 10-acre site with 40 percent impervious surface.
A spreadsheet was developed to solve the Hantush analytical equation, which can be used to calculate groundwater mounding. The Hantush equation incorporates simplifying assumptions, including that all flow is horizontal. The spreadsheet accepts user-supplied values for horizontal soil permeability, initial saturated aquifer thickness, specific yield, basin length, basin width, and duration and magnitude of recharge rate. Comparison of results of finite-difference simulations of a multi-layer system that includes a vertical component of flow in the saturated zone with the results from the analytical equation indicates that the horizontal-flow-only assumption in the analytical equation can cause an under-prediction of the maximum height of a groundwater mound by as much as 15 percent. The more realistic representation of the vertical component of flow and the ability to include site-specific details make finite-difference models such as MODFLOW potentially more accurate than analytical equations for predicting groundwater mounding.
Updated: November 2010
Part or all of this report is presented in Portable Document Format (PDF); the latest version of Adobe Reader or similar software is required to view it. Download the latest version of Adobe Reader, free of charge.
Carleton, G.B., 2010, Simulation of groundwater mounding beneath hypothetical stormwater infiltration basins: U.S. Geological Survey Scientific Investigations Report 2010–5102, 64 p.
Purpose and Scope
Physical Variables Affecting Height and Extent of Groundwater Mounding
Soil Permeability and Aquifer Thickness
Percent Impervious Cover
Basin Shape and Depth
Depth to Water Table
Use of Finite Difference Numerical Models to Estimate Groundwater Mounding
Simulation of Groundwater Mounding Beneath Hypothetical Stormwater Infiltration Basins for a 10-Acre Development
Characteristics Varied to Estimate Groundwater Mounding
Model Boundaries, Recharge, and Difference Between Undeveloped and Developed Water Levels
Maximum Height of Groundwater Mounding
Maximum Extent of Groundwater Mounding
Simulation of Groundwater Mounding Beneath Hypothetical Dry Wells for a 1-Acre Development
Model Discretization, Boundaries, and Difference Between Undeveloped and Developed Water Levels
Use of Analytical Equations to Estimate Groundwater Mounding
Description of Hantush Equation
Spreadsheet for Solving Hantush Equation
Comparison of Analytical and Finite-Difference Estimates of Groundwater Mounding and Effect of Vertical Layering
Summary and Conclusions

source: HuggingFaceFW/fineweb-edu


text:
SOMETHING TO CHALK ABOUT
Chalksters™ unlock your child's creativity, holding their sidewalk chalk while giving them a comfortably secure grip. Each makes drawing easier and less messy thanks to a clever design that holds the chalk for them.
- They're sidewalk chalk toys with a creative twist!
- Holds your sidewalk chalk to maximize creative time
- Includes (3) pieces of sidewalk chalk
- Insert 1, 2, or all 3 pieces of chalk to make cool designs (Cloud, Robot, Rocket, Unicorn)
- Fits most standard sidewalk chalk refills
Chalksters grip your chalk. It Snaps shut, holding 1, 2, or all 3 pieces of chalk in place for synchronized designs they can be proud of.
Make Amazing Sidewalk Art
Choose from a variety of cool Chalkster characters to make your child's sidewalk art come to life! They can be a play partner or a gateway to creative play straight from their imagination. They're a great way to get outdoors in the driveway, on the sidewalk, schoolyard blacktop, or inside on art easels too.

source: m-a-p/FineFineWeb


text:
The Hard X-ray Nanoprobe beamline and endstation instruments (HXN) will be designed and constructed to explore new frontiers of hard x-ray microscopy applications with the highest achievable spatial resolution. Currently the available spatial resolution for scientific applications, provided by scanning x-ray microscopes in the hard x-ray regime, is limited to ~50nm, which is still insufficient for probing the nanoscale interfacial structures critical in determining properties and functionalities of material and biological systems. The HXN beamline aims to enable x-ray experiments at spatial resolutions ranging from 10 to 30 nm with an ultimate goal of ~1 nm.
The beamline is designed to minimize all possible sources of vibration and thermal drift. The conceptual design of the HXN beamline is optimized with the physical boundary conditions required to construct a satellite building physically isolated from the potential noise sources from the NSLS-II storage ring, experimental hall, and the adjacent lab-office building. This stability is needed to produce the ultimate goal of a 1 nm spot size.

source: openbmb/Ultra-FineWeb


The topic magnitude is discussed in the following articles:
analytic geometry
 - TITLE: mathematics
 SECTION: Analytic geometry
 ...significant conceptually, he set aside Viète's principle of homogeneity, showing by means of a simple construction how to represent multiplication and division of lines by lines; thus, all magnitudes (lines, areas, and volumes) could be represented independently of their dimension in the same way.
 - TITLE: mechanics (physics)
 SECTION: Vectors
 A vector is a quantity that has both magnitude and direction. It is typically represented symbolically by an arrow in the proper direction, whose length is proportional to the magnitude of the vector. Although a vector has magnitude and direction, it does not have position. A vector is not altered if it is displaced parallel to itself as long as its length is not changed.
 - TITLE: principles of physical science
 SECTION: Fields
 ...q2. The combination r/r3 is a vector in the direction of r, the line joining q1 to q2, with magnitude 1/r2 as required by the inverse square law. When r is rendered in lightface, it means simply the magnitude of the vector r, without direction. The...


Roy J. Glauber
Facts
Roy J. Glauber
Photo: J.Reed
Roy J. Glauber
The Nobel Prize in Physics 2005
Born: 1 September 1925, New York, NY, USA
Died: 26 December 2018, Newton, MA, USA
Affiliation at the time of the award: Harvard University, Cambridge, MA, USA
Prize motivation: "for his contribution to the quantum theory of optical coherence."
Prize share: 1/2
Work
According to quantum physics, which was developed at the beginning of the 20th century, light and other electromagnetic radiation appear in the form of quanta, packets with fixed energies, which can be described as both waves and as particles, photons. However, no real in-depth theory of light based on quantum theory existed before Roy Glauber established the foundation for quantum optics in 1963. This required the development of the laser. Its concentrated and coherent light gave rise to more quantum physical phenomena than regular light.
To cite this section
MLA style: Roy J. Glauber – Facts. NobelPrize.org. Nobel Media AB 2019. Sun. 25 Aug 2019. <_URL_
Back to top Back To Top Takes users back to the top of the page
Explore prizes and laureates
Look for popular awards and laureates in different fields, and discover the history of the Nobel Prize.


text:
Jasperson, Stephen N.
Keil, Thomas H.
Fuel cells offer clean energy by using hydrogen gas to produce electrical energy. Their limiting factor is that they use hydrogen gas, which must be produced by some alternate energy source. We investigated measures to enhance hydrogen production by irradiating an electrolysis unit with gamma rays. The experiments use an electrolysis cell and two gamma ray sources: Cs137 and a nuclear reactor. The objective was to compare the hydrogen gas production rates of the electrolysis cell exposed to these sources to the production rate with no irradiation. We observed a 19% increased rate with irradiation by Cs137 and 7% with the WPI reactor (with an experimental uncertainty of approximately 5% in both cases).
Worcester Polytechnic Institute
Major Qualifying Project
Access to this report is limited to members of the WPI community. Please contact a project advisor or their department to request access
Restricted-WPI community only


Extension
Adds features to the core application.
Table of Contents
 1. Structure
 2. Files
 1. .gitattributes
 2. .gitignore
 3. .htaccess
 4. LICENSE
 5. README.md
 6. about.page
 7. composer.json
 8. index.css
 9. index.js
 10. index.php
 11. index.png
 12. package.json
 13. state.php
 14. task.php
 3. Folders
 1. engine\
 2. index\
 3. state\
An extension doesn't necessarily have to modify the core functionality of your application. It can also serve as an API enhancer that does nothing until it's implemented in a specific layout and utilized by other extensions that depend on it.
Structure
Each extension is stored as a folder within the .\lot\x directory, with a distinct name:
.\
└── lot\
 └── x\
 ├── extension-1\
 ├── extension-2\
 ├── extension-3\
 └── …
The following files are typically included in a standard extension:
.\lot\x\extension-1\
├── engine\
│ ├── kernel\
│ │ └── extension-1.php
│ └── plug\
│ └── extension-1.php
├── .gitattributes
├── .gitignore
├── .htaccess
├── LICENSE
├── README.md
├── about.page
├── composer.json
├── index.css
├── index.js
├── index.php
├── index.png
├── package.json
├── state.php
└── task.php
Alternatively, if you prefer a minimalist approach, you can create an extension that consists solely of the index.php file, as demonstrated in this example:
.\lot\x\extension-1\
└── index.php
Files
.gitattributes
You can add this file to specify which files or folders should be excluded from the archive content when downloading a repository for production. Typically, this file contains a list of commands, such as the following example, which excludes the README.md file, including the .gitattributes file itself:
.gitattributes export-ignore
README.md export-ignore
.gitignore
This Git-specific file excludes certain files/folders from being committed to the repository, preventing accidental inclusion. However, it should be removed in the production version. Certain package files are also excluded, as they should be freshly installed using CLI commands rather than included in the repository for others to clone:
composer.lock
node_modules
package-lock.json
vendor
.htaccess
You can use this file to enable direct access to files with specific extensions within the folder. Keep in mind that for security reasons, all files in the .\lot folder are not directly accessible by default. Here's an example Apache server command that allows direct access to files with .css, .js, and .png extensions:
<Files ~ '[.](css|js|png)$'>
 Allow from all
</Files>
To improve readability, consider using the <FilesMatch> directive. Use the <Files> directive only to specify exact file names. Keep in mind that this approach can result in lengthy and cumbersome directives:
<Files 'index.css'>
 Allow from all
</Files>
<Files 'index.html'>
 Allow from all
</Files>
<Files 'index.js'>
 Allow from all
</Files>
<FilesMatch '^index\.(a?png|gif|jpe?g)$'>
 Allow from all
</FilesMatch>
LICENSE
Mecha is GPL-3.0 licensed, so include a paragraph in this file that specifies the same license.
README.md
This file isn't essential to the extension but may be necessary for the repository to appear complete on platforms like GitHub and GitLab. Since it's ignored in the .gitattributes file, it won't be included in the archive.
about.page
This file provides information that appears in the control panel's information page and functions similarly to the README.md file. It's designed to be read by the official control panel feature:
---
title: Extension Title
description: Extension description.
type: Markdown
author: Your Name
link: '_URL_'
version: 1.0.0
...
Extension usage instruction, written with Markdown syntax.
Below are commonly used about.page properties and their priority:
Name Priority Usage
author 2 Determines the extension's author.
color 3 Determines the extension's icon background color. This data is used exclusively by the control panel extension. Other extensions can use this data for other purposes or can simply ignore it.
description 2 Determines the extension's description.
icon 2 Determines the extension's icon path. This data is used exclusively by the control panel extension. Other extensions can use this data for other purposes or can simply ignore it.
image 2 Determines the extension's image preview.
images 2 Determines the extension's image previews, usually to be presented in a carousel.
link 2 Determines the extension's related link.
price 2 Determines the extension's default price.
prices 2 Determines the extension's price or prices details.
stroke 4 Determines the extension's icon color. This data is used exclusively by the control panel extension. Other extensions can use this data for other purposes or can simply ignore it.
title 1 Determines the extension's title.
type 2 Determines the page content's type.
version 1 Determines the extension's version. Without this property, the control panel's automatic extension version check feature might not apply to the extension.
External extensions can access this file like a regular page file:
$page = new Page(__DIR__ . D . 'x' . D . 'extension-name' . D . 'about.page');
echo '
' . $page->title . '
';
echo '
' . $page->description . '
';
echo '
' . $page->content . '
';
composer.json
Add this file to your extension repository to publish it on Packagist and enable installation via Composer commands. Ensure that the package name follows the correct pattern for our Composer plugin to install it correctly in the extension folder:
{vendor}/x.{folder}
Below is an example of a composer.json file for your extension repository, assuming it's already published on GitHub at _URL_
{
 "description": "Your extension description.",
 "name": "your-name/x.your-extension-name"
}
To make your extension available for installation via Composer, you'll need to create a stable version release in your repository and publish it on Packagist. You can do this by visiting _URL_ and following the instructions. Once your package is successfully published, others can install your extension using the following Composer command:
composer require your-name/x.your-extension-name
Your new extension should be installed in the .\lot\x\your-extension-name location smoothly.
index.css
This is a regular CSS file that is loaded in the extension. While it doesn't have to be named index.css, I recommend that you use this name as it pairs neatly with index.php. Once you create the file, ensure that it is publicly accessible by including it in the .htaccess file, and load it using the Asset extension in the index.php file.
index.js
If you have an index.css file, chances are you will also need to include this file. The rule for using and loading it is the same as the index.css file.
index.php
This file serves as the main entry point for an extension, and is automatically loaded each time the user accesses the application. You can also use this file to load any other files that you want to include in the extension:
<?php
// Load 'index.css' and 'index.js' files to the page
if (class_exists('Asset')) {
 Asset::set(__DIR__ . D . 'index.css');
 Asset::set(__DIR__ . D . 'index.js');
}
index.png
You can use this image to give a quick demonstration of how your extension would look like. The actual name of the image is not specific. In order to display this image in the extension information page, you need to manually register it in the image property of the about.page file. I suggest naming the image index.png as it pairs well with index.php:
---
title: Extension Title
description: Extension description.
image: /lot/x/extension-name/index.png
type: Markdown
...
Review the '.htaccess' file specification if the image is not displaying on the extension information page.
Typically, standard image dimensions for extension demonstration purposes have a 4:3 aspect ratio, and can be of any size, though commonly made with a width and height of 1024×768 or 1200×900 pixels. Additionally, you may also use other image extensions such as .gif and .jpg if necessary.
Image
package.json
This file is used exclusively by NPM and does not need to be stored in the extension folder


text:
Water policies play a critical role in good water governance and sustainable water development. The evaluation of water policies helps improve the quality of water policy systems and water governance. This study quantitatively evaluated water resource management policies through the policy modeling consistency (PMC) index model and a text-mining method based on national water resource management policy texts produced from 2011 to 2019. This study constructed an evaluation index system based on the water resource management policy's high-frequency words, including 9 first-level variables and 43 second-level variables; furthermore, it compared and analyzed key water resource policies based on the PMC index and PMC surface. The results showed that China's water resource management policies are generally applicable, but it needs to be improved. China's water resource management policies are reasonable in terms of policy nature, policy function, policy priority, and function level, and need to be further improved in terms of policy prescriptions, incentive constraints, policy fields, policy evaluations, and policy priorities. This study thus provided a scientific basis for the optimization of water resource management policies and water governance capacities in China.
The key water resource management policies in China have been evaluated through the hybrid method that includes PMC model, text mining, and content analysis.
An evaluation index system has been constructed based on the high-frequency words of policy texts, including 9 first-level variables and 43 second-level variables.
This study compared and analyzed key water resource policies based on the PMC index and PMC surface.


text:
Stepping up the numbers who walk to school
Thursday, 18 October 2012
Hampshire County Council is working with the national charity, Living Streets, to encourage more school pupils to walk part, or all of the way, to and from school.
Working with primary and secondary schools over three years
Based on the countrywide 'Walk to School' campaigns, two specialists from the charity will be working, over three years, with primary and secondary schools in Hampshire to encourage them to revisit and update their School Travel Plans, and to take up Living Streets' initiatives aimed at motivating more parents and pupils to walk to school. The package of measures they can offer include their successful 'WoW' (Walk Once A Week) campaign for primary schools, and 'Free your Feet' or 'Campaign in a Box' interventions for secondary schools. A number of schools will also benefit from intensive support to identify and tackle barriers to walking, as well as to promote walking to school and its benefits.
Schools with greatest potential to increase walking selected
On behalf of the County Council, the Living Streets officers will work with 122 primary schools and 26 secondary schools over the next three years. These schools have been selected because they have been identified as having the greatest potential to increase walking: these are schools where a high proportion of pupils are driven to school despite even though many of them live within walking distance.
The Hampshire Hands Up School Survey (2010) indicated that more than 60,000 cars in Hampshire either drive a longer route or travel during peak periods to take children to school, which increases congestion. Walking, scooting or even cycling to school can go a long way towards reducing the number of cars on the road, as well as achieving the Department of Health's recommended target of 60 minutes of exercise a day for children. More active ways of getting to school can also help to build confidence and contribute to the development of children's independence. An added bonus is that parents can save on increasing fuel costs.
Councillor Mel Kendal, Deputy Leader and Executive Member for Environment and Transport, commented:
"In the UK, over half of primary school children do not walk to school regularly. Although this is unavoidable in some cases, being driven to school every day can mean that children miss out on learning valuable lessons about road safety and how to keep themselves safe.
"This project is part of the 'My Journey' campaign, to encourage people to consider their travel options for everyday journeys and to try alternative ways of travelling instead of in their car. Leaving the car at home can save people money, increase their level of physical activity and help to reduce congestion and carbon emissions, particularly on roads in the vicinity of our schools.
"It also complements the County Council's existing, long term road safety work with young people in primary and secondary schools such as: the Streets Ahead pedestrian training for children age six and seven years, Bikeability cycle training for young people and the recently launched StreetSense campaign focused on secondary school age pupils."
Living Streets' Chief Executive, Tony Armstrong, said:
"We help 1.9 million children a year walk to school by tackling the barriers to walking and we're delighted to be working with the County Council to help deliver the benefits in Hampshire. Parents tell us that the journey to school is less stressful, their petrol bill goes down, their children perform better at school and that they, and their children, feel healthier and fitter. Reducing gridlock on roads near the school gates not only improves road safety for pupils and local residents, but has benefits for everyone in the local community."
A partnership of eleven local authorities across the country made a successful bid for £4.8 million from the Department for Transport's Local Sustainable Transport Fund and it is this that will fund the three year project. The objectives of the Government's fund are to reduce congestion at peak times, and to reduce carbon and greenhouse gas emissions


js_of_ocaml-compiler
 1. Overview
 2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type t
val raise_ : t -> 'a
val attach_js_backtrace : exn -> force:bool -> exn
Attach a JavasScript error to an OCaml exception. if force = false and a JavasScript error is already attached, it will do nothing. This function is useful to store and retrieve information about JavaScript stack traces.
Attaching JavasScript errors will happen automatically when compiling with --enable with-js-error.
val of_exn : exn -> t option
Extract a JavaScript error attached to an OCaml exception, if any. This is useful to inspect an eventual stack strace, especially when sourcemap is enabled.
exception Exn of t
The Error exception wrap javascript exceptions when caught by OCaml code. In case the javascript exception is not an instance of javascript Error, it will be serialized and wrapped into a Failure exception.


TIODRV – The REXYGEN system input/output driver with tasks
Block SymbolLicensing group: STANDARD
PIC
Function Description
The TIODRV block is used for configuration of special drivers of the REXYGEN system which are able to execute tasks defined by the IOTASK blocks. See the corresponding driver documentation.
The prev input of the IOTASK block must be connected with the Tasks output of the TIODRV block. If the driver allows so, the next output of a TIODRV block which is already included in the configuration can be used to add more tasks. The next output of the last task remains unconnected. On the contrary to standard tasks, the number and order of the driver's tasks are not checked by the REXYGEN Compiler compiler but by the input-output driver itself.
If the driver cannot guarantee periodic execution of some task (e.g. task is triggered by an external event), a corresponding flag is set for the given task. Such a task cannot contain blocks which require constant sampling period (e.g. the majority of controllers). If some of these restricted blocks are used, the executive issues a task execution error, which can be traced using the REXYGEN Diagnostics program.
Input
prev
Input for connecting the driver with the Drivers output of the EXEC block or with the next output of the preceding driver
Long (I32)
Outputs
next
Output for connecting to the prev input of the succeeding driver
Long (I32)
Tasks
The IOTASK blocks executed by the driver are connected to this output using the prev input
Long (I32)
Parameters
module
Name of the module, which includes the input/output driver (mandatory only if module name differs from classname)
String
classname
Name of the driver class; case sensitive! DrvClass
String
cfgname
Name of the driver configuration file iodrv.rio
String
factor
Multiple of the EXEC block's tick parameter defining the driver's task execution period 1 10
Long (I32)
stack
Stack size of the driver's task in bytes 1024 10240
Long (I32)
pri
Logical priority of the driver's task 1 31 3
Long (I32)
timer
Driver is a source of time
Bool
2022 © REX Controls s.r.o., _URL_


text:
Localized charge bifurcation in the coupled quantum dots
We analyzed theoretically localized charge relaxation in a double quantum dot (QD) system coupled with continuous spectrum states in the presence of localized electrons Coulomb interaction in a single QD. We have found that for a wide range of system parameters charge relaxation occurs through two stable regimes with significantly different relaxation rates. A peculiar time moment exists in the system at which rapid switching between stable regimes takes place. We consider this phenomenon to be applicable for creation of active elements in nano-electronics based on the fast transition effect between two stable states.


conf and bl_io.conf files. For example:
testuser bw max sda,sdb,sdc _PHONE_
This applies the limit of _PHONE_ B/s for the user testuser on devices /dev/sda, /dev/sdb, and /dev/sdc.
Modern Linux systems, however, do not always guarantee the assignment of devices, which can lead to issues with limits not being applied to the correct device.
To ensure limits are applied to the correct device, the use of inc= and exc= directives along with (or instead of) device names provides greater flexibility in defining where limits are applied.
The inc= and exc=' directives take an extended regular expression for mount points. For example, the line:
testuser bw max sda,inc="/home|/backup",exc="/mnt1|/mnt2" _PHONE_
Applies the limit of _PHONE_ B/s throughput to device /dev/sda, the devices that are mounted at "/home" and "/backup" (and would also include, for example, "/home2", "/media/home3" - the values are regular expressions and can appear anywhere within the mount point), but would exclude any mount point that includes "/mnt1" or "/mnt2" (including "/mnt21", "/mnt/mnt1" - as with the "inc=" directive). Including ^ and $ in the regex will force a match at the begining or end.
Another example for this using regular expression that will apply the limit of 1MiB/s to any mounted block device except those mounted under /var or /tmp
testuser bw max inc="^/",exc="^/var|^/tmp" _PHONE_
In this example we want to limit all the mounted block devices, except the temporary mounted devices, usually mounted under /mnt or /media.
 - add the line below to /etc/betterlinux/bl_groups_io.conf:
testgroup uid _PHONE_
 - Then add the line below to /etc/betterlinux/iothrottled/bl_io.conf:
testgroup bw max inc="^/",exc="^/mnt|^/media" _PHONE_
The evaluation of these expressions always follows the order of:
 1. Explicit device names
 2. Devices mounted in the "inc" list
 3. Devices mounted in the "exc" list
Exclusions will ultimately override the other values in the list.
Consider the following list of mounted devices:
/dev/sda1 mounted at /
/dev/sda2 mounted at /home
/dev/sdb1 mounted at /media/backups
/dev/sdb2 mounted at /usr
/dev/sdc1 mounted at /mnt/home
/dev/sdc2 mounted at /srv/www
/dev/sdd1 mounted at /srv/ftp
With the following restrictions in bl_io.conf:
testuser bw max sda,sdd,inc="/home",exc="/srv" _PHONE_
The result would be:
sda would be included
sdb would be excluded
sdc would be excluded
sdd would be excluded
So the only device controlled by BetterIO in this scenario would be /dev/sda. The controls are applied per block device, not on a per-partition basis - so if a partition is excluded from control, all partitions on that block device will be excluded.
When configuring your system, it is important to take this into consideration - you do not want your swap partition to be throttled by BetterIO, but if you put swap on /dev/sda and control /dev/sda with BetterIO, you may end up impacting performance on the system in ways you may not intend to.
Examples include/exclude:
/dev/sda1 on /
/dev/sda2 on /home
/dev/sdb1 on /home2
/dev/sdc1 on /home3
/dev/sdd1 on /home4
testuser bw max inc="/home",exc="/home2"
The rexeg's are matched against the left of the mount point. So the include matches /home1, /home2, /home3, /home4 and the exclude matches /home2 only. So the result is:
/dev/sda included
/dev/sdb excluded
/dev/sdc included
/dev/sdd included
Example Exclude:
/dev/sda1 on /
/dev/sda2 on /home
/dev/sdb1 on /src
/dev/sdb2 on /usr
/dev/sdc1 on /extra
testuser bw max exc="/src"
/dev/sda included
/dev/sdb excluded
/dev/sdc included
How does auto scaling work?
The auto_scale parameter is an on/off toggle switch for enabling or disabling the auto scale feature. The auto scaling algorithm is applied to overall bandwidth utilization or iops giving the system administrator the ability provide more bandwidth to a defined set of users when it's available. The auto_scale throttling is applied when all the users in the defined groups are going above the target disk utilization percentage defined in the seek_balancing_method option.
When setting the value for the auto_scale parameter, an integer is entered that represents the on/off values:
0 = auto scaling off
1 = auto scaling on
Auto scaling is controlled by these parameters:
scale_min - defines the minimum percentage the scaling algorithm may scale down in order to reach the target disk utilization.
scale_max - defines the maximum percentage the auto_scaling algorithm may scale up to in order to reach the targeting disk utilization.
seek_balancing_method - sets the value for the target disk utilization used by the auto_scale and seek_balancing algorithms. This is achieved by dynamically adjusting the defined I/O limits. Setting this value close to 100 will use more of the total disk bandwidth, but will leave less room for new I/O users. Setting this parameter value under 100 will provide more breathing room for new I/O users or the non-throttled users. For example, if the target utilization is 80%, the device will has a free disk bandwidth of 20% for non-throttled users.
To understand how these parameters are related to each other, consider the following scenario:
With the following line in /etc/iothrottled/bl_io.conf:
testuser bw max sda _PHONE_
And in /etc/iothrottled/iothrottled.conf.d/bl_io.conf:
auto_scale 1
scale_min 200
scale_max 50000
seek_balance_method 80
Assume in this scenario the current disk utilization is 0.001%. The seek_balance_method percentage is divided by current disk utilization for a total of 80,000 which is higher than the scale_max of 50000. The global multiplier is now set to 50,000 and all the I/O limits for the users in the defined group are multiplied by the 50,0000% and there for given 500MB/s of disk I/O.
How does seek balancing work?
The "seek_balancing" parameter is an on/off toggle switch for enabling or disabling the I/O seek balance feature. The seek balancing algorithm enables dynamic adjustments of a single users limits based on whether a device is congested or not. The seek balancing algorithm applies additional dynamic adjustments to the users that are doing more expensive I/O operations in respect to the other I/O users in the system.
When setting the value for the seek_balancing parameter, an integer is entered that represents the on/off values:
0 = seek_balancing off
1 = seek_balancing on
To understand how these parameters are related to each other, consider the following scenario:
With the following line in /etc/iothrottled/bl_io.conf:
testuser bw max sda _PHONE_
And in /etc/iothrottled/iothrottled.conf.d/bl_io.conf:
seek_balancing 1
seek_balancing_method 80
The seek_balancing feature will simply calculate the actual disk utilization along with the seek_balancing_method percentage (target amount) to find the best balance of I/O to throttle the user hogging too much of the disk bandwidth (iops or throughput).
How can one test to see if BetterIO is controlling devices?
A simple and quite dramatic way to see BetterIO limiting I/O is to set a lower threshold for a user that is very small. For example, create a user called testuser and log in as that user. Run the following command:
sync; dd if=/dev/zero of=temp.fil bs=1M count=10 oflag=direct; rm temp.fil
The results from that command for an unmanaged user would be similar to this screenshot:
Iothrottled blocking devices.png
If we then modify the /etc/iothrottled/bl_io.conf file to include the line:
testuser bw max inc="/" 500000
and rerun


text:
Animal Species:Red Little Gurnard Perch, Maxillicosta raoulensis (Eschmeyer and Poss, 1976)
As its common name suggests, the Red Little Gurnard Perch is a small species of scorpionfish that unlike other species of Maxillicosta, has a red body.
Fresh Red Little Gurnard Perch specimens have reddish bodies with yellowish pectoral and pelvic fins. Other members of the genus Maxillicosta, have whitish bodies with brownish or blackish blotches and whitish pectoral and pelvic fins.
M. raoulensis can also be distinguished from other Australian species of Maxillicosta by having 25-27pectoral fin rays (versus 20-23) and 14-17 gill rakers (versus 10-13).
The species grows to approximately 13 cm.
The Red Little Gurnard Perch is common in New Zealand, especially the Kermadec Islands. Four specimens were recently recorded from Australian waters (off New South Wales and the Lord Howe Rise). The Red Little Gurnard Perch is probably widely distributed on the oceanic ridges of the south-western Pacific Ocean.
The map below shows the Australian distribution of the species based on public sightings and specimens in Australian Museums. Source: Atlas of Living Australia.
Distribution by collection data
- Eschmeyer, W.N. and S.G. Poss. 1976. Review of the scorpionfish genus Maxillicosta (Pisces: Scorpaenidae), with a description of three new species from the Australian-New Zealand region. Bulletin of Marine Science. 26(4): 433-449.
- Motomura, H., Last, P.R. & W.T. White. 2005. First records of a scorpionfish, Maxillicosta raoulensis (Scorpaeniformes: Neosebastidae), from the Tasman Sea, with fresh colour notes for the species. Biogeography, 7: 85-90.
Mark McGrouther, Collection Manager, Ichthyology


text:
Salary sacrifice refers to an employee agreeing to give up the right to receive a portion of their salary. This is used to provide a benefit, which is typically free of tax and National Insurance (NI) for employees. Employers can also save up to 12.8% on NI.
Such arrangements on benefits are commonly seen in voluntary benefit packages today, and some popular schemes include childcare vouchers, bike loans, mobile phones and car parking.
However the list of salary sacrifice benefits extends to health screening, work-related training, travel to work, and meals or food vouchers.
If structured correctly, contributions to a defined contribution pension scheme can also be offered through salary sacrifice arrangements within a voluntary benefits scheme in order to gain tax and NI advantages.


Spiral nerve cuff electrode for recordings of respiratory output
Mesut Sahin, Musa A. Haxhiu, Dominique M. Durand, Ismail A. Dreshaj
Research output: Contribution to journalArticlepeer-review
33 Scopus citations
Abstract
The feasibility of using the spiral nerve cuff electrode design for recordings of respiratory output from the hypoglossal (HG) and phrenic nerves is demonstrated in anesthetized, paralyzed, and artificially ventilated cats. Raw neural discharges of the HG nerve were analyzed in terms of signal-to-noise ratios and frequency spectra. The rectified and integrated moving average activity of the HG nerve had a peak value of 1.74 ± 0.21 μV and a baseline value of 0.72 ± 0.11 μV at elevated respiratory drive induced by increases in CO2 or oxygen deprivation when recorded with 10-mm-long cuffs. The frequency content of the HG electroneurogram extended from several hundred hertz to 6 kHz. Spiral nerve cuff recordings without desheathing of the nerve provided large enough signal-to-noise ratios that allowed them to be used as a measure of respiratory output and had much wider frequency bandwidths than the hook electrode preparations. A major advantage of the cuff electrode over the hook electrode was its mechanical stability, which significantly improved the reproducibility of the recordings both in terms of signal amplitudes and frequency contents.
Original languageEnglish (US)
Pages (from-to)317-322
Number of pages6
JournalJournal of Applied Physiology
Volume83
Issue number1
DOIs
StatePublished - Jul 1997
Externally publishedYes
All Science Journal Classification (ASJC) codes
 - Physiology
 - Physiology (medical)
Keywords
 - Hook electrode
 - Hypoglossal nerve
 - Nerve recording
 - Phrenic nerve
 - Power spectrum analysis
Fingerprint Dive into the research topics of 'Spiral nerve cuff electrode for recordings of respiratory output'. Together they form a unique fingerprint.
Cite this


Date of Paper
Type of Paper
Clinical research paper
Degree Name
Master of Social Work (M.S.W.)
Social Work
First Advisor
Kendra Garrett, Ph.D., LICSW
Social Work
This study aimed to explore the question: do American, millennial men that try to achieve masculine ideals have less ability to express themselves emotionally and do they have less positive mental health and well-being? The population sample gathered consisted of 44 American, male participants between the ages of 35 and 21. The data was measured via a survey that consisted of two questionnaires, the Gender Role Conflict Scale and the Warwick-Edinburgh Mental Well-Being Scale as well as several demographic questions consisting of a total of 55 questions for the survey. The survey was administered online via Qualtrics Survey Software. The design of the study was a quantitative, correlational design. The results did not find a significant, positive relationship between gender role conflict and mental health and well-being or between emotional expression and mental health and well-being. Participants in this study had an average of moderate levels of gender role conflict (not severe levels of gender role conflict) and average mental well-being scores suggesting that men may be experiencing less gender role conflict pressures than men from previous studies. Gaining understanding and perspective on how this could affect men may be beneficial towards understanding what new generations of men are struggling with and how they may differ from previous generations.
Included in
Social Work Commons


Plugin Planet
Premium WordPress Plugins
Here is a quick tutorial explaining how to assign specific categories to submitted content. For example, you have three categories and three forms. You want the submitted posts for each form to go to its assigned categories. Here is how to make it happen.
Let's say that you have a form for which all submitted posts should be assigned to the category "donuts", which has a category ID of "99". Easy. Just add the following hidden field anywhere in the form:
Change the value "99" to match the category ID that you would like to use and done. Multiple categories work too, just separate multiple IDs with commas, like so:


text:
Soils make a vital contribution to Scotland's environmental, economic and social well-being. The report 'The State of Scotland's Soil' by Natural Scotland provides a picture of their current state and describes what can be done to protect them.It was led by SEPA and written and collated by scientists from a range of Scottish research institutes, universities and other public bodies.
The report aims to raise awareness of the importance of soils to inform people of the key environmental issues relating to soil, and to encourage debate on how to progress towards a sustainable Scotland. It builds on earlier reports by SEPA (2001) and the Scottish Government's Environmental research report Scotland's Soil Resource – current state and threats (Towers etal., 2006). The full report is available on the SEPA website at;


Angular 2 – How to get template reference variable or directive instance inside component
In this post let us see how to get Angular 2 directive/child component instance inside the parent component class.
ViewChild in action
The ViewChild decorator can be used to achieve this requirement.
The ViewChild accepts either the directive type or the template reference variable as argument and set the directive instance to the target property after the view get initiated.
@Component({
 selector: 'child-cmp',
 template: '
child
'
})
class ChildCmp {
 doSomething() {}
}
@Component({
 selector: 'some-cmp',
 template: '<child-cmp></child-cmp>',
 directives: [ChildCmp]
})
class SomeCmp {
 @ViewChild(ChildCmp) child:ChildCmp;
 ngAfterViewInit() {
 // child is set
 this.child.doSomething();
 }
}
The ViewChild will set the target property once the component view get rendered hence accessing the property before the view get initiated will return inappropriate result.
You can use the ngViewAfterInit lifecycle hook to identify the view initialization.
Argument as Directive type vs template variable
Using argument as template variable ViewChild is best from my point of view as it will provide access to specific directive instance when having more than one directive in the template.
@Component({
 selector: 'some-cmp',
 template: '<child-cmp #child></child-cmp>',
 directives: [ChildCmp]
})
class SomeCmp {
 @ViewChild('child') child:ChildCmp;
 ngAfterViewInit() {
 // child is set
 this.child.doSomething();
 }
}
Happy Scripting.. 🙂
DOM creation and manipulation tips and tricks
In this post, I would like to share a simple DOM creation and manipulation technique which will provide some performance boost.
The goal of this post is to improve browser DOM manipulation performance by reducing unwanted reflow and repaint process. If you are unaware of them you should go through the below topic before getting started with this post.
Reflow and repaint
Use Document fragment
This is an already known technique. Using document fragment allow the separation of DOM creation from live document so that it will avoid unnecessary browser reflow and repaint.
var fragment= document.createDocumentFragment();
fragment.appendChild(document.createElement("div"));
Clone nodes
Cloning already created element using cloneNode. This will be helpful when creating large number of same element. Mostly likely it can be used while creating table tr elements from JSON.
var fragment= document.createDocumentFragment();
var div = document.createElement("div");
fragment.appendChild(div.cloneNode(false));
Batch DOM update
Always batch the DOM update. Batch the DOM changes will reduce browser reflow and repaint.
Using requestAnimationFrame for DOM changes
This technique will provide a considerable performance when changing the live document. requestAnimationFrame will be used to update the DOM changes when the next reflow/repaint happens.
Normally it is introduced to do smooth animation experience in browser but here we can use this to do a single DOM update.
requestAnimationFrame(function(){
 document.body.appendChild( document.createElement("div") );
});
Use insertAdjacentHTML instead of innerHTML
This will be used when we need to append dynamic content to the same element.
We can use the innerHTML as follows.
var div = document.createElement("div");
div.innerHTML ="Hi" //
Hi

div.innerHTML += " Dude"; //
Hi Dude

But the above one have significant performance impact as it needs to re-parse all the child element already present.
To overcome this we can use insertAdjacentHTML which will append the inner HTML without touching the other elements. It only parses the new HTML need to be appended.
var div = document.createElement("div");
div.innerHTML = "Hi"; //
Hi

div.insertAdjacentHTML("afterend", " Dude"); //
Hi Dude

Following the above methods will provide a better performance in most of the modern browsers.
Happy scripting….
Replace () as call back function
We know that the replace() method will return a new string based on the pattern and its corresponding replacement argument.
Here the pattern can be either general string or regular expression that we normally use. And for replacement argument in most cases we use string as replacement. But there is an extensible facility to use this replacement as call back function.
Here we go with a small example code snippets.
Code Snippets:
var numbers = '34 55 27 45 72',
type1 = numbers.replace(/\d+/g, '*'),
type2 = numbers.replace(/\d+/g, function (item) {
return +item < 50 ? '*' : item;
});
console.log("simple replace() : ", type1);
console.log("replace() with call back function : ", type2);
Fiddle Demo
Note:
The call back function will be invoked for the each matched set of an item, when the first parameter regular expression is declared as global.
Deleter – Node based directory removing tool
My first node package deleter, has been released. Its a CLI, which is used to remove directories. I come up with idea to create this when i faced difficulties in deleting node_modules from my node based applications.
Installation
npm install deleter -g
Since it is a CLI, global installation is preferred.
Usage
deleter <directory-name>
Example
deleter node_modules
Limitations
For now, its target for windows operating system and other OS will be considered in upcoming updates.

Why new keyword should be used while instantiating JavaScript class
The new keyword is used to instantiate prototypical class or other objects. But why we need new keyword to initialize it, when you to try to initialize it without new will not throw any error at all then why should I use new before my class to instantiate it.
The answer is simple new keyword will set the 'this' to the new object created using function instead of global scope".
If you didn't provided new keyword then the context will be set to window(global scope).
You can see the difference in the below code example.
var fn = function (){
 this.a = 2;
 return this;
}
Instantiating fn without new keyword.
 var f = fn(); //'this' refers window here.
Instantiating fn with new keyword.
 var f = new fn(); //'this' refer object created by 'fn' here.
Even though using new keyword is the best practice to instantiate class, most of the time, the users will skip them as it doesn't provide any error at all.
We can use the below simple workaround to enforce the instantiating process using new keyword. Then the above fn will become as below.
 var fn = function (){
 if(!(this instanceof fn)) //workaround to resolve this problem.
 return new fn();
 this.a = 2;
 return this;
}
Now instantiating without new will also set this to the current object.
 var f = fn(); //this refer to fn here.
Instantiating class/function without new keyword in ES6 will throw TypeError.
Happy Scripting… 🙂
Some alternative use of bit wise operators
In this blog, I am just going to share some of the alternative use of the bitwise operators.
1. Replace Math.floor with double ~~.
Even though JavaScript Math library is well optimized, we can use the bitwise operators to reduce some keystrokes.
~~3.4 //result : 3
2. Convert to Boolean using !!
Double NOT operator is used to convert any type into Boolean.
var d = &quot;Hi&quot;;
!!d //result : true
var f = null;
!!f //result : false
3. Swap values without temp variable using XOR.
It is the one of the common method used to swap two variables without using temp variable.
var a = 5, b= 6;
a ^= b; b ^= a; a ^= b; //result a = 6, b = 5;
4. Using left and right shift with 1 bit to perform multiply and division.
Left shifting a number 1 bit is equivalent to the result obtained by multiplying it by 2 and right shifting 1 bit is equivalent to dividing it by 2.
var d = 4, f = 6;
d >> 1 //result : 4 * 2 = 8
f << 1 //result : 6 / 2 = 3
5. Checking odd/even


Gas-phase synthesis of phenyl oxoborane (C6H5BO) via the reaction of boron monoxide with benzene
J Org Chem. 2013 Dec 6;78(23):11896-900. doi: 10.1021/jo401942z. Epub 2013 Nov 19.
Abstract
Organyl oxoboranes (RBO) are valuable reagents in organic synthesis due to their role in Suzuki coupling reactions. However, organyl oxoboranes (RBO) are only found in trimeric forms (RBO3) commonly known as boronic acids or boroxins; obtaining their monomers has proved a complex endeavor. Here, we demonstrate an oligomerization-free formation of organyl oxoborane (RBO) monomers in the gas phase by a radical substitution reaction under single-collision conditions in the gas phase. Using the cross molecular beams technique, phenyl oxoborane (C6H5BO) is formed through the reaction of boronyl radicals (BO) with benzene (C6H6). The reaction is indirect, initially forming a van der Waals complex that isomerizes below the energy of the reactants and eventually forming phenyl oxoborane by hydrogen emission in an overall exoergic radical-hydrogen atom exchange mechanism.


KnowledgeWorks and Prolog User Guide > 4 Objects > 4.2 Relational Database Objects
4.2.1 Example
(sql:def-view-class vehicle
 (standard-db-object standard-kb-object)
 ((vehicle_no :db-kind :key)
 (owner :db-kind :join
 :db-info (:home-key :keeper
 :foreign-key person_id
 :retrieval :deferred
 :join-class person))))
defines a database class vehicle where the person object in the keeper slot is retrieved from the person table in the database using the value of the keeper slot as key, only when queried. In the list of superclasses, standard-kb-object should appear after sql:standard-db-object.


text:
Three approaches for construction of a surrogate model of a result field consisting of multiple physical quantities are presented. The first approach uses direct interpolation of the result space on the input space. In the second and third approaches a Singular Value Decomposition is used to reduce the model size. In the reduced order surrogate models, the amplitudes corresponding to the different basis vectors are interpolated. A quality measure that takes into account different physical parts of the result field is defined. As the quality measure is very cheap to evaluate, it can be used to efficiently optimize hyperparameters of all surrogate models. Based on the quality measure, a criterion is proposed to choose the number of basis vectors for the reduced order models. The performance of the surrogate models resulting from the three different approaches is compared using the quality measure based on a validation set. It is found that the novel criterion can effectively be used to select the number of basis vectors. The choice of construction method significantly influences the quality of the surrogate model.
- Multiphysical field
- Proper orthogonal decomposition
- Surrogate model
- Truncation criterion


Tag Archives: food
An urban communal garden
Pflanzstelle, socio-cultural and urban agriculture in Cologne: A city garden community In the current context of the crisis in Europe, a sense of individualism increase between the Europeans countries and between people in a country. In a social point of view, cleavages become important between different socials classes and conditions of life. Behind these observations, some people found alternative communities who allow building social links. Then, in Germany, Cologne, I have met the "Pflanzstelle" which means the place where we
Battle of the Culture Bulge
Living in a foreign country means getting used to a new lifestyle. Everything is differentthe culture, the weather, the language. Some are capable of learning the new language, but sadly on my Erasmus in Germany, I wasn't. Instead, I put my energy (and my stomach) to good use, and explored the different food. I heard about Bratwurst and Sauerkraut, but oh, I didn't hear of the endless supply of bakeries filled with sweet pastries and treats galore. Of course
The Waste is gone with the Wind
The world has seven billion people. The figure of human being is increasing and the resources are low. Scientists are telling since many years that the water will be very low in future. Do we have also enough to eat? An enormous food waste has to be stopped immediately against the environmental pollution and to alleviate the world hunger. After a Quotation by the German federal ministry of agriculture, alimentation and consumer-protection (BMELV) every German throws food with an economical
Life of a vegetarian
Being a vegetarian means that you don t eat meat. No chicken, no fish, no cow or pig. As simple as it sounds… My grandma never really got it. "I know you don't eat meat…but you could eat at least sausages." At the age of three I stopped eating meat. I started realizing where the steak on my plate came from. My grandma might be the reason why I did. She had a little farm with a few chickens, rabbits,
« Older Entries


XPathMessageContext XPathMessageContext XPathMessageContext XPathMessageContext Class
Definition
Defines several XPath functions and namespace mappings commonly used when evaluating XPath expressions against SOAP documents.
public ref class XPathMessageContext : System::Xml::Xsl::XsltContext
[System.ComponentModel.TypeConverter(typeof(System.ServiceModel.XamlIntegration.XPathMessageContextTypeConverter))]
public class XPathMessageContext : System.Xml.Xsl.XsltContext
type XPathMessageContext = class
 inherit XsltContext
Public Class XPathMessageContext
Inherits XsltContext
Inheritance
Attributes
Remarks
The XPath engine has full XPath context support and uses the .NET Framework's XsltContext class in the same way that XPathNavigator does to implement this support. XsltContext is an abstract class that allows developers to implement custom XPath function libraries and declare XPath variables. XsltContext is an XmlNamespaceManager and thus also contains the namespace prefix mappings.
The filter engine implements an XsltContext named XPathMessageContext. XPathMessageContext defines custom functions that can be used in XPath expressions and it declares several common namespace prefix mappings. The following table lists the custom functions defined by XPathMessageContext that can be used in XPath expressions.
XPath Function Description
body Returns the SOAP Body node, regardless of SOAP version (1.1. or 1.2).
header Returns the SOAP Header node, regardless of SOAP version (1.1 or 1.2).
correlation-data Takes an input string and returns the value of the associated correlation message property. 'wsc-instanceId' is a reserved string used for context-based correlation.
messageId Returns the value of the WS-Addressing MessageID header.
relatesTo Returns the value of the WS-Addressing RelatesTo header, regardless of version (August2004 or WSA 1.0).
replyTo Returns the value of the WS-Addressing ReplyTo header, regardless of version (August2004 or WSA 1.0).
from Returns the value of the WS-Addressing From header, regardless of version (August2004 or WSA 1.0).
faultTo Returns the value of the WS-Addressing FaultTo header, regardless of version (August2004 or WSA 1.0).
to Returns the value of the WS-Addressing To header if present, else it returns Anonymous.
action Returns the value of the WS-Addressing Action header.
soap-uri Returns the SOAP namespace uri.
headers-with-actor Takes a SOAP Actor uri and returns all headers that contain that actor, regardless of SOAP version (1.1 or 1.2).
actor Returns the SOAP Actor uri of the first child node, regardless of SOAP version (1.1 or 1.2).
is-mandatory Returns whether or not the first child node is mandatory, regardless of SOAP version (1.1 or 1.2).
is-actor-next Returns whether or not the SOAP Actor uri of the first child node assumes the Next role, regardless of SOAP version (1.1 or 1.2).
is-actor-ultimate-receiver Returns whether or not the SOAP Actor uri of the first child node assumes the UltimateReceiver role, regardless of SOAP version (1.1 or 1.2).
date-time Takes an input date string and returns the value converted to a double.
duration Takes an input timespan string and returns the value as a total number of days.
utc-now Returns the value of UtcNow.
The following table lists the default namespaces and namespace prefixes that are declared by XPathMessageContext.
Prefix Namespace
s11 _URL_
s12 _URL_
wsaAugust2004 _URL_
wsa10 _URL_
sm _URL_
tempuri _URL_
ser _URL_
Constructors
XPathMessageContext() XPathMessageContext() XPathMessageContext() XPathMessageContext()
Creates an instance of XPathMessageContext.
XPathMessageContext(NameTable) XPathMessageContext(NameTable) XPathMessageContext(NameTable) XPathMessageContext(NameTable)
Initializes a new instance of the XPathMessageContext class with the specified NameTable.
Properties
DefaultNamespace DefaultNamespace DefaultNamespace DefaultNamespace
Gets the namespace URI for the default namespace.
(Inherited from XmlNamespaceManager)
NameTable NameTable NameTable NameTable
Gets the XmlNameTable associated with this object.
(Inherited from XmlNamespaceManager)
Whitespace Whitespace Whitespace Whitespace
Gets a value that indicates whether to include white space nodes in the output.
Methods
AddNamespace(String, String) AddNamespace(String, String) AddNamespace(String, String) AddNamespace(String, String)
Adds the given namespace to the collection.
(Inherited from XmlNamespaceManager)
CompareDocument(String, String) CompareDocument(String, String) CompareDocument(String, String) CompareDocument(String, String)
Compares the base Uniform Resource Identifiers (URIs) of two documents based upon the order the documents were loaded by the XSLT processor.
Equals(Object) Equals(Object) Equals(Object) Equals(Object)
Determines whether the specified object is equal to the current object.
(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()
Returns an enumerator to use to iterate through the namespaces in the XmlNamespaceManager.
(Inherited from XmlNamespaceManager)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()
Serves as the default hash function.
(Inherited from Object)
GetNamespacesInScope(XmlNamespaceScope) GetNamespacesInScope(XmlNamespaceScope) GetNamespacesInScope(XmlNamespaceScope) GetNamespacesInScope(XmlNamespaceScope)
Gets a collection of namespace names keyed by prefix which can be used to enumerate the namespaces currently in scope.
(Inherited from XmlNamespaceManager)
GetType() GetType() GetType() GetType()
Gets the Type of the current instance.
(Inherited from Object)
HasNamespace(String) HasNamespace(String) HasNamespace(String) HasNamespace(String)
Gets a value indicating whether the supplied prefix has a namespace defined for the current pushed scope.
(Inherited from XmlNamespaceManager)
LookupNamespace(String) LookupNamespace(String) LookupNamespace(String) LookupNamespace(String)
Gets the namespace URI for the specified prefix.
(Inherited from XmlNamespaceManager)
LookupPrefix(String) LookupPrefix(String) LookupPrefix(String) LookupPrefix(String)
Finds the prefix declared for the given namespace URI.
(Inherited from XmlNamespaceManager)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()
Creates a shallow copy of the current Object.
(Inherited from Object)
PopScope() PopScope() PopScope() PopScope()
Pops a namespace scope off the stack.
(Inherited from XmlNamespaceManager)
PreserveWhitespace(XPathNavigator) PreserveWhitespace(XPathNavigator) PreserveWhitespace(XPathNavigator) PreserveWhitespace(XPathNavigator)
Evaluates whether to preserve white space nodes or strip them for the given context.
PushScope() PushScope() PushScope() PushScope()
Pushes a namespace scope onto the stack.
(Inherited from XmlNamespaceManager)
RemoveNamespace(String, String) RemoveNamespace(String, String) RemoveNamespace(String, String) RemoveNamespace(String, String)
Removes the given namespace for the given prefix.
(Inherited from XmlNamespaceManager)
ResolveFunction(String, String, XPathResultType[]) ResolveFunction(String, String, XPathResultType[]) ResolveFunction(String, String, XPathResultType[]) ResolveFunction(String, String, XPathResultType[])
Resolves a function reference and returns an IXsltContextFunction that represents the function.
ResolveVariable(String, String) ResolveVariable(String, String) ResolveVariable(String, String) ResolveVariable(String, String)
Resolves a variable reference and returns an IXsltContextVariable that represents the variable.
ToString() ToString() ToString() ToString()
Returns a string that represents the current object.
(Inherited from Object)
Extension Methods
Cast<TResult>(IEnumera


text:
Live Like a Leaf
January 03, 2009
The Leaf Community is the first sustainable community created in Italy.
In a world of growing economic complexity, where the consumption of goods and resources is quickly increasing, communities need to find sustainable solutions to economic challenges. In order to survive, we have to change the way we think and act. We have to give greater value to the things we consume in everyday life, and we have to recognize and honor the link between human beings and the natural environment.
The Leaf Community represents a real change—a place where people and nature meet. The Leaf Community came about because a group of innovators were determined to create a positive relationship between technology and nature. A focus on tradition and innovation characterizes the community—the first eco-sustainable, completely integrated community in Italy, inaugurated on June 25, 2008. It is called the Leaf Community because, like a real leaf, it creates and distributes the energy it needs to live and thrive. In the Leaf Community, energy is captured from the sun, water, air, and earth, and is transformed, stored, and released through a distribution network—just as it is in a leaf.
In the Leaf Community, it's possible to live in a zero carbon house, travel in an...
To read complete online articles, you need to sign up for an Online Subscription.
Once an order has been placed there is an automatic $10 processing fee that will be deducted with any cancellation.
The Home Energy Online articles are for personal use only and may not be printed for distribution. For permission to reprint, please send an e-mail to _EMAIL_.


Transference And Counter Transference
you were asked to analyze the role of transference and counter-transference in relation to psychodynamic/relational therapy approaches, specifically the Interpersonal Psychotherapy approach, to help you better understand the role of, and its use in therapy.
For this Assignment, you will continue to explore a more depth level understanding of, further exploring the theoretical underpinnings as well as the associated interventions that might be used within an interpersonal psychotherapy approach, specifically addressing.
To prepare for this Assignment:
· Review Learning Resources related to transference and countertransference
For this Assignment:
Write a 3- to 5- page paper (not including title and reference pages):
· Explain interpersonal psychotherapy's theoretical underpinnings regarding and its use in therapy.
· Explain the types of interventions from an interpersonal psychotherapy approach that are being used to address in therapy.
 Provide examples from the Learning Resources to support your explanations.
Use Full APA citations
What Students Are Saying About Us


text:
We will update and amalgamate the guidelines on social and emotional wellbeing in primary education and social and emotional wellbeing in secondary education. This will require a new scope.
Evidence has been identified that indicates that these guidelines require updating. It was considered that the guidelines should be amalgamated so that commonalities and differences between interventions for children at different ages and life stages (for example at puberty) can be addressed, to provide recommendations around transition between primary and secondary education, and to reflect the evidence base, which includes populations that are of both primary and secondary school age.
This page was last updated: 21 December 2017


Avatar of stevegrossi
0
0
Genius
0
0
stevegrossi's solution
to Nucleotide Count in the Elixir Track
0
0
Genius
0
0
Instructions
Test suite
Solution
Given a single stranded DNA string, compute how many times each nucleotide occurs in the string.
The genetic language of every living thing on the planet is DNA. DNA is a large molecule that is built from an extremely long sequence of individual elements called nucleotides. 4 types exist in DNA and these differ only slightly and can be represented as the following symbols: 'A' for adenine, 'C' for cytosine, 'G' for guanine, and 'T' thymine.
Here is an analogy:
 - twigs are to birds nests as
 - nucleotides are to DNA as
 - legos are to lego houses as
 - words are to sentences as...
Running tests
Execute the tests with:
$ elixir nucleotide_count_test.exs
Pending tests
In the test suites, all but the first test have been skipped.
Once you get a test passing, you can unskip the next one by commenting out the relevant @tag :pending with a # symbol.
For example:
# @tag :pending
test "shouting" do
 assert Bob.hey("WATCH OUT!") == "Whoa, chill out!"
end
Or, you can enable all the tests by commenting out the ExUnit.configure line in the test suite.
# ExUnit.configure exclude: :pending, trace: true
For more detailed information about the Elixir track, please see the help page.
Source
The Calculating DNA Nucleotides_problem at Rosalind _URL_
Submitting Incomplete Solutions
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
nucleotide_count_test.exs
if !System.get_env("EXERCISM_TEST_EXAMPLES") do
 Code.load_file("nucleotide_count.exs", __DIR__)
end
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
defmodule NucleotideCountTest do
 use ExUnit.Case
 # @tag :pending
 test "empty dna string has no adenine" do
 assert NucleotideCount.count('', ?A) == 0
 end
 @tag :pending
 test "repetitive cytosine gets counted" do
 assert NucleotideCount.count('CCCCC', ?C) == 5
 end
 @tag :pending
 test "counts only thymine" do
 assert NucleotideCount.count('GGGGGTAACCCGG', ?T) == 1
 end
 @tag :pending
 test "empty dna string has no nucleotides" do
 expected = %{?A => 0, ?T => 0, ?C => 0, ?G => 0}
 assert NucleotideCount.histogram('') == expected
 end
 @tag :pending
 test "repetitive sequence has only guanine" do
 expected = %{?A => 0, ?T => 0, ?C => 0, ?G => 8}
 assert NucleotideCount.histogram('GGGGGGGG') == expected
 end
 @tag :pending
 test "counts all nucleotides" do
 s = 'AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC'
 expected = %{?A => 20, ?T => 21, ?C => 12, ?G => 17}
 assert NucleotideCount.histogram(s) == expected
 end
end
defmodule NucleotideCount do
 @nucleotides [?A, ?C, ?G, ?T]
 @doc """
 Counts individual nucleotides in a NucleotideCount strand.
 ## Examples
 iex> NucleotideCount.count('AATAA', ?A)
 4
 iex> NucleotideCount.count('AATAA', ?T)
 1
 """
 @spec count([char], char) :: non_neg_integer
 def count(strand, nucleotide) do
 strand
 |> Enum.filter(&(&1 == nucleotide))
 |> length()
 end
 @doc """
 Returns a summary of counts by nucleotide.
 ## Examples
 iex> NucleotideCount.histogram('AATAA')
 %{?A => 4, ?T => 1, ?C => 0, ?G => 0}
 """
 @spec histogram([char]) :: map
 def histogram(strand) do
 @nucleotides
 |> Enum.map(& {&1, count(strand, &1)})
 |> Enum.into(%{})
 end
end
What can you learn from this solution?
A huge amount can be learnt from reading other people's code. This is why we wanted to give exercism users the option of making their solutions public.
Here are some questions to help you reflect on this solution and learn the most from it.
 - What compromises have been made?
 - Are there new concepts here that I could read more about to develop my understanding?


text:
Monitoring Ice-dammed Glacier Lake Outburst Floods in the Karakoram Using Visible-Infrared Satellite Remote Sensing Observations
MetadataShow full item record
Glaciers are an important part of the hydrological cycle because they act as freshwater storage. Glacier ice contains about three-quarters of the world's freshwater; supplying most of the base flow for rivers originating from high mountains (National Snow & Ice Data Centre, 2015). Glacial Lake Outburst Floods (GLOFs) are one of the common natural hazards in high mountain environments. The lack of a long term and regional GLOF monitoring program in the high mountain, has posed significant challenges in understanding the relationship between glacier mechanics and GLOFs in a changing climate. Remote sensing observations from space offer a promising alternative to reduce the number of in situ field surveys used to monitor glaciers and GLOFs. This thesis contextualizes the physical characteristics and hydrological, climatological, and societal importance of the Karakoram glaciers. Various approaches in GLOF monitoring and modelling are discussed in detail. The resulting objective of this research is to assess the practicality of modeling ice-dammed GLOFs using visible-infrared satellite observations and digital elevation models (DEM) available in the public domain. Kyagar Lake, Lake Virjerab, and the historical 1929 Chong Khumdan event are identified as case studies based on previous GLOF events in the Karakoram. Cloud-free satellite images between 1975 and 2015 were retrieved from the Landsat 2-8 archive. Lake extent isolation was performed using an object-based feature extraction and lake volume was estimated by integrating the feature extraction results with a DEM. GLOF magnitudes were estimated using the Clague and Mathews (1973) empirical model and the Walder and Costa (1996) semi-physical model. Model estimates were compared with limited observation data of flood discharge and lake volumes to evaluate the model performance. This research confirms the practicality of using satellite remote sensing observations to monitor GLOFs through the case studies and historical GLOF reconstruction. The results suggest that further research on integrating radar satellite observation, high resolution DEMs, and a continuous record of river discharge data in the Karakoram mountains, would provide a better understanding of the GLOF dynamics. Multiple upcoming Earth observation satellite missions and the accumulation of current Earth observation data would make possible a long-term and regional scale GLOF monitoring program.
Cite this work
Jeffrey Chan (2016). Monitoring Ice-dammed Glacier Lake Outburst Floods in the Karakoram Using Visible-Infrared Satellite Remote Sensing Observations. UWSpace. _URL_


text:
Social Norms Influence Food Choices, Meta-Analysis of Eating Habits Reveal
People use food to shape their social identity and diners feed off information provided to them by one another when making food choices, according to a new meta-analysis of 15 scientific studies.
Lead investigator Eric Robinson from the University of Liverpool and his colleagues conducted a systematic review of the studies, which were published in 11 different journals. Each of the studies in the analysis examined whether or not providing information about other peoples' eating habits influenced peoples' food intake or food choices. Eight of the studies examined how information about food intake norms influenced food consumed by participants, and seven others reported on the effects of how food choice norms influence how people decide what to eat.
By synthesizing the results of all these studies, Robinson and his team found consistent data revealing that when people were given information on when their dining companions were making high-calorie or low-calorie dining choices, it significantly increased the likelihood that participants made similar choices.
The meta-analysis also revealed that social norms influence how much food is eaten and that if it was suggested that people eat a larger portion of food then they typically would.
"It appears that in some contexts, conforming to informational eating norms may be a way of reinforcing identity to a social group, which is in line with social identity theory," Robinson said in a statement. "By this social identity account, if a person's sense of self is strongly guided by their identity as a member of their local community and that community is perceived to eat healthily, then that person would be hypothesized to eat healthily in order to maintain a consistent sense of social identity."
Additionally, the analysis revealed that the social mechanisms that influence what we decide to eat and drink are in place even when people are alone.
"Norms influence behavior by altering the extent to which an individual perceives the behavior in question to be beneficial to them. Human behavior can be guided by a perceived group norm, even when people have little or no motivation to please other people," Robinson said. "Given that in some studies the participants did not believe that their behavior was influenced by the informational eating norms, it seems that participants may not have been consciously considering the norm information when making food choices.
"The evidence reviewed here is consistent with the idea that eating behaviors can be transmitted socially," Robinson said. "Taking these points into consideration, the findings of the present review may have implications for the development of more effective public health campaigns to promote 'healthy eating.' Policies or messages that normalize healthy eating habits or reduce the prevalence of beliefs that lots of people eat unhealthily may have beneficial effects on public health."
Robinson and his colleagues published their work in the Journal of the Academy of Nutrition and Dietetics.