text:
Definition of Bear grass
1. Noun. Yucca of southern United States having a clump of basal grasslike leaves and a central stalk with a terminal raceme of small whitish flowers.
2. Noun. Yucca of west central United States having a clump of basal grasslike leaves and a central stalk with a terminal raceme of small whitish flowers.
3. Noun. Stemless plant with tufts of grasslike leaves and erect panicle of minute creamy white flowers; southwestern United States and Mexico.
Generic synonyms: Agave, American Aloe, Century Plant
Group relationships: Genus Nolina, Nolina
4. Noun. Plant of western North America having woody rhizomes and tufts of stiff grasslike basal leaves and spikes of creamy white flowers.
Generic synonyms: Liliaceous Plant
Group relationships: Genus Xerophyllum, Xerophyllum
Bear Grass Pictures
Click the following link to bring up a new window with an automated collection of images related to the term: Bear Grass Images
Lexicographical Neighbors of Bear Grass
Literary usage of Bear grass
Below you will find example usage of this term as found in modern and/or classical literature:
1. History of the Discovery and Settlement of the Valley of the Mississippi: By by John Wesley Monette (1848)
"AD 1781 TO 1784. Argument.—Severs Winter of 1780-81.—Scarcity in Kentucky.—Kentucky divided in to three Counties.—Indian Hostilities on Bear-grass Creek...."
2. A Dictionary of English Synonymes and Synonymous Or Parallel Expressions by Richard Soule (1891)
"Spanish-bay une t, bear-grass, Adam's needle. Yule* "• I* Christmas, yule-tide. 2. lemmas, Lammas-tide. Yule-tide,*. Christmas...."
3. Rural Rides by William Cobbett (1853)
"Something, however, depends on the nature of the soil: for it is not all land that will bear grass, fit for hay, perpetually; and, when the land will not do..."
4. A Geographical, Historical, Commercial, and Agricultural View of the United by Daniel Blowe (1820)
"Spruce and hemlock, in the eastern parts of the state, denote a thin, cold soil, which, after much labour in the clearing, will indeed bear grass without..."
5. Rural Rides in the Counties of Surrey, Kent, Sussex, Hants, Berks, Oxford by William Cobbett (1908)
"Something, however, depends on the nature of the soil: for it is not all land that will bear grass, fit for hay, perpetually; and when the land will not do..."


text:
Matz Surname History
According to the House of Names the German surname Matz emerged in the lands that formed the powerful German state of Prussia, which at one time was an immense territory that stretched from France and the Low Countries to the Baltic sea and Poland. After the fall of the Roman Empire, the German territories were inhabited by a variety of barbarian tribes. The borders of the barbarian kingdoms changed frequently, but the region that became known as Prussia was roughly divided between the areas of Brandenburg-Prussia, West Prussia, and East Prussia. By the 19th century, Brandenburg-Prussia had incorporated East Prussia, West Prussia and many other German territories. Moreover, in the late 19th century, it led the German states in the unification of Germany.
First found in Prussia, where the family contributed greatly to the development of an emerging nation, and would later play a large role in the tribal and national conflicts of the area. The name stems from two sources which were continually mixed up throughout the Middle Ages, so they can no longer be differentiated: one was Matthaeus the Evangelist, who was patron saint of tax collectors, and the other was Mattias (Hebrew for "gift of the gods"), who was one of the twelve Apostles. In later years the name branched into many houses, each playing a significant role in local social and political affairs. Much of German history has been shaped by the state of Prussia. It was an enduring military power until after the Second World War. At that time, the state was abolished altogether and its land divided between the Soviet Union, Poland, East Germany and West Germany. While some Prussians were content to remain in those countries, others moved away, many of them migrating to North America. They entered the United States mostly through Philadelphia, moving on to Ohio, Texas, Illinois, California, New York, and Maryland. Others went to Canada, settling on the prairies and in the province of Ontario. Among those of this surname listed in various historical records were: Mathew Mathias, who came to Virginia in 1651. He was followed by Georg Mathias and Henrich Matteis who both arrived in New York in 1710. Johann Mathies came to Philadelphia in 1768 Bernhart Matheus in 1754.
According to the Internet Surname Database, this famous surname is recorded in over two hundred and fifty different spellings ranging from Mathieu of France to Macieiczyk of Poland. From medieval times it has been recorded in every part of Christendom.
The first recorded spelling of the family name is shown to be that of Alan Mathew, which was dated 1260, in the Assize Rolls of Cambridge, England. This was during the reign of King Henry 111, known by the nickname of 'The Frenchman', who reigned from 1216 to 1272. Surnames became necessary when governments introduced personal taxation. In England this was known as Poll Tax. Throughout the centuries, surnames in every country have continued to "develop" often leading to astonishing variants of the original spelling.
Notable Matz Personalities

source: HuggingFaceFW/fineweb-edu


views to sort and filter your list of tasks, view tasks with due dates on a Calendar, or filter for only attachments. If there is a specific way you and your team prefer to sort tasks in a project, you can save it as the default view for everyone. Asana provides a variety of ways to sort and filter your list of tasks. Some people like to manually set the order, while others want tasks to be automatically sorted by a characteristic like due date or assignee.
An essential view in Asana is Boards. Boards let you organize your work like sticky notes, and you can move them across sections.
11. Trello
You can use Trello as a collaboration tool to organize your projects. You split your projects into boards. It is easiest to visualize Trello like a giant electronic whiteboard with lists of sticky notes, albeit a whiteboard you can stick in your pocket if you're using the mobile Trello app. Although different firms use Trello differently, you can think of each column (list) on your board as representing a significant milestone. You then create a series of cards on each list, representing the specific tasks you need to perform to reach each milestone. Trello's boards, lists, and cards enable teams to organize and prioritize projects easily.
You can add comments, attachments, due dates, and more directly to Trello cards. Trello includes automation with Butler. You can use Butler to remove tedious tasks from your to-do lists with rule-based triggers, custom cards & board buttons, calendar commands, and due date commands.
Over 103,254 Creators get access to MAKEABLE - our weekly newsletter


text:
Islamabad's Kachnar Park is getting an artificial groundwater recharge site to help bridge the gap between water demand and supply in the federal capital.
The pilot project is an initiative of the International Water Management Institute (IWMI) Pakistan, the Pakistan Water Resources Research Council and Water Aid Pakistan.
The artificial groundwater recharge site was initiated under the project "Demonstration of nature-based solutions to improve the resilience of underground aquifers in Islamabad".
Funded by Water Aid, the project identified the 7th potential groundwater recharge site in Islamabad.
While announcing the launch of the project, the Country Representative and Regional Representative for Central Asia, IWMI, Dr. Mohsin Hafeez, highlighted the water problems in Islamabad which have increased due to wastage of rainwater and l horizontal expansion of the capital, overexploitation of groundwater resources, poor water supply, sanitation and hygiene problems and unsustainable use.
Islamabad receives an average of 1,400mm of rain a year, he said, and by conserving only 30% of rainwater through artificial groundwater recharge sites, we can meet the demand of 46 million gallons of water per day versus 45 million gallons of water per day.
Earlier, IWMI developed the first state-of-the-art artificial groundwater recharge pilot site equipped with comprehensive instrumentation to measure groundwater quality, groundwater level, precipitation and the amount of precipitation injected into the aquifer.
The project will provide factual information on the contribution of rainfall to groundwater replenishment in Islamabad, Dr Hafeez explained.
"To overcome water scarcity issues in Islamabad, IWMI has recommended the Capital Development Authority (CDA) to install rainwater harvesting tanks at household level," he said. .
Kachnar Park was selected for its excellent rainwater availability and suitable underground storage capacity of three feet deep, 566,000 liters of water. Experts have pointed out that the twin cities are likely to receive 40% more rain this monsoon season.
PCRWR Chairman Dr Mohammad Ashraf said the solution to the water supply challenge is linked to rainwater harvesting for groundwater recharge, which needs to be scaled up to solve the water supply challenges. groundwater depletion problems.
He said that compared to the average annual rainfall in Islamabad, groundwater depletion was around one meter. "This means that if we efficiently conserve available rainwater through recharge, we could easily manage the gap between demand and supply through groundwater," he said.
The Joint Secretary of the Ministry of Water Resources, Mohammad Yahya Akhunzada urged the media to raise public awareness on rainwater harvesting for watering plants and conservation of water resources in general.
CDA Member (Finance) Rana Shakeel Asghar praised the efforts of IWMI, PCRWR and WaterAid in piloting the initiative and hoped it will help recharge groundwater.
He said given Islamabad's growing water needs, rainwater harvesting was important to recharge groundwater.
To this end, 100 groundwater recharge sites have been built by the CDA in collaboration with the PCRWR. The CDA planned to further increase the number of groundwater recharge sites.
WaterAid Country Director Arif Jabbar Khan said Pakistan was a water stressed country and its water resources were severely depleted and the plant would help address these challenges.

source: m-a-p/FineFineWeb


text:
Joti jot is a Punjabi phrase which literally means the "light joining another light" and is used to refer to the "joining of the light of the human person (soul) to the Supreme Light (God)". It is a term that is customarily used to refer to the "accession of a honoured person to their heavenly abode". In simple terms, this is a polite and honourable term used to refer to the "death" of a respected, honoured and blessed person. In its original language, it is a term which is polite, respectful and traditional. When referring to the death of the Sikh gurus, this term is commonly used.
The Sikh scriptures teach that the soul is indestructible and survives for eternity. When the person dies, it is only the body that is destroyed; the soul carries on its journey of reincarnation until it becomes pure and sinless so that it can blend with the pure Lord. So when the body of a person who is pure and one who has lived a life of righteousness dies, the soul of this perfect person is said to join the Almighty God. The act of joining with the Lord is referred to as "Joti jot samana" (Sah-ma-na means to "merge")
The Gurus tell us that the person's soul is immortal and that the soul never dies and is never born. However, the soul travels through many lives where the soul experiences birth and death while living within various bodies. This cycle of births and death only stops when the soul attains salvation or Mukti when it leaves this existence in moral bodies and joins the immortal supreme soul (god). The person is then said to have rejoined with God. This special condition is referred to as "Joti Jot" in Punjabi.

source: openbmb/Ultra-FineWeb


text:
Uwanda – Rukwa Game Reserve is located in Sumbawanga District, Rukwa Region. It covers an area of 4100 sq km and extends from the eastern escarpment of Lake Tanganyika to the hilly central plateau that includes almost half of Lake Rukwa.
Regular floods have created floodplain habitat of woodland and grassland, which attracts and harbors large herds of herbivores during the dry season.
This is the place to see rare species of Puku (Kobus vardoni). It is also the place where one can see albino giraffes, unusually-stripped zebra, and spiral-horned antelopes related to the Uganda kobs. Other animals include topi, eland, reedbuck, impala, roan antelopes, greater kudu, normal giraffes, elephants and hippopotamus. Lake Rukwa has highest density of crocodiles in Tanzania.
Lake Rukwa which is alkaline attracts many birds. Over 400 species have been recorded the famous ones being grey parrots, red shark, and wood peckers. Uwanda is considered to be the breeding place for red locust insects, which attract many birds.
The reserve is easily accessible by road using Four wheel car and chartered aircrafts.


text:
Economical in the use or appropriation of resources; not wasteful or lavish; wise in the expenditure or application of force, materials, time, etc.; characterized by frugality; sparing; economical; saving; as, a frugal housekeeper; frugal of time.
- Practicing or marked by economy, as in the expenditure of money or the use of material resources. See Synonyms at sparing.
- Costing little; inexpensive: a frugal lunch.


TLD contains information about a library and each tag contained in it. See Tag Library Descriptors for more information about TLDs.
The custom validator tag is defined in bookstore.tld, located in the tut-install/javaeetutorial5/examples/web/bookstore6/web/WEB-INF/ directory. It contains a tag definition for formatValidator:
The name element defines the name of the tag as it must be used in the page. The tag-class element defines the tag handler class. The attribute elements define each of the tag's attributes. The formatPatterns attribute is the only attribute that the tag supports. The deferred-value element indicates that the formatPatterns attribute accepts deferred value expressions. The type element says that the expression resolves to a property of type String.


DEV Community
Cover image for Building a REST API in Play Framework
pazvanti
pazvanti
Posted on • Updated on

Building a REST API in Play Framework
Article originally posted on my personal website under Building a REST API in Play Framework. Sample requests can also be found there
When building web applications, REST has become the most widely used approach because it is easy to use and easy to implement. In this tutorial I will be showing how to build a simple REST API in Play Framework and will cover the 4 basic functionalities:
 - Create – POST
 - Update – PUT
 - Retrieve – GET
 - Remove – DELETE
Play Framework Java Course
We will be creating a simple API for a student's management software where we can manipulate the students and retrieve the stored ones. It won't be anything too fancy, but an introduction to Play Framework and how a REST API can be build.
Setting up our Entities and DB
First, let's create our database. We will store the student's name, year in the university and the department he is currently studying in. It is a simple structure with only 4 columns (there is also an ID) and nothing more.
db structure
Our entity class looks like this. This will tie the database table to our application model and will allow us to easily map from the DB to a Java class and vice-versa.
package data.domain;
import javax.persistence.*;
@Entity
@Table(name = "students")
public class StudentDO {
 @Id
 @Column
 @GeneratedValue(strategy=GenerationType.IDENTITY)
 private Integer id;
 @Column
 private String name;
 @Column
 private Integer year;
 @Column
 private String department;
}
Enter fullscreen mode Exit fullscreen mode
Building our DAO
Now that we have the Entity, we need to be able to actually store the data in the database and retrieve it when needed. This is done by the JPA Api and Play makes it easy to use it. We will be creating our DAO class that will provide the needed methods for the CRUD operations. CRUD stands for Create, Read, Update and Delete, so these are the methods that we will be implementing.
import com.google.inject.Inject;
import data.domain.StudentDO;
import play.db.jpa.JPAApi;
import javax.persistence.EntityManager;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import java.util.List;
public class StudentDao {
 private static final String ENTITY_MANAGER_NAME = "default";
 @Inject
 protected JPAApi jpaApi;
 public StudentDO create(StudentDO studentDO) {
 jpaApi.withTransaction(entityManager -> { entityManager.persist(studentDO); });
 return studentDO;
 }
 public StudentDO find(Integer id) {
 return jpaApi.em(ENTITY_MANAGER_NAME).find(StudentDO.class, id);
 }
 public List<StudentDO> find() {
 EntityManager entityManager = jpaApi.em(ENTITY_MANAGER_NAME);
 CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
 CriteriaQuery<StudentDO> criteriaQuery = criteriaBuilder.createQuery(StudentDO.class);
 Root<StudentDO> root = criteriaQuery.from(StudentDO.class);
 criteriaQuery.select(root);
 return entityManager.createQuery(criteriaQuery).getResultList();
 }
 public void delete(int id) {
 jpaApi.withTransaction(entityManager -> {
 StudentDO studentDO = entityManager.find(StudentDO.class, id);
 if (studentDO != null) {
 entityManager.remove(studentDO);
 }
 });
 }
 public StudentDO update(StudentDO studentDO) {
 jpaApi.withTransaction(entityManager -> {entityManager.merge(studentDO);});
 return studentDO;
 }
}
Enter fullscreen mode Exit fullscreen mode
We also implemented a method for retrieving all the students that are saved. A more advanced system will also provide filtering options, pagination and other features that are mandatory for an advanced web app, but this will do for our simple REST API tutorial.
The Service and transfer objects
The controller should not communicate directly with the DAO. We should have separation of functionality and each layer has it's own role. The DAO communicates with the database, the Service has the business logic and the Controller is for external access. I won't go into details on this topic, but I usually structure my code like this and it is easier to maintain when you know who is responsible for what.
Also, for more advanced systems you should not return directly the DO to the outside. Instead, we should have a mapping between the Domain object and an externally-used Transfer object. This DTO (Data Transfer Object) is the external representation, while the DO is the internal one. For this simple system, there are no differences (so I won't include the DTO class), but more complex ones usually do have, with the DTO being composed of the data from multiple DOs and with new fields that are processing results.
First, let's create a utility class that maps between Transfer and Domain objects. Nothing to fancy and if you desire you can use BeanUtils to achieve this.
import data.domain.StudentDO;
import data.dto.StudentDTO;
public class StudentMapper {
 public static StudentDTO toTransfer(StudentDO domain) {
 StudentDTO dto = new StudentDTO();
 dto.setId(domain.getId());
 dto.setName(domain.getName());
 dto.setYear(domain.getYear());
 dto.setDepartment(domain.getDepartment());
 return dto;
 }
 public static StudentDO fromTransfer(StudentDTO dto) {
 StudentDO domain = new StudentDO();
 domain.setId(dto.getId());
 domain.setName(dto.getName());
 domain.setYear(dto.getYear());
 domain.setDepartment(dto.getDepartment());
 return domain;
 }
}
Enter fullscreen mode Exit fullscreen mode
Next, our service that handles all the business logic. Again, there is nothing fancy going on in this simple example. We get the DTO, map it to a DO, call the DAO and return the result.
import com.google.inject.Inject;
import data.dao.StudentDao;
import data.domain.StudentDO;
import data.dto.StudentDTO;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
public class StudentService {
 @Inject
 private StudentDao studentDao;
 public List<StudentDTO> getAll() {
 List<StudentDO> studentDOList = studentDao.find();
 return studentDOList.stream().map(domain -> StudentMapper.toTransfer(domain)).collect(Collectors.toList());
 }
 public Optional<StudentDTO> getById(int id) {
 StudentDO studentDO = studentDao.find(id);
 if (studentDO == null) {
 return Optional.empty();
 }
 return Optional.of(StudentMapper.toTransfer(studentDO));
 }
 public StudentDTO create(StudentDTO studentDTO) {
 StudentDO studentDO = StudentMapper.fromTransfer(studentDTO);
 studentDO = studentDao.create(studentDO);
 return StudentMapper.toTransfer(studentDO);
 }
 public Optional<StudentDTO> update(StudentDTO studentDTO, int id) {
 StudentDO fromDb = studentDao.find(id);
 if (fromDb == null) {
 return Optional.empty();
 }
 fromDb.setName(studentDTO.getName());
 fromDb.setYear(studentDTO.getYear());
 fromDb.setDepartment(studentDTO.getDepartment());
 fromDb = studentDao.update(fromDb);
 return Optional.of(StudentMapper.toTransfer(fromDb));
 }
 public void delete(int id) {
 studentDao.delete(id);
 }
}
Enter fullscreen mode Exit fullscreen mode
The Controller and endpoint mappings
The controller is the main entry point, so we need to get the information from the HTTP request, map it into our internal data structure and call the service to do the business logic. In case anything goes wrong we return an HTTP status that correctly reflects what happened. I saw many services that always return 200, even if there was an error or the resource was not found, and provide the error only as a JSON response. This is incorrect and the status should reflect the actual state, with the JSON response needed only for additional information.
import com.fasterxml.jackson.databind.Json


text:
From the AlphaZero paper, the caption of Table S1 (p. 13)
Table S1: Input features used by AlphaZero in Go, Chess and Shogi respectively. The first set of features are repeated for each position in a $T = 8$-step history. Counts are represented by a single real-valued input; other input features are represented by a one-hot encoding using the specified number of binary input planes. The current player is denoted by P1 and the opponent by P2.
I wanted to get some clarification on which features are represented by single real-valued inputs, and which "other input features" are represented by one-hot encodings.
I'm also not sure what the line
other input features are represented by a one-hot encoding using the specified number of binary input planes
For Chess, specifically, we have the following features): P1 Piece, P2 Piece, Repetitions, Colour, Total move count, P1 Castling, P2 Castling, No-progress count.
I think I understand P1 Piece and P2 Piece, these are just 6 binary planes, one for each piece type, that denotes whether a piece exists for each of the 64 squares on the board. Correct me if I'm wrong.
Repetitions, Colour, total move count, P1 Castling, P2 Castling, and No-progress count - are these all represented by "single real-valued input"? For example, if it's White's turn to move, and white is represented as 1, does this mean the plane for color is an 8x8 matrix of 1s? Another example: if the move count is 114, then the input plane for this feature is an 8x8 matrix of 114s...is this correct?
Follow up question: why are there 2 planes for repetitions?


text:
HSWRI researcher Michael Shane led the charge on the hands-on project, showing students how to monitor water quality in the sophisticated classroom aquaculture system, observe and understand various life stages, utilize technology employed in culturing the white sea bass, and tag and scan the fish for monitoring prior to their release in the wild.
"They are part of a larger program called the Ocean Resources Enhancement Hatchery Program, and we've released nearly two million fish through that program up and down the coast of Southern California," said Shane. "These fish will become part of that larger overall program, and these students are helping to replenish stocks of white sea bass, which have declined since the early 1950s."
By the time the fish were ready for release on Jan. 24 in Crown Point Park, students had learned the intricacies of sustainable fishing, the importance of aquaculture systems and how to monitor water quality and calculate waterflow-turnover rates during their lessons throughout the semester.
"They can actually compare with other schools that are participating and see how fast their fish are growing," said Shane. "Certainly the important message is our responsibility for the environment and sustainability of seafood and aquaculture."
By the end of the hands-on project, 22 of the sea bass survived, following casualties from euthanization due to physical damage.
Four of the fish were turned over to the California Department of Fish and Wildlife for health evaluations to look at growth abnormalities and parasites.
A total of18 fish were cleared for release on Jan. 24.
The average total length of the fish increased from 174 millimeters to 215 millimeters. The average weight increased from nearly 53 grams to more than 92 grams.


temperatures and produces more heat. That's why you feel so comfortably warm when you enter your home again!
Even if going outdoors when you feel cold seems counterintuitive, it's not! It increases your bodies' resistance to the cold and helps you stay warm without using the heater.
On top of that, a walk is healthy and relaxing. You should be doing it more anyways (me too)!
21. Use a hot water bottle
Finally, here's another useful and effective way to cheaply heat in a room!
Running a kettle to boil your water costs next to nothing. It costs only 1 or 2 cents to heat the water to fill a hot water bottle that can keep you warm for 30 minutes to 2 hours (source).
In big rooms, a water bottle will stay hot for 30 minutes, wheres in your bed it will provide you with heat for up to 2 hours.
How water bottles are an incredibly cheap way to heat your room. You focus the heat just on yourself (similar to electric blankets). Absolutely no energy is wasted to heat the air in the room you are in.
Even if you boil 10 hot water bottles to stay warm throughout the evening (5 hours), that's only 20 cents of heating costs.
In contrast, a regular heater would cost about $0.40 to $1.50 to heat for the same time.
Also, hot water bottles are cheap (compared to a wood stove or solar panels)! It costs around $10 to become a proud hot water bottle-owner. That's a very small amount for so much value!
hot water bottle to replace leaving an oil heater on all night
Conclusion – The 21 Cheapest Ways to Heat a Room
Most of the cheapest ways to heat a room I gave you in this article involve heating just what's necessary. Heat only the room you're in. Be as efficient as possible.
This way you can save hundreds of dollars each year. That's money you can freely spend elsewhere.
Also, you can reduce the need for heat by staying active: Jumping jacks or having a walk outdoors will increase your body temperature. If you do these things you stop freezing and you don't need to turn up the thermostat.
Even if you pick only 1 or 2 of these tips, you will make a significant impact on your heating bill! So, chose one of these cheapest ways that you like to implement to heat your room and start saving money!
My personal favorite cheapest way to heat a room is by using a space heater.
About the Author
Daniel Hirsch
Daniel is an electrical engineer, blogger, and author. He studied electrical engineering and information technology and decided to blog about heaters after working in the temperature sensing industry.


Lightbend Activator
HTML 5 Device Orientation with play, ember and websockets
HTML 5 Device Orientation with play, ember and websockets
Michal Janousek, Martin Zapletal
July 9, 2014
scaladays2014 playframework emberjs scala websockets threejs
This template shows how simple it is to use latest technologies to build a nice modern reactive web application comprising of a Client-side JavaScript App built using EmberJS and WebSockets with WebGL ThreeJS, served from the Play 2 Framework written in Scala which works high velocity data from different sources using Play Iteratees and Akka.
How to get "HTML 5 Device Orientation with play, ember and websockets" on your computer
There are several ways to get this template.
Option 1: Choose reactive-orientation in the Lightbend Activator UI.
Already have Lightbend Activator (get it here)? Launch the UI then search for reactive-orientation in the list of templates.
Option 2: Download the reactive-orientation project as a zip archive
If you haven't installed Activator, you can get the code by downloading the template bundle for reactive-orientation.
 1. Download the Template Bundle for "HTML 5 Device Orientation with play, ember and websockets"
 2. Extract the downloaded zip file to your system
 Or from a command line:
 C:\Users\typesafe\reactive-orientation> activator ui
Option 3: Create a reactive-orientation project from the command line
If you have Lightbend Activator, use its command line mode to create a new project from this template. Type activator new PROJECTNAME reactive-orientation on the command line.
Option 4: View the template source
The creator of this template maintains it at
Option 5: Preview the tutorial below
Preview the tutorial
This template shows how simple it is to use latest technologies to build a nice modern reactive web application comprising of a Client-side JavaScript App built using EmberJS and WebSockets with WebGL ThreeJS, served from the Play 2 Framework written in Scala which works high velocity data from different sources using Play Iteratees and Akka. One of the main goals of this template is to show how such non-trivial application can be written very quickly, elegantly, readably and scalably with just a few lines of code using the Typesafe technologies and to describe and discuss the concepts, technologies, various alternatives that are provided to programmer to meet the goals, provide resources for further education and to help even beginners to start with or improve in using these technologies.
In the beginning it doesn't look very interesting. But we will get there.
Reactive applications are aiming to resolve the latest needs in software development. Even web is quickly moving towards the features of the Reactive Manifesto. The ability to react quickly to user's interaction is becoming more and more important. This activator template illustrates how a real time communication can be simply, reliably and scalably built on the Typesafe platform. The template uses Play 2.3 and utilizes Iteratees as an useful abstraction to handle continuous streams of data in form of real time bidirectional websocket communication as well as Akka Actor web socket interface. Other technologies used are Scala, Play, Akka and Scalaz for server backend and Ember.js, HTML5 device orientation API, Bootstrap and Three.js for front end and visualisation as well as some other smaller tools that will be mentioned in the documentation.
Main functionality of the Play server is to act as a router for web socket messages. It accepts connections on two different web sockets. The first web socket receives messages with data about spatial orientation from an arbitrary number of mobile devices. Web sockets in combination with orientation data serve as a good descriptive source of data with reasonably high volume and velocity so we can show how these can be handled using the Typesafe platform. The server applies transformation function to each message and merges streams of messages from all devices into a single stream which is in turn sent to the other websocket where the data for each individual device are clearly displayed in real time. This is illustrated on the figure below.
Go to Run tab in Activator and start the application and then visit http://localhost:9000. Another option is to start the application from linux terminal using activator run command for Play 2.3. After the application startup, you will be presented by the Dashboard page and IP address of the machine in network. This is because you will need to connect to the Play server from other devices. In real life the application would be deployed in the internet so you would just need to enter the url. This case however requires you to enter the local network address, including port (default 9000) to your mobile device's browser - for example When the page is loaded, select Device tab and click the Start button. If the device supports orientation sensor, it should start sending data to the server. The Dashboard page will show real time information including visualisation of the device's orientation. Each device connected will be presented individually. After certain time of inactivity the device is removed from the Dashboard. Note the visualisation may not be exactly correct, because the alpha represents the angle to north so you may need to adjust your screen with Dashboard manually.
System overview - Server
Play controller
The main work of the application happens in Application.scala. This object is the only Play Controller in the whole application. It has three methods. The index method attempts to retrieve network interfaces to be able to present the IP address and then presents index.scala.html view. The most elegant way is to use play actor sockets (introduced in Play 2.3) for connections from mobile devices and Iteratees/Enumerator for dashboard sockets. You can read about both options in Play scala web sockets. The controller has one instance of Enumerator and one instance of Channel. Messages pushed to the Channel will be received by web sockets using the Enumerator. This is important to understand, because these will be shared by actors that will push messages to the Channel and device websockets who will use the Enumerator.
val (dataEnumerator, dataChannel) = Concurrent.broadcast[JsValue]
Method mobileWebSocket is triggered when a new web socket connection is started from the mobile device. When using actor sockets, Play automatically creates one actor for each connection on the web socket. This is a very convenient way to scale - because actors can run in parallel and have nicely distributed responsibility - having as much actors as devices won't create a performance bottleneck or a single point of failure.
 def mobileWebSocket = WebSocket.acceptWithActor[OrientationChangeEvent, JsValue] { request => out =>
 Props(new StreamMergingActor(dataChannel))
Play automatically sends a message to the specified actor when a message on the web socket interface is received. The type of the message is specified by the first type parameter of acceptWithActor function.
It would be possible to achieve the same using Iteratees and Enumerators approach. The code would then look for example like this.
 def mobileWebSocket = WebSocket.using[OrientationChangeEvent] { request =>
 val in = Iteratee.foreach[OrientationChangeEvent] { mergingActorRouter! _ }
 val out = Enumerator.empty[OrientationChangeEvent]
 (in, out)
In this case, we would however need to take care of the number of actors manually. One solution would be for example to create a Router that distributes incomming messages according to predefined logic. One option to create a router would be to add one actor to the routees with each connection or create a router with a fixed number of actors equal to number of cpu cores available on the machine.
 lazy val mergingActorRouter = Akka.system.actorOf(
 .props(Props(new StreamMergingActor(dataChannel))))
Method dashboardWebSocket manages web socket connections from dashboard page using Iteratee and Enumerator. Iteratee is a representation of incomming message stream and Enumerator of the outgoing. The code handling web sockets from dashboard using Iteratees and Enumerators may look like this.
 def dashboardWebSocket = WebSocket.using[JsValue] { request =>
 (Iteratee.ignore, dataEnumerator)
This solution is very elegant and minimal, because we again use Play to do the hard work. We just use the same channel for each incomming websocket connection. When a message is received from mobile device, the actor that is responsible for handling the message will simply push it to this channel and because it is shared by all Dashboard web sockets, they will automatically all receive the message. In addition, this abstraction very nicely illustrates the intended functionality - messages from multiple devices are merged into one stream! Notice also the Iteratee is ignored (because we are not expecting any messages from the dashboard apart from initial web socket connection). Again this is not the only option and it would be possible implement the same logic using Actor web sockets, but we would have to manually handle the fact that the response is not going to the same socket as the received message.
To summarize the above solution - one actor is created for each Device connection. All these actors push messages the same shared output channel which in turn is also shared by all Dashboard connections.
Scala's ecosystem offers a variety of options to handle this use case. One notable alternative to Play would be for example Spray.
Akka actor
The application only uses one user defined actor located in StreamMergingActor.scala. StreamMergingActor's role is to merge incomming streams from devices and send the resulting stream to dashboards using the share channel. Companion object StreamMergingActor defines messages which the actor understands. OrientationChangeEvent and OrientationChangeData represent one single message received from the mobile device. Each message contains deviceId, information about the device, assigned colour and three values - alpha, beta and gamma - which represent the orientation data and will be explained later. Most important fact is,


Has your site been converted?
 The latest update to the IUP website means that converted menus are automatic—web maintainers no longer need to worry about them. When a new page layout is created in an existing folder, Ektron automatically adds that page to the menu (and creates a user-friendly URL, called an alias, at the same time.)
 If you create a new folder, you must inform the Web Team so they can activate that folder's menu.
 If your site has NOT yet been converted, then the following information is for you:
 - Create a New Menu
 Edit or Add Items to a Menu
 How the Menu System Works
 Consistent navigation is key so that site visitors are not confused.
 Removing Items from a Menu


New article about the formation of a Norwegian identity among immigrant origin youth
08. January 2021
In a new article publicised in Ethnic and Racial Studies, Jon Horgen Friberg shows that youth of immigrant origin gradually adopt a stronger self-identity as Norwegians, regardless of geographical and religious backgrounds. However: While adolescents of European immigrant origin report being seen as more "Norwegian" than they identify themselves, children of immigrants from Africa and Asia are seen by others as far less "Norwegian" than how they perceive themselves.


text:
This was the warmest September of record at Kotzebue. The average temperature of 49.1°F (9.5°C) was nearly seven degrees above normal. The previous warmest September was in 1974, when the average temperature was 47.7°F (8.7°C)
The average temperature at the Anchorage Airport in September was 55.0F (12.8C). This is more than six degrees above normal and is easily the warmest September of record. The previous warmest September was in 1995, when the average temperature was 53.6 (12.0C). The low temperature for the month was only 40F (4C), the first time the temperature has failed to get into the 30s at any point in September.
Juneau Airport received only 2.28" (58mm) of rain in September. This is only 26 percent of normal and is the driest September of record. The previous driest was in 1965, when rainfall totaled just 2.34" (59mm) of rain. Climate observations have been made at the Juneau Airport since the early 1940s.
Sitka recorded just 3.55" (90mm) of rain in September. This is only 30% of normal and makes this the driest September of record at the Airport. The previous record low September rainfall was 3.94" (100mm) in 1986. Observations have been made at the Sitka Airport since the mid-1940s.
Following the second wettest August of record at Gulkana, September turned the tables, with 0.10" (2.5mm) precipitation during the month is the second lowest of record. The only drier September since 1943 was in 1969, when there was just 0.07" (1.8mm) precipitation.
The first week of August brought unusually warm weather to far southwest Alaska. Dutch Harbor reported a high of 79° (26°C) on August 6, and Cold Bay a record tying 73° (23°C) on August 5. Other unusual high temperatures in the Aleutians and Alaska Peninsula during this period included 76° (24°C) at Chignik, 69° (21°C) at Sand Point and 67° (19°C) at Adak.
Snow in the Brooks Range is not especially unusual in late August. Several inches fell in some areas on overnight on August 30-31, including an estimate 3" (7cm) at Toolik Lake near the Dalton Highway. At moderate elevations, the snow was largely melted away from late in the day of August 31.
Gulkana Airport was soaked with 4.31" (109mm) of rain in August. This is more than twice normal and is the second highest August rainfall in more than 75 years of climate observations. The only wetter August was in 1973, when 4.94" of rain fell.
Northway was soaked with 5.28" (134mm) of rain in August. This is more than three times the normal rainfall and is the second highest August total in more than 70 years of climate observations. The only wetter August was in 1944, when 6.42" (163mm) of rain fell. Climate observations have been made at Northway since the autumn of 1942.
Yakutat was soaked with 6.94" (176mm) of rain on August 6 and 7. While not a record, this was the greatest two-day rainfall in summer in more than a decade: August 23-24, 2005 there was 9.28" (236mm) of rain.
ACCAP is a NOAA Climate Program Office Climate & Societal Interactions RISA Program.
UA is an AA/EO employer and educational institution and prohibits illegal discrimination against any individual. Notice of Nondiscrimination


text:
The rapid development, miniaturization, and increase in the power density of electronics places to greater emphasis on the performance and limits of today's thermal management solutions. Of great interest to engineers and researchers is the possibility of using ultrahigh-intensity evaporation of thin liquid films. The transition between the continuum and molecular scales for a continuous description of phase transition is still an open challenge. We present new data on measurements of the temperature profile across the liquid-gas interface of a heated thin liquid film and small-sized droplet for different fluids. Microthermocouple with the sensor thickness less than 3 µm is used for measurements. A temperature jump at the liquid-gas interface was clearly detected even for small evaporation rate. This jump was measured for heater temperature varying in the range 23 - 80 ° C at normal atmospheric conditions. We found the increasing of the temperature jump with increasing of the heat flux and evaporation rate. An evolution of the temperature profile with increasing of the heater temperature is obtained. Depending on the ambient condition and type of fluids, the temperature in the gas phase near the liquid-gas interface can be higher or lower than that of the liquid. The temperature profiles with negligible temperature jump at liquid-gas interface are observed for some operating conditions. Finally, we estimate the thermal resistance of thin liquid film and droplet, which is useful for cooling systems such as micro-sized vapor chamber.
|Журнал||International Heat Transfer Conference|
|Состояние||Опубликовано - 1 янв. 2018|
|Событие||16th International Heat Transfer Conference, IHTC 2018 - Beijing, Китай|
Продолжительность: 10 авг. 2018 → 15 авг. 2018


text:
Description - Hydrothermal Properties of Materials by Vladimir Valyashko
Hydrothermal Properties of Materials: Experimental Data on Aqueous Phase Equilibria and Solution Properties at Elevated Temperatures and Pressures is designed for any scientists and engineer who deals with hydrothermal investigations and technologies. The book is organized into eight chapters, each dealing with a key physical property of behavior of solutions, so that a reader can obtain information on: hydrothermal experimental methods; available experimental data and the main features of properties behavior in a wide range of temperatures and pressures; and possible ways of experimental data processing for obtaining the derivative properties.
Buy Hydrothermal Properties of Materials by Vladimir Valyashko from Australia's Online Independent Bookstore, Boomerang Books.
(304mm x 217mm x 22mm)
Publisher: John Wiley and Sons Ltd
Country of Publication:
Book Reviews - Hydrothermal Properties of Materials by Vladimir Valyashko


text:
Data Volumes
- With distributed data storage and query structure, Machbase can input and index 200 million data from a single device. With addition of equipment, the performance improves and more than 10 million sensor data can be processed per second.
- It has a dedicated API for high-speed data input and an index structure for high-speed index generation.
- For increasing time-series data over time, Machbase allows users to add additional equipment to the cluster for better performance and space.
Efficient Query Language and Interface
- Machbase supports an optimized SQL language for data processing. No-SQL products are starting to offer SQL language again.
- Inverted index and related syntax are provided for efficiently retrieving semi-structured data, making it easy to search and process semi-structured data.
- It also provides REST APIs as well as the SQL standard interface, ODBC/JDBC.
Efficient Transaction Processing
- Optimal transaction technique for time series data
- It does not provide any update but inserts and deletes are possible. Even when restarting by node fails, recovery process is performed and the consistency of data and index is maintained.
- Machbase Enterprise Edition solves the data loss caused by node failures with a distributed data storage technique.
Time Series Statistics Processing
- Automatic statistics function for time series sensor data: Automatically generate statistics for each sensor per time unit (second, minute, hour) and sensor identifier.
- It supports extended query conditional clauses optimized for time series data.
Machbase is the solution that is implemented by considering all the functions and performance requirements for processing time series data and is suitable for processing IoT data.


How To Body Surf
Learning how to body surf is one of the best ways to have fun in the ocean. Body surfing is great because, unlike other water sports, you do not need any equipment other than your own limbs to body surf. While the following tips may not transfer the average shoobie kook into Mark Cunningham, they will provide a strong foundation in how to body surf.
To body surf, you will need:
 - wave action
 - functioning limbs
 - swim fins (optional)
 - speedo (optional)
 1. Learn to swim: This is the most important and most obvious aspect of body surfing. It is impossible to body surf if you cannot swim. Case closed. The freestyle crawl stroke is the most important swim stroke for wave-riding.
 2. Improve your cardio: This is directly related to swimming skills. Bodysurfing requires long periods of swimming without stopping as well as constant treading. People in poor cardiovascular shape will find it difficult to body surf.
 3. Swim Fins: A good pair of swim fins will make it easier to body surf for several reasons. First, swim fins make swimming and treading water much less tiring. Second, swim fins provide the quick burst of speed necessary for catching waves.
 4. Ocean Knowledge: Understanding wave and current dynamics is a basic component of ocean safety and is crucial to any sort of wave riding.
In The Water:
 1. To successfully ride waves, the body surfer must position himself in the surf zone. As a wave approaches, swim for the wave by stroking towards the beach. Timing is crucial. As the wave begins to crest take one or two hard strokes and kick continuously.
 2. If you have successfully caught the wave, you will feel the wave's energy lifting upwards and pulling you towards shore.
 3. For a longer ride, point your leading hand in the direction you would like to turn.
 4. Try to make your stomach as rigid as possible. To body surf successfully, you must use your stomach as a surfboard.
 5. If losing speed, kick continuously and take a few freestyle strokes.
 6. To keep in trim, try to keep your body as straight as possible..
show comments
What Others Are Reading Right Now.
Read on Mademan


Skip to content
CLI Quickstart
This Quickstart example will walk you through selecting and ordering ARD imagery using the ARD Python CLI.
Step 1: Install tools
The CLI tools are part of the Python SDK package. To install the SDK requires having Python installed as well as the Python package installer pip. Windows users please see the main page for details about installing some of the dependencies.
% pip install max-ard --extra-index-url _URL_
The SDK uses the Boto3 package to access S3 resources. You will need to have correctly configured AWS credentials for the SDK to communicate with S3. We recommend installing the AWS CLI tools and following their configuration guide.
Step 2: Get Access
The ARD Python CLI manages access tokens for you. You will need to provide your username and password via a configuration file or with environment variables.
Configuration File
You can store your login information locally in a configuration file. The CLI can create this file for you by running:
max-ard login
You can also create a file in your home directory named .ard-config with the following contents:
[ard]
user_name = <your user name>
user_password = <your password>
You can check whether you can access the ARD system with the following command:
% max-ard login
Step 3: Create a Destination
To create the destination you must have correctly configured AWS credentials.
You can manually create your bucket and set access via the AWS Console or CLI tools, or with the Python SDK (described in the API and SDK quickstart sections respectively).
The ARD Python CLI also has tools to create and configure a bucket.
% max-ard storage init <new bucket name>
The same command will also add access to an existing bucket:
% max-ard storage init <existing bucket-name>
Step 4: Select ARD Tiles
If you already know the acquisition IDs you'd like to order, you can skip down to Step 5. But please come back and read this section!
The ARD Select system provides searching and selection for ARD data. In the past you would have had to search for image strips that looked promising, then write code to winnow the selection down. The ARD Select system has already precomputed tile level metadata and can apply that data to an AOI. It will then pick the best tiles to fit your requirements.
Defining a Select
To limit the scope of a Select, it needs to either be limited to a list of acquisition IDs, or restricted to a geographic area. For this example we'll look at imagery over Albuquerque, New Mexico, so we'll use a bounding box of (-106.8, 35.1, -106.4, 35.4).
We'll also restrict the images to those collected between the dates of 2020-07-01 and 2021-01-25, which we can represent as two ISO datetimes separated by a slash: 2020-07-01T00:00:00Z/2021-01-25T00:00:00Z.
In addition to the spatial and temporal restrictions, the Select system lets you filter imagery on other metadata fields such as cloud cover. For this example we'll add a filter to only return image tiles that are more than 95% cloud free. The CLI has a shortcut for this filter in the --min-cloud-free option. By passing --min-cloud-free 95 we can tell the Select system to only pick tiles that are 95% cloud free or better.
Similarly, we'd also like to receive tiles are mostly full of data. Tiles that are on an edge of a strip will contain nodata pixels, and we don't want to manage images that are mostly empty. We can set the --min-data option to control this. We'll pass --min-data 75 to require all tiles be 75% full of data.
The select system also lets you write query statements against image metadata fields. The two shortcut options described above work in lieu of setting filters on the metadata fields aoi:cloud_free_percentage and aoi:data_percentage. For an example of setting a filter, we restrict the selection to imagery captured by the Worldview 2 satellite. This filter looks like --filter platform eq worldview-02, where eq means equals (=). You can filter on any field by passing --filter <field> <operator> <value>. To see all the fields and operators supported by the system, see the API reference.
We'll also specify the stack_depth, which limits how many tiles in each cell are returned. By default, the system will return up to 5 file tiles per cell. We'll limit it to 3 tiles with the --stack-depth 3 option.
The Select system picks the tiles by scoring them and returns the best scoring tiles. The score is calculated based on the recency, with newer images favored over older ones, and how they compare to any filters that compare numerical values ( >, >=, <, <=)
For this example, when we set the cloud-free percentage to 95 (or aoi:cloud_free_percentage >= 95), the Select system will score acquisitions better the greater their cloud-free percentage is. This means that an image with a cloud-free percentage of 100 will score better on this metric than an image that is 96% cloud free. An image with 72% cloud free coverage does not satisfy the filter and is rejected.
Running a Select
Combining all these requirements into one command looks like:
% max-ard select submit \
 --bbox -106.8 35.1 -106.4 35.4 \
 --datetime '2020-07-01T00:00:00Z/2021-01-25T00:00:00Z' \
 --min-cloud-free 95 \
 --min-data 75 \
 --filter platform eq worldview-02 \
 --stack-depth 3
When run, you will likely see these results in about 10 seconds:
Select <id> has been submitted
Run 'max-ard select status <id>' to check the status
When the status is "SUCCEEDED" you can:
Run 'max-ard select describe <id>' to see a basic overview of the results
Run 'max-ard select browse <id>' to launch a browser-based map view of the results
Run 'max-ard select' to see all the 'order' commands
This will return a Select ID. We can then check if the Select is complete:
% max-ard select status <id>
RUNNING
For some Select queries the system can generate an answer fast enough to give you an answer in less than 10 seconds, so you'll get a message like:
Select <id> has completed
Run 'max-ard select describe <id>' to see a basic overview of the results
Run 'max-ard select browse <id>' to launch a browser-based map view of the results
Run 'max-ard select' to see all the 'select' commands
We can look at the results of the finished Select:
% max-ard select describe <id>
This generates an output like:
Getting Select ID 5742048259984049082...
*******************
Request details:
{ 'bbox': [-106.8, 35.1, -106.4, 35.4],
 'datetime': '2020-07-01T00:00:00Z/2021-01-25T00:00:00Z',
 'query': { 'aoi:cloud_free_percentage': {'gte': 95.0},
 'aoi:data_percentage': {'gte': 75.0},
 'instruments': {'not-contains': 'SWIR'},
 'platform': {'eq': 'worldview-02'},
 'view:sun_elevation': {'gte': 5}},
 'stack_depth': 3}
*******************
53 tiles identified in the following 5 acquisitions:
10300100B3841C00 (2021-01-16) - 6 tiles
10300100B2B49700 (2021-01-16) - 14 tiles
10300100AB101A00 (2020-07-24) - 17 tiles
10300100B39ACD00 (2021-01-16) - 10 tiles
10300100A67D3100 (2020-07-10) - 6 tiles
Ordering this selection will use:
- 0.0 sqkm of fresh imagery
- 1313.0 sqkm of standard imagery
- 0.0 sqkm of training imagery
To export the Select as geojson you can use the --dest <filename>.geojson option
% max-ard select describe <id> --dest my_select.geojson
An example file my_select.geojson is included in the examples section of the docs.
To see the results in map browser:
% max-ard select browse <id>
An example map browser file called select-browse


text:
Angela DiRocco L&S Sciences
Lizards Aloft: Biomechanics of the Aerial Righting Reflex in the Green Anole (Anolis carolinensis)
Arboreal animals such as the Green Anole, Anolis carolinensis, must be able to manipulate aerial descent to reduce injury when dislodged from elevated habitats. To maintain controlled aerial descent, the anole must obtain a prone posture. Anoles have been known to correct orientation after dislodgement by use of their tails through either the conservation of momentum to induce roll or by lateral swings which alter yaw.
While the mechanics behind yaw and roll alterations are understood, the extent to which an anole can correct pitch at high angles is not. My goal is to examine the aerial acrobatics performed by anoles when oriented vertically and how this affects methods of reorientation. The limitations of tail manipulations, the effects of velocity, and the angle of orientation will have a diverse effect on the ability to right. My findings will help provide information regarding the evolution of flight and aerial robotics.


text:
An electrophoretically fast-moving hemoglobin variant was found to be present together with hemoglobin S, in the hemolysate of the rythrocytes of at 3-yr-old Greek boy. Electrophoresis of the parents' erythrocyte hemolysates revealed that the father was an AS heterozygote, while the mother was a carrier of the variant hemoglobin. A sibling was also found to be a carrier. The amount of the mutant hemoglobin in the peripheral blood of the propositus, his mother, and his brother was 62.2%, 52.5%, and 51.1%, respectively, as determined by column chromatography. The patients peripheral blood smear showed mild anisocytosis, microcytosis, and hypochromia. Similar but less pronounced red cell abnormalities were found in the other two carriers. Structural analysis of the variant hemoglobin revealed substitution of an aspartic acid for the glycine residue at the beta83 (EF7) position. This new hemoglobin was named hemoglobin Pyrgos. All the carriers of hemoglobin Pyrgos are clinically healthy, and there seems to be no interaction between hemoglobin Pyrgos and hemoglobin S as manifested clinically.
This feature is available to Subscribers OnlySign In or Create an Account Close Modal


the instance already have the attribute, then
nothing is done.
As an example, using the previously described Article model::
 >>>> article_instance = Article.objects.get(id=123)
 >>>> article.id
 123L
 >>>> article.active_translation.id
 456L
 >>>> article.get_translated_id()
 456L
This design makes it possible for you to override the automatic properties and
methods in Translatable models.
The TranslationNotAvailable exception
=====================================
This exception is deprecated. If Translation objects does not exist, then some
ObjectDoesNotExist exception is raised. More precisely the actual DoesNotExist
exception of the model class is raised (as an example: Article.DoesNotExist
rather than generic ObjectDoesNotExist).
Warning: by default, only 'active language' translations are considered. So you
may catch some ObjectDoesNotExist exceptions in public views or use translated()
method of TranslatableManager.
Forms
=====
This application provides the following form tools in i18ntools.forms:
* TranslationInlineFormset: a custom formset, based on BaseInlineFormSet, that
 verifies that at least one translation is provided.
Using django.contrib.admin
==========================
This application provides the following admin tools in i18ntools.admin:
* TranslationInline: based on django.contrib.admin.StackedInline, uses
 i18ntools.forms.TranslationInlineFormset. Initiates extra and max_num
 to the number of available languages.
Consider the previously described Article and ArticleTranslation models. The
following code can be used in admin.py:
 from django import forms
 from django.contrib import admin

 from i18ntools.admin import TranslationInline

 from models import Article, ArticleTranslation

 class ArticleTranslationInline(TranslationInline):
 model = ArticleTranslation

 class ArticleAdmin(admin.ModelAdmin):
 inlines = [
 ArticleTranslationInline,
 ]

 admin.site.register(Article, ArticleAdmin)
Using managers and querysets
============================
This application provides TranslatableManager in i18ntools.managers.
The TranslatableManager manager
-------------------------------
This manager provides methods and filters to simplify use of Translatable
instances and their translations. Because this manager can perform
optimizations. It is recommended that you use it (or a subclass) as the default
manager of your Translatable models (i.e. the 'objects' property). See
explanations below for details.
This manager has the following characteristics:
* the get_query_set() method returns a TranslatableQuerySet (which resides in
 i18ntools.query). The select_translation() optimization is enabled by
 default (see below).

* the translated() method is a filter that limit the queryset to instances that
 do have translations. This method accepts an optional 'is_translated'
 argument that, set to False, returns only instances which have no translation.
 This argument defaults to True.

* the select_translation() method enables (or disables) optimizations. When
 enabled (optional parameter 'enable_select_translation' defaults to True),
 an additional query is performed to fill the cache of translations (currently
 active translation's cache). It avoids making an additional query to get the
 active translation of each the instances in the queryset.
The TranslatableQuerySet class
------------------------------
The TranslatableQuerySet class is used and returned by TranslatableManager. It
implements the following additional methods:
* translated()
* select_translation(enable_select_translation=True)
Because the queryset defines them, these methods can be chained::
 Article.objects.all().translated().select_translation(False)
Automatic fallback translations
===============================
By default, when some content has no translation in the active language, then
it does not appear in querysets. When you try to access translated properties of
such an instance, you get an ObjectDoesNotExist exception.
In some cases you want i18ntools to try returning a translation in an
alternative language if no translation exists in the active language. The
I18NTOOLS_ENABLE_AUTOMATIC_FALLBACK_TRANSLATIONS setting can be set to
True to activate this behaviour.
By default, I18NTOOLS_ENABLE_AUTOMATIC_FALLBACK_TRANSLATIONS is set to
False.
You can set I18NTOOLS_ENABLE_AUTOMATIC_FALLBACK_TRANSLATIONS in your
project's settings.
You can access I18NTOOLS_ENABLE_AUTOMATIC_FALLBACK_TRANSLATIONS through
i18ntools.settings.
Keep in mind that, in most cases, automatic fallback translations are not fair
for the user. When you cannot understand some language, you do not want to view
a mix of translated/untranslated content on a web page. So, we recommend
displaying a message like "The content you requested does not exists in [the
requested language]. You can view alternative translations in the following
languages: (list of languages with links)".
******************
Sample application
******************
A sample application is distributed with this package: i18ntools_sample.
Its code illustrates the use of i18ntools within the real world.
The i18ntools test unit use this sample application to make sure that the
concepts and tools developed here are fully compatible with real life
applications.
******************
Note to developers
******************
If you want to contribute to the code of i18ntools, you should add
the i18ntools_sample application to your development project, so that
you can test the behavior of i18ntools in a real-life application. If you
feel that pertinent use cases are not covered by i18ntools_sample, do not
hesitate to add models, views, templates or whatever...
When performing changes, do not forget to test both i18ntools and
i18ntools_sample.
****
TODO
****
* Add support for settings about language priority and language fallback
 behaviour (should we return an alternative?).
* Make it possible to manage translations as separate objects, within a
 translation workflow as example. This requires a non abstract Translation
 model.
* Enhance the Translatable and Translation APIs (automatic properties), at least
 by providing methods to get a translation instance or property by specifying
 the language (e.g. article.get_translated_title('en'))
* Optimize the TranslatableQuerySet.select_translation() method. Both Python and
 SQL optimizations may be done.
* Enhance base Admin classes.
* Enhance base Form classes.
* Use the django.db.models.signals.class_prepared signal rather than
 Translatable.__init__() to install the automatic properties. The
 class_prepared signal can be connected to the Translation subclass model by
 using a custom field ("TranslatableForeignKey" for example) that have a
 contribute_to_class() method. The signal connection happens in the
 contribute_to_class() method. It cannot occur before the model definition
 because in class_prepared, the 'sender' parameter must be a class, not a
 class name. It cannot occur after model definition, because the class_prepared
 signal is sent by the Model's metaclass (ModelBase). The Translation subclass
 must be used rather than the Translatable one. This is because in Translation
 you can access the Translatable through the TranslatableForeignKey found in
 _meta.fields, while in Translatable you cannot access the 'translations'
 reverse property through the model (it must be accessed through instance).
* Make the "post-class_prepared" magic overridable or configurable. This could
 be achieved by using a class with methods rather than several global
 functions and some settings.
* Add enable_select_translation and active_language as internal properties in
 TranslatableQueryset. This would make it possible to configure and optimize
 a queryset for a given language, which may not be the global active one.
* Remove deprecated TranslatablePublicManager and TranslationPublicManager
 classes.
* Add '


「FVWM」 – 控制虚拟桌面
Desk arg1 [arg2] [minmax]
This command has been renamed. Please see GotoDesk command.
DesktopName desk name
Defines the name of the desktop number desk to name. This name is used in the WindowList command and in the FvwmPager where it override the Label configuration option. Moreover, if consecutive names starting from desktop 0 are defined, then these names can be used by any EWMH compliant application (as a pager).
DesktopSize HorizontalxVertical
Defines the virtual desktop size in units of the physical screen size.
EdgeResistance delayEdgeResistance scrolling moving [xinerama-scrolling]
Tells how hard it should be to change the desktop viewport by moving the mouse over the edge of the screen. The parameter tells how many milliseconds the pointer must spend on the screen edge before fvwm moves the viewport. This is intended for people who use
EdgeScroll 100 100
but find themselves accidentally flipping pages when they do not want to. If -1 is given as the delay, scrolling is disabled completely.
The second form of invocation with two or three arguments is obsolete and should be replaced with the following three commands as needed:
EdgeResistance scrolling
Style * EdgeMoveDelay scrolling
Style * EdgeMoveResistance moving
Style * EdgeMoveResistance moving xinerama-scrolling
Fvwm does this substitution automatically and prints a warning.
EdgeScroll horizontal[p] vertical[p] [wrap | wrapx | wrapy]
Specifies the percentage of a page to scroll when the cursor hits the edge of a page. A trailing 'p' changes the interpretation to mean pixels. If you do not want any paging or scrolling when you hit the edge of a page include
EdgeScroll 0 0
in your config file, or possibly better, set the EdgeThickness to zero. See the EdgeThickness command. If you want whole pages, use
EdgeScroll 100 100
Both horizontal and vertical should be positive numbers.
If the horizontal and vertical percentages are multiplied by 1000 or one of the keywords wrap, wrapx and wrapy is given then scrolling wraps around at the edge of the desktop. If
EdgeScroll 100000 100000
is used fvwm scrolls by whole pages, wrapping around at the edge of the desktop.
EdgeThickness 0 | 1 | 2
This is the width or height of the invisible window that fvwm creates on the edges of the screen that are used for the edge scrolling feature.
In order to enable page scrolling via the mouse, four windows called the "pan frames" are placed at the very edge of the screen. This is how fvwm detects the mouse's presence at the window edge. Because of the way this works, they need to be at the top of the stack and eat mouse events, so if you have any kind of error along the lines of: "mouse clicks at the edge of the screen do the wrong thing" you're having trouble with the pan frames and (assuming you do not use the mouse to flip between pages) should set the EdgeThickness to 0.
A value of 0 completely disables mouse edge scrolling, even while dragging a window. 1 gives the smallest pan frames, which seem to work best except on some servers.
2 is the default.
Pan frames of 1 or 2 pixels can sometimes be confusing, for example, if you drag a window over the edge of the screen, so that it straddles a pan frame, clicks on the window, near the edge of the screen are treated as clicks on the root window.
EwmhBaseStruts left right top bottom
Where left, right, top and bottom are positive or null integers which define bands at the edge of the screen. left defines a band on the left of your screen of width left, right defines a band on the right of your screen of width right, top defines a band on the top of your screen of height top and bottom defines a band on the bottom of your screen of height bottom. The unit is the pixel and the default is 0 0 0 0. These areas define additional reserved space to the reserved space defined by some ewmh compliant applications. This is used to compute the Working Area. See the Extended Window Manager Hints section for a definition of the Working Area.
EwmhNumberOfDesktops num [max]
This command is useful only for an ewmh compliant pager or taskbar (as kpager or kicker taskbar) and not for fvwm modules ( FvwmPager or FvwmIconMan). It causes a compliant application to consider at least num desktops (desktop 0 to desktop num-1). The optional argument max causes a compliant application to never consider more than max desktops. If max is 0 (the default) there is no limitation. The actual number of desktops is determined dynamically. It is at least num, but it can be d if there is a window on desktop d-1 (or if the current desktop is desktop d-1) and d is less or equal to max or max is null. Moreover, a compliant pager can ask to change num itself. This is accepted by fvwm only if this number is less than or equal to max or if max is null. Note that negative desktops are not supported by the ewmh specification. The default is 4 0.
GotoDesk [prev | arg1[arg2][minmax]]
Switches the current viewport to another desktop (workspace, room).
The command takes 1, 2, 3, or 4 arguments. A single argument is interpreted as a relative desk number. Two arguments are understood as a relative and an absolute desk number. Three arguments specify a relative desk and the minimum and maximum of the allowable range. Four arguments specify the relative, absolute, minimum and maximum values. (Desktop numbers can be negative). If a literal prev is given as the single argument, the last visited desk number is used.
If arg1 is non zero then the next desktop number is the current desktop number plus arg1.
If arg1 is zero then the new desktop number is arg2. (If arg2 is not present, then the command has no effect.)
If min and max are given, the new desktop number is no smaller than min and no bigger than max. Values out of this range are truncated (if you gave an absolute desk number) or wrapped around (if you gave a relative desk number).
The syntax is the same as for MoveToDesk, which moves a window to a different desktop.
The number of active desktops is determined dynamically. Only desktops which contain windows or are currently being displayed are active. Desktop numbers must be between _PHONE_ and -_PHONE_ (is that enough?).
GotoDeskAndPage prev | deskxpageypage
Switches the current viewport to another desktop and page, similar to the GotoDesk and GotoPage commands. The new desk is desk and the new page is (xpage,ypage).
GotoPage prev | [options]x[p]y[p]
Moves the desktop viewport to page (x,y). The upper left page is (0,0), the upper right is (M,0), where M is one less than the current number of horizontal pages specified in the DesktopSize command. The lower left page is (0,N), and the lower right page is (M,N), where N is the desktop's vertical size as specified in the DesktopSize command. To switch to a page relative to the current one add a trailing 'p' after any or both numerical arguments.
Possible options are wrapx and wrapy to wrap around the x or y coordinate when the viewport is moved beyond the border of the desktop.
To go to the last visited page use prev as the first argument. The GotoPage function should not be used in a pop-up menu.
# Go to page (2,3)
GotoPage 2 3
# Go to lowest and rightmost page
GotoPage -1 -1
# Go to last page visited
GotoPage prev
# Go two pages to the right and one page up
GotoPage +2p -1p
Scroll [horizonal[p]vertical[p] | reverse]
Scrolls the virtual desktop's viewport by horizontal pages in the x-direction and vertical pages in the y-direction or starts interactive scrolling of the viewport. Either or both entries may be negative. Both horizontal and vertical values are expressed in percent of pages, so
Scroll 100 100
means to scroll down and right by one full page.
Scroll 50 25
means to scroll right half a page and down a quarter of a page. The Scroll function should not be called from pop-up menus. Normally, scrolling stops at the edge of the desktop.
If the horizontal and vertical percentages are 100 or more and are multiplied by 1000 then scrolling wraps around at the edge of the desktop. If
Scroll 100000 0
is executed over and over fvwm moves to the next desktop page on each execution and wraps around at the edge of the desktop, so that every page is hit in turn.
If the letter 'p' is appended to each coordinate (horizontal and/or vertical), then the scroll amount is measured in pixels.
Without arguments or if the option reverse is given interactive scrolling takes place. The viewport scrolls as the mouse is moved. With the reverse option scrolling is done in opposite direction of the mouse movement, and without it scrolling in the same direction as the mouse.
The binding
Mouse 1 A CM Scroll reverse
gives an effect of grabbing and dragging the viewport with button 1 if Control and Meta is pressed.


text:
TDR soil probe
The most advanced and precise Time Domain Reflectometry (TDR) probe available for scientists and engineers. The FP/MTS Field TDR Probe is designed to measure soil volumetric water content, temperature and electrical conductivity (EC/salinity) simultaneously.
The FP/MTS is ideally suited to the field but it can also be deployed in laboratory, soil columns, and glasshouse projects.
- Operates with FP/mts field meter and TDR/MUX/mpts laboratory meter
- Applicable for field use or monitoring purposes
- Variable length probes are available for easy field installation and maintenance.
|Measurement Principle||Time Domain Reflectometry (TDR)|
|Sensor Dimensions||2 parallel stainless steel rods | 100mm Length | 2mm Diameter spaced 14mm apart (smaller probes available upon request)|
|Cable Length||1.5m (standard) | Up to 6m (optional)|
|Soil Volumetric Water Content||0 to 100 %|
|Temperature||-20 to 50 °C|
|Electrical Conductivity/Salinity||0 to 1 S/m|
|Soil Volumetric Water Content||± 2% or less with soil specific calibration|
|Temperature||± 0.5 °C|
|Electrical Conductivity/Salinity||± 10%|
|Soil Volumetric Water Content||0.1 %|
|Electrical Conductivity/Salinity||1 mS m-1|


1. WeatherSpark.com
 2. Italy
 3. Emilia-Romagna
 4. Massa Finalese
 5. November
Average Weather in November in Massa Finalese Italy
Daily high temperatures decrease by 11°F, from 59°F to 48°F, rarely falling below 40°F or exceeding 65°F.
Daily low temperatures decrease by 9°F, from 46°F to 36°F, rarely falling below 28°F or exceeding 54°F.
For reference, on July 31, the hottest day of the year, temperatures in Massa Finalese typically range from 67°F to 88°F, while on January 11, the coldest day of the year, they range from 31°F to 42°F.
Average High and Low Temperature in November
The daily average high (red line) and low (blue line) temperature, with 25th to 75th and 10th to 90th percentile bands. The thin dotted lines are the corresponding average perceived temperatures.
The figure below shows you a compact characterization of the hourly average temperatures for the quarter of the year centered on November. The horizontal axis is the day, the vertical axis is the hour of the day, and the color is the average temperature for that hour and day.
Average Hourly Temperature in November
Average Hourly Temperature in November in Massa Finalese1815222911223344556677889910101111121213131414151516161717181819192020212122222323242425252626272728282929303012 AM4 AM8 AM12 PM4 PM8 PM12 AMOctDecvery coldcoldcoolcomfortable
The average hourly temperature, color coded into bands: frigid < 15°F < freezing < 32°F < very cold < 45°F < cold < 55°F < cool < 65°F < comfortable < 75°F < warm < 85°F < hot < 95°F < sweltering. The shaded overlays indicate night and civil twilight.
Clay City, Kentucky, United States (4,669 miles away) is the far-away foreign place with temperatures most similar to Massa Finalese (view comparison).
Clouds
The month of November in Massa Finalese experiences gradually increasing cloud cover, with the percentage of time that the sky is overcast or mostly cloudy increasing from 49% to 55%.
The clearest day of the month is November 1, with clear, mostly clear, or partly cloudy conditions 51% of the time.
For reference, on December 3, the cloudiest day of the year, the chance of overcast or mostly cloudy conditions is 55%, while on July 21, the clearest day of the year, the chance of clear, mostly clear, or partly cloudy skies is 78%.
Cloud Cover Categories in November
Cloud Cover Categories in November in Massa Finalese181522291122334455667788991010111112121313141415151616171718181919202021212222232324242525262627272828292930300%100%10%90%20%80%30%70%40%60%50%50%60%40%70%30%80%20%90%10%100%0%OctDecNov 151%Nov 151%Nov 3045%Nov 3045%Nov 1147%Nov 1147%Nov 2146%Nov 2146%clearmostly clearpartly cloudymostly cloudyovercast
The percentage of time spent in each cloud cover band, categorized by the percentage of the sky covered by clouds: clear < 20% < mostly clear < 40% < partly cloudy < 60% < mostly cloudy < 80% < overcast.
Precipitation
A wet day is one with at least 0.04 inches of liquid or liquid-equivalent precipitation. In Massa Finalese, the chance of a wet day over the course of November is decreasing, starting the month at 27% and ending it at 22%.
For reference, the year's highest daily chance of a wet day is 29% on May 9, and its lowest chance is 16% on January 30.
Probability of Precipitation in November
The percentage of days in which various types of precipitation are observed, excluding trace quantities: rain alone, snow alone, and mixed (both rain and snow fell in the same day).
Rainfall
To show variation within the month and not just the monthly total, we show the rainfall accumulated over a sliding 31-day period centered around each day.
The average sliding 31-day rainfall during November in Massa Finalese is decreasing, starting the month at 2.7 inches, when it rarely exceeds 4.5 inches or falls below 0.9 inches, and ending the month at 2.0 inches, when it rarely exceeds 3.9 inches or falls below 0.4 inches.
Average Monthly Rainfall in November
The average rainfall (solid line) accumulated over the course of a sliding 31-day period centered on the day in question, with 25th to 75th and 10th to 90th percentile bands. The thin dotted line is the corresponding average liquid-equivalent snowfall.
Sun
Over the course of November in Massa Finalese, the length of the day is rapidly decreasing. From the start to the end of the month, the length of the day decreases by 1 hour, 6 minutes, implying an average daily decrease of 2 minutes, 17 seconds, and weekly decrease of 15 minutes, 56 seconds.
The shortest day of the month is November 30, with 9 hours, 5 minutes of daylight and the longest day is November 1, with 10 hours, 11 minutes of daylight.
Hours of Daylight and Twilight in November
The number of hours during which the Sun is visible (black line). From bottom (most yellow) to top (most gray), the color bands indicate: full daylight, twilight (civil, nautical, and astronomical), and full night.
The earliest sunrise of the month in Massa Finalese is 6:53 AM on November 1 and the latest sunrise is 38 minutes later at 7:31 AM on November 30.
The latest sunset is 5:03 PM on November 1 and the earliest sunset is 28 minutes earlier at 4:36 PM on November 30.
Daylight saving time is observed in Massa Finalese during 2018, but it neither starts nor ends during November, so the entire month is in standard time.
For reference, on June 21, the longest day of the year, the Sun rises at 5:28 AM and sets 15 hours, 36 minutes later, at 9:04 PM, while on December 21, the shortest day of the year, it rises at 7:49 AM and sets 8 hours, 47 minutes later, at 4:36 PM.
Sunrise & Sunset with Twilight and Daylight Saving Time in November
Sunrise & Sunset with Twilight and Daylight Saving Time in November in Massa Finalese1815222911223344556677889910101111121213131414151516161717181819192020212122222323242425252626272728282929303012 AM2 AM4 AM6 AM8 AM10 AM12 PM2 PM4 PM6 PM8 PM10 PM12 AMOctDec6:53 AM6:53 AMNov 15:03 PMNov 15:03 PM7:31 AM7:31 AMNov 304:36 PMNov 304:36 PM7:06 AM7:06 AMNov 114:51 PMNov 114:51 PM7:20 AM7:20 AMNov 214:41 PMNov 214:41 PMSolarMidnightSolarMidnightSolarNoonSunriseSunset
The solar day over the course of November. From bottom to top, the black lines are the previous solar midnight, sunrise, solar noon, sunset, and the next solar midnight. The day, twilights (civil, nautical, and astronomical), and night are indicated by the color bands from yellow to gray.
Humidity
We base the humidity comfort level on the dew point, as it determines whether perspiration will evaporate from the skin, thereby cooling the body. Lower dew points feel drier and higher dew points feel more humid. Unlike temperature, which typically varies significantly between night and day, dew point tends to change more slowly, so while the temperature may drop at night, a muggy day is typically followed by a muggy night.
The chance that a given day will be muggy in Massa Finalese is essentially constant during November, remaining around 0% throughout.
For reference, on August 6, the muggiest day of the year, there are muggy conditions 39% of the time, while on November 11, the least muggy day of the year, there are muggy conditions 0% of the time.
Humidity Comfort Levels in November
Humidity Comfort Levels in November in Massa Finalese181522291122334455667788991010111112121313141415151616171718181919202021212222232324242525262627272828292930300%10%20%30%40%50%60%70%80%90%100%OctDecNov 10%Nov 10%Nov 300%Nov 300%Nov 110%Nov 110%Nov 210%Nov 210%humidhumidcomfortablecomfortabledrydrymuggymuggy
The percentage of time spent at various humidity comfort levels, categorized by dew point: dry < 55°F < comfortable < 60°F < humid < 65°F < muggy < 70°F < oppressive < 75°F < miserable.
Wind
This section discusses the wide-area hourly average wind vector (speed and direction) at 10 meters above the ground. The wind experienced at any given location is highly dependent on local topography and other factors, and instantaneous wind speed and direction vary more widely than hourly averages.
The average hourly wind speed in Massa Finalese is essentially constant during November, remaining within 0.1 miles per hour of 5.9 miles per hour throughout.
For reference, on March 15, the windiest day of the year, the daily average wind speed is 6.8 miles per hour, while on August 11, the calmest day of the year, the daily average wind speed is 5.3 miles per hour.
The highest daily average wind speed during November is 5.9 miles per hour on November 19.
Average Wind Speed in November
The average of mean hourly wind speeds (dark gray line), with 25th to 75th and 10th to 90th percentile bands.
The hourly average wind direction in Massa Finalese throughout November is predominantly from the east, with a peak proportion of 44% on November 1


text:
Get detailed explanations to advanced GMAT questions.
Scholars who once thought Native American literatures were solely oral narratives recorded by missionaries or anthropologists now understand this body of work to consist of both oral literatures and the written works of Native American authors, who have been publishing since 1772.
Scholars who once thought Native American literatures were solely oral narratives
Scholars thinking of Native American literatures once solely as oral narratives, and
Scholars who once had thought of Native American literatures solely as oral narratives and
Native American literatures, which some scholars once thought were solely oral narratives
Native American literatures, which some scholars once, thinking they were solely oral narratives
Option A is the correct answer.
Concept tested: Sentence Construction, Modifiers
A) Correct Answer
B) The phrase that begins with "Thinking…." Is unnecessary.
C) Inappropriate usage of the past perfect tense "had thought"
D) Collapses the sense of the sentence by changing the subject to Native American Literatures.
E) Same as D.


text:
Lipid Levels in Saliva May Serve as Non-invasive Biomarker in CF
Close link found to poor lung function, other complications: study
Lipid levels in human saliva were found to be significantly linked to complications related to cystic fibrosis (CF) — such as poor lung function — and may act as a biomarker for assessing disease activity, according to a new study.
These findings suggest that a non-invasive assessment of salivary lipids, the specific fat-like lipids in saliva, may help in guiding treatment for people with CF.
The researchers noted that larger studies are needed to examine the impact of diet and treatment on CF-related salivary lipids profiles.
The biomarker study, "Lipidomic alterations in human saliva from cystic fibrosis patients," was published in the journal Scientific Reports.
Investigating lipid levels in CF
In CF, inherited defects in CFTR, a protein that facilitates the movement of water and chloride ions across cell membranes, reduce the water content in the airways and digestive tract, leading to the buildup of thick mucus.
Emerging evidence suggests biological changes in CF also impact the metabolism of lipids — fat and fat-like molecules that participate in energy storage, cell membrane structure, and signaling.
These findings prompted researchers in Italy to examine the lipid profiles in the saliva of CF patients to determine their value in acting as non-invasive biomarkers that reflect disease activity and/or guide treatment.
The team recruited 70 adults with CF, median age 30, and 64 age-matched healthy volunteers as a control group. Participants were instructed not to eat or drink anything except water for at least two hours before saliva sample collection, which was carried out in the morning hours. Mass spectrometry was used to measure the levels of 523 salivary lipids.
Analysis revealed that the saliva of people with CF had significantly higher levels of the lipid classes called ceramides, hexosylceramides, triglycerides, and acylcarnitines compared with controls.
Across the 195 lipid levels that were significantly different, 175 (89.7%) were higher, and 20 were lower (10.2%). Levels of certain subclasses of phosphatidylcholine lipids and cholesterol esters could distinguish between CF and controls.
The researchers then examined the relationships between these lipid profiles and clinical CF characteristics to assess their value as biomarkers. Patients were divided into subgroups depending on the presence or absence of specific CF symptoms, including Pseudomonas Aeruginosa lung infection, pancreatic insufficiency, or CF-related liver disease or diabetes.
Lipids that distinguished patients with or without P. Aeruginosa infection included two types of phosphatidylcholines and two types of triglycerides. Similarly, two types of phosphatidylcholine lipids and one triglyceride were different between those with or without pancreatic insufficiency.
A cholesterol ester and a triglyceride discerned those with or without CF-related liver disease, while five triglycerides and one cholesterol ester distinguished patients with or without CF-related diabetes. Altogether, concentrations of 12 lipids were commonly altered in the saliva of CF patients across all comparisons.
The present study suggests that salivary lipid signatures are related to CF and to the severity and complications of the disease.
Finally, the team examined the relationships between lipid profiles and lung function, as assessed by FEV1, the amount of air that can force from the lungs in one second.
Statistical analysis found worse lung function in CF patients significantly correlated with elevated levels of two diacylglycerides, a phosphatidylcholine lipid, a cholesterol ester, and three so-called short-chain fatty acids (C2, C3, and C5).
"The present study suggests that salivary lipid signatures are related to CF and to the severity and complications of the disease," the researchers wrote.
These data need to be confirmed in larger populations of participants investigating the impact of diet and treatment on CF lipid profiles, they noted. A key goal is to resolve "the argument that the lipid imbalances are due to CFTR dysfunction and not CF interventions," the team concluded.


Fifteen Ways to Get Your Submission Into My "No" Folder
Absolute BlankBy Stephanie Lenz (Baker)
 1. Simultaneously submit. Even once.
 2. Assume that your lack of publication credits will mean automatic rejection.
 3. Assume that your age has any bearing on whether your story is accepted.
 4. Use your cover letter to talk about how little faith you have in your skill/talent.
 5. Mention that you have to submit somewhere because of an assignment and you chose Toasted Cheese just because you liked the name.
 6. Don't give your story a title.
 7. Describe your character within the first paragraph by using his full name, height in feet and inches, his weight in pounds, his hair color, and his eye color.
Background Image: Brian Wilkins/Flicker (CC-by-nc)
 1. If it's a contest entry, don't use the genre required.
 2. Don't proofread.
 3. Write inauthentically about a setting I know.
 4. Use double punctuation on your sentence, like a question mark paired with an exclamation point. One exclamation point pushes it enough.
 5. Have female characters who serve no purpose other than set dressing, being a trophy for the male main character, or to have conversations about the male main characters.
 6. Kiss the word count. Then when you get near the end, chop it off and call it finished instead of rewriting.
 7. Throw in a Shyamalan twist ending.
 8. Respond to a rejection by saying that TC sucks anyway, submit again.
Print Friendly, PDF & Email


text:
In 2008, the authors published a review that highlighted an emerging trend for medical schools to change their names to those of wealthy donors. Since 2008, the names of ten benefactors have been added to the medical schools receiving their gifts. Twenty-three of the 141 U.S. medical schools accredited by the Liaison Committee on Medical Education are currently named after donors. Large donations have the potential to positively affect all stakeholders by improving the resources that are available for research, teaching, and clinical care, but the rapid increase in the naming of medical schools after wealthy benefactors raises important concerns for those same stakeholders. In this perspective, the authors explore such concerns and identify mitigating strategies that institutions facing these issues in the future can use to ensure that the benefit associated with a gift outweighs any adverse impact. The authors argue for a strong presumption of impropriety when a donor possesses a conflict of interest with the potential to affect clinicians' judgment. They go on to assess how donors' control of funds may have an impact on institutional mission and research agenda, and analyze the right of an organization to remove a benefactor's name for alleged wrongdoing. The perspective considers how renaming may negatively affect brand recognition and the associated impact on students, residents, faculty, and alumni. Finally, it concludes with an analysis of taxpayer-funded organizations and the concern that educational renaming will lead to a slippery slope in which other public goods are effectively purchased by wealthy donors.
(C) 2014 by the Association of American Medical Colleges


text:
In this Skeptics answer, a user provided a rough translation of a Chinese law article — from this source — about vehicles and pedestrians using Google Translate. So I thought, why don't we provide a good translation?
The Chinese article is:
And Google says:
Article 47 of the motor vehicle when passing a crosswalk, shall slow down traffic; when a pedestrian is crossing a crosswalk, shall stop to give.
Not the best translation, certainly. What would be a more appropriate translation?