We gratefully acknowledge support from
the Simons Foundation and member institutions.
Full-text links:
Current browse context:
Change to browse by:
References & Citations
(what is this?)
Economics > Theoretical Economics
Title: Functional Decision Theory in an Evolutionary Environment
Authors: Noah Topper
Abstract: Functional decision theory (FDT) is a fairly new mode of decision theory and a normative viewpoint on how an agent should maximize expected utility. The current standard in decision theory and computer science is causal decision theory (CDT), largely seen as superior to the main alternative evidential decision theory (EDT). These theories prescribe three distinct methods for maximizing utility. We explore how FDT differs from CDT and EDT, and what implications it has on the behavior of FDT agents and humans. It has been shown in previous research how FDT can outperform CDT and EDT. We additionally show FDT performing well on more classical game theory problems and argue for its extension to human problems to show that its potential for superiority is robust. We also make FDT more concrete by displaying it in an evolutionary environment, competing directly against other theories.
Subjects: Theoretical Economics (econ.TH); Artificial Intelligence (cs.AI)
Cite as: arXiv:2005.05154 [econ.TH]
 (or arXiv:2005.05154v2 [econ.TH] for this version)
Submission history
From: Noah Topper [view email]
[v1] Wed, 6 May 2020 19:38:54 GMT (2578kb)
[v2] Mon, 26 Apr 2021 16:59:57 GMT (2679kb)
Link back to: arXiv, form interface, contact.


Skip to content.
TWiki > ManagingWebs
Managing Webs
Adding webs is a web based operation; renaming and deleting webs are manual operations done directly on the server
Overview
A TWikiSite is divided into webs; each one represents one subject, one area of collaboration. Administrators can add/rename/delete webs.
Choose Web Template
There are two methods used to create a new web. First you can use a specially designed TemplateWeb. This is an invisible web that begins with an underscore "_" character. All topics in the _default template web will be copied into your new web.
The second method is to use an existing web as a template web. This may be useful if you already have a web that you like to use as a starting point. Only topics that have names beginning with Web... (like "WebHome", "WebNotify", etc.) are copied.
In either case you will want to be sure to verify that your new web has all the custom modifications that you desire.
Adding a New Web
Create a new web by filling out this form. Note: It is not recommended to create a new web for each little project. You can organize content within a web using TWikiForms and FormattedSearch. Cross-linking topics and search is easier if there are only a few larger webs.
Name of new web: Enter a short name of up to 10 characters. The name must start with an upper case letters, followed by optional upper or lower case letters or numbers
Based on web: Select a TemplateWeb
Web color: Enter a StandardColors code for the web
Description:

Enter a short description of the web. Write Web.TopicName instead of just TopicName if you include links. This will list the web in the SiteMap (leave field empty if you prefer not to update the directory.)
Use to...

Continue the sentence describing the intended use. This is also for the SiteMap
Exclude web from "search all": No Yes Specify if you want to exclude the web from a "search all webs" search. Note that the SiteMap will not list the web if you select Yes.

Notes:
 - Attachments will NOT get copied over along with their topics
 - The manage script while creating the new web will update the following variables in the WebPreferences: WEBBGCOLOR, SITEMAPLIST, SITEMAPWHAT, SITEMAPUSETO and NOSEARCHALL. These variables are used to dynamically generate the SiteMap
 - This script does not edit the TWiki.TWikiPreferences file to update the WIKIWEBLIST. This must be done by hand
 - As of TWiki Release 01 Sep 2004, a web name can be a WikiWord. Prior to that it could be only UPPER or UPPERlower. A side effect of this is that if you do use a wiki name, %WEB% must be written as <nop>%WEB% or else it will try to link to a non-existing topic of that name
Renaming or Deleting a Web
Renaming or deleting a web requires direct access to the installation files on the host server. There are currently no browser-based equivalents of the Rename/move/delete topic tools for working with webs.
 1. Prepare your site: Search each web for links to the target web, searching topic text for Oldwebname., including the dot so you'll find references like Oldwebname.SomeTopic
 - Make changes as required, to Newwebname.SomeTopic or better yet, to %MAINWEB%.SomeTopic
 2. Edit the TWikiPreferences topic: Rename or delete the web from the WIKIWEBLIST variable
 3. Login to the TWiki server, via Telnet or FTP
 4. Go to twiki/data and rename or remove the web directory
 5. Go to twiki/templates and rename or remove the web directory if present
 6. Go to twiki/pub and rename or remove the web directory if present
Renaming the MAINWEB
If you plan to rename the Main web, remember that TWiki stores user and group topics in %MAINWEB%, default named Main. That means, every WikiName signature - Main.SomeUserName - points to it and would need updating (unless the variable, %MAINWEB%.SomeUserName, is used throughout).
-- TWiki:Main.MikeMannix - 14 Sep 2001
-- TWiki:Trash.PeterThoeny - 07 Apr 2002
-- TWiki:Main.GrantBow - 16 Jan 2003


text:
This Is a Man's World? Changes in Disposable Income Predict Sex Ratio at Birth
Ohto Kanninen, Labour Institute for Economic Research, Finland
Aleksi Karhula, University of Turku
The human sex ratio at birth (SRB) is long known to be relatively constant globally at around 107 boys born for every 100 girls. However, SRB has been rising until the World War II and declining after it in most industrial countries. Recent studies have shown that SRB varies according to exposure to chemicals and socioeconomic conditions. Here we show that changes in disposable income are positively associated with SRB in OECD countries. This is the first evidence to show that economic and social conditions influence SRB even at the macro level. This open up the field for studying the effects of social forces on phenomena that are traditionally considered to be entirely biologically determined.
Presented in Poster Session 3: Fertility Intentions and Behaviors

source: openbmb/Ultra-FineWeb


text:
The Baby Name Uniqueness Analyzer can determine how likely a person with a given name is to encounter another individual with the same name.With the latest trend of selecting unique and unusual names, popular names are not as popular as they once were. The probability that parents in 2020 name their child Liam or Olivia, the top boys' and girls' names, is only 1.04%. Twenty-five years ago the top boys' and girls' names were Michael or Jessica. Back then, a baby had a 1.94% probability of being given either name. In other words, a child born twenty-five years ago is over twice as likely to be given the current year's top name than a child born today. While this trend away from the most popular names may be associated with the current generation of parents, it's been occurring for far longer. Only 4.2% of children born last year were given a name in the top ten. In comparison, twenty-five years ago 7.9% of children would be given a name in the top ten, and 50 years ago that number was 12.5%. A person born into our parents' generation is nearly three times as likely to be given a top ten name than a person born into our kids' generation. As someone who had two other 'Sara's (spelled differently) in her kindergarten class, I am fascinated that the probability of a kindergarten class of 35 in 2021 having any two children with the same name is only 42.5%. The probability of a kindergarten class having three children with the same name? Just 1.3%. That doesn't mean it never happens. With so many kindergarteners in the US, we estimate approximately 2,251 kindergarten classes across the country will have three kids with the same name.
How unique is a given name? You might be surprised
Where does your data come from?
The Social Security Administration (SSA) for baby name popularity and population size. The SSA publishes background information on how the data is collected and distributed for the interested. Average elementary school size comes from the National Center for Educational Statistics. Similar names are computed using a combination of string and phonetic edit distances.
Were there really ten boys named Sarah in 2015?
Looks like! Our data comes direct from the US Census Data, and that's what the Social Security Administration (SSA) reports. With a 3,961,981 babies born in 2015, there's bound to be at least a few reporting errors. There's also going to be a few really far out their names. There may have been 10 boys named Sarah, but there were also 16 girls named 'Abcde'.
Hey, my daughter's/brother's/neighbor's name isn't on the list! What gives?
Congratulations on a super rare name! Your daughter/brother/neighbor is one of a kind! Or, more precisely, one of no more than 4. The Social Security Administration (SSA) does not include baby names when fewer than five babies were given the name.
Love Baby Names? Try our other Baby Name Apps. The Baby Name Explorer lets you explore names based on gender ratio, substring, popularity, or the number of syllables. If you like more unusual names, you may enjoy the Unique Name Generator, Name Blender which merges two names into one or Alternate Spelling Suggester. Finally, the Nickname Finder can help you find that perfect nick name.


text:
A healthy city is one that continually creates and improves psychosocial and social environments and expands community resources allowing people to develop to their maximum portential. The role of SEDoHs is incontestable, yet we continue to face many of the same SEDoH-related problems despite what we know.
Objectives and Approach
This project presents the idea of "Empathic Cultural Mapping" (ECM). ECM is an interactive story map which brings together vignettes taken from individual stories curated with "big data" derived from places such as Statistics Canada, the City of Calgary, and library holdings at the University of Calgary. ECM seeks to challenge users to re-imagine long held constructions around sectoral, and disciplinary driven interpretations and categorizations of lifestyle, consumption, health, and the environment. ECM seeks to encourage knowledge users from multiple sectors to think beyond what is known and to consider what might be possible.
ECM is a creative interactive undertaking. In developing ECM, a range of creative research processes have been used to record and tell the stories of a small group of newcomers (defined as those who migrate, seek refuge, or claim asylum in Canada) and position these within large data. A desire to improve the health and wellbeing of individuals and communties through opening processes of dialogoue between local government, non-government organizations, communitites, and individuals lies at the heart of this project. Knowledge and sense-making are key features of individual and community empowerment within the ECM and are viewed as powerful stimuli for change as well as powerful allies for health and a buffer against its threats.
ECM creates, shares, and brings together individual stories and 'big data'. It identifies needs that impact health in the everyday. It seeks to improve awareness of the world around us. It encourages people to communicate their experiences. Finally, it achieves its goals by using creative processes.


stayingsong stayingsong - 10 months ago 38
Perl Question
How do multiple arrow operators in series work in Perl?
I ran across a piece of Perl code I wasn't sure how to interpret today. Specifically, the line
$lookup -> {$chr} -> {$start} = $end
as I am not sure how multiple infix dereference operators work in series.
The input file contains tab-delimited chromosome names
($chr)
, start positions
($start)
, and end positions
($end)
on each line. I get that the author is creating a hash table where
$chr
maps to arrays with
$start
values corresponding to each chromosome, but I can't establish exactly what he is trying to accomplish with the next line. Any insight would be much appreciated.
my $hash;
my $lookup;
if (defined $bed_file) {
open(FILE, $bed_file);
while (my $line = <FILE>) {
chomp $line;
my ($chr, $start, $end) = split(/\t/, $line);
push(@{$hash -> {$chr}}, $start);
$lookup -> {$chr} -> {$start} = $end;
}
close(FILE);
}
Answer
$lookup -> {$chr} -> {$start} = $end
$lookup is (being treated as) a pointer to a hash of hashes. $chr is the first level key, the value is another hash pointer. $start is the second level key, whose value is $end.
This code is relying on autovivification. Although $lookup is never initialized to anything, when working with pointers in Perl, if you pretend/believe that a structure exists, it exists. Ditto for the $hash variable (a hash of arrays.)
Another Perl feature, not employed here, is arrow collapsing such that arrows between indexes (of either sort) are optional. So this code can also read:
$lookup->{$chr}{$start} = $end
possibly better revealing the two level hash structure.
$lookup and $hash at the top level are parallel hashes, in that their first level keys are the same. The $hash structure appears to be an optimization as it could be computed from $lookup:
keys(%{$lookup->{$chr}})
vs.
@{$hash->{$chr}}
the difference being that $hash would preserve the file order of the $start values and $lookup would not.


text:
Development of a Sulev Capable Technology for a Full Size Gasoline Pfi V8 Passenger Car 2001-01-1314
A full size V8 demonstrator was developed to exhibit technology required to target LEV II emission levels. The testing involved the system integration of a vacuum-insulated catalytic converter (VICC) technology, air gap exhaust components, optimized catalyst loading and control system and calibration. The development strategy utilizes the vacuum insulation, phase-change thermal storage capacity, and cold start calibration strategy to enable the catalyst to quickly reach light-off in 6 seconds over the FTP-75. All emission testing was conducted with two LA4 preparation cycles. This approach is able to reduce the heat loss of the catalytic converter brick during a 12 hour soak period and optimize the calibration warm-up strategy to reduce the amount of emissions during the first 60 seconds of the FTP-75.
The vehicle used for the demonstration was a BMW 540I application. The modifications to the vehicle were limited to the control system, engine calibration and aftertreatment. The strategy used can be applied to light and heavy-duty on-road applications to optimize tailpipe emissions levels. The vehicle also meets nominal driveability requirements over the FTP-75 temperature ranges.

source: m-a-p/FineFineWeb


Norway Personal Names
From FamilySearch Wiki
Jump to navigation Jump to search
Norway Wiki Topics
Flag of Norway.png
Beginning Research
Record Types
Norway Background
Local Research Resources
The FamilySearch moderator for Norway is SteuartRC
Introduction[edit | edit source]
Considerable confusion exists among many people with Norwegian ancestry regarding how names are used in Norway and how they should be recorded. This document attempts to give background into the historical practices, legislation, and recommended best practices for recording Norwegian personal and place names.
Things To Know[edit | edit source]
 - During the end of the 19th century people began adopting fixed surnames
 - The first law in Norway regarding names was passed in 1923
 - Most of the population used patronymic surnames which are derived from the father's given name and a suffix to identify the child's gender, -sen, -datter
 - Surnames were frequently abbreviated in records
 - The suffix -datter was frequently abbreviated as d., dr., dtr., etc.
 - Spelling was not standardized in Norway until 1917
Best Practices For Recording Names[edit | edit source]
Legislative Changes[edit | edit source]
Language and Spelling Reforms[edit | edit source]
Reforms to the written form of Norwegian started in 1862. This legislation began the standardization of the language by substituting k for c, q, and ch; the use of double vowels to indicate length was discontinued; ph was replaced in words by f, and silent e's were dropped from words. Even with these reforms in place, people continued to write information in the manner they were accustomed to, so Olaf Christophersen may appear as Olav Kristofersson in a separate document.
In 1917 the first reforms were enacted which affected both of Norway's official languages, riksmål and landsmål. Since 1929 landsmål has been called Nynorsk. The change to the orthography introduced the letter Å from the Swedish writing system with the lowercase version å to replace Aa and aa. These were accompanied by changes to the names and spellings of 188 municipalities, followed the next year by changes to the names of several counties. In the 1920s several cities were renamed; Kristiania became Oslo, Fredrikshald became Halden, Sandviken was changed to Sandvika, and others.
1923 Law on Personal Names[edit | edit source]
The first regulation on personal names in Norway, Lov om personnavn, was enacted on 9 February 1923. Among other points, this stipulated the following regarding surnames:
 - Only surnames legally acquired by ancestry, marriage, or other means could be used
 - Surnames based on the father's given name with an suffix identifying gender (sønn, son, sen for males; datter or dotter for females)
 - The name of the farm or place of residence if the person, his parents, or grandparents were the owners
 - A child should receive the father's surname if the parents were married
 - If the parents were not married, the child would receive the mother's surname
 - Upon marriage a woman receives her husband's surname
Additional legislation has been passed since then. Most notable is the law of 29 May 1964, which allowed women to retain their surname. This act also allowed men to adopt their wife's surname at marriage. The most recent legislation was passed in 2002.
Given Names[edit | edit source]
The number of unique given names in Norway is generally rather small. However, regional variations abound. In some parts of the country people have only one name as their given name, in other parts multiple names are the norm. In the 1900s hyphenated names became more common.
Culturally, a person has only one given name (or forename), but it may consist of multiple names, such as Kathinka Ovidia Isabella. In this case most English speakers would consider this to be three given names, but in Norway it would be viewed as the person's entire, single given name (forename).
Naming Patterns[edit | edit source]
A specific naming pattern was very common in Norway and in other parts of Europe until about 1900. Although not always followed strictly, the following pattern may be helpful in researching family groups and determining the parents of the mother and father:
 - The second boy was named for the mother's father.
 - The first female child was named for the mother's mother.
 - The second girl was named for the father's mother.
 - Additional children were often named for the parents' grandparents.
Sometimes two or more children within a family were given the same name. In some cases it was done because an older child died and the next child of the same gender was given the name. However, two or more children by the same given name could also have lived to adulthood. Do not presume that the first child with that same given name died unless the actual death record is found.
Regional Variation[edit | edit source]
Some caution must be exercised regarding the form of names found in the records. In many cases records were created by a person educated in Denmark or taught to write by a person educated in Denmark. As in many cases we have no record of what a person called themselves, we are forced to rely on the records which tell us what the recorder considered was the correct form of a person's name.
Consider, for example, the following:
 - In 1853 a daughter is born in eastern Norway to Hans Hansen and his wife, Else Hansdatter. The child's name at baptism is recorded as Imbjør.
 - When she is confirmed in a parish in another county on the west coast, her name is recorded as Ingebjør.
 - On the 1875 census, in yet another parish in the north, she is recorded as Ingeborg.
 - In an account of the family published in 1950 in the parish where she was born, her name is given as Ymbjørg.
Surnames[edit | edit source]
Patronymics[edit | edit source]
Illustration of the derivation of Norwegian patronymic surnames
The predominant type of surname in Norway is patronymic. Such names are based on the father's given name. This surname changed with each generation. For example, Jon Arnesen was the son of a man named Arne. If Jon had a son named Arne, the son would be known as Arne Jonsen (Arne son of Jon) and his brothers would be surnamed Jonsen, while his sisters would be known as Jonsdatter (daughter of Jon). In some of the earliest church records a person may be recorded with a matronymic surname, based on the person's mother's given name. Cases like this are very unusual, and always indicate the person was illegitimate.
After about 1850, it became the custom in the cities to take permanent surnames. By 1900 most of Norway began doing so. By 1923, when the first law regarding surnames was passed, most people had already adopted the practice of using a permanent family name to be passed to successive generations. When this happened, many Norwegians chose to use the name of their farm (residence) as their surname.
Abbreviations[edit | edit source]
Abbreviations in the records are not limited to surnames. Some given names are frequently abbreviated as well. Perhaps the most commonly encountered abbreviation is in names containing the word Christ, where it is written as X, it being a modern siglum of the Greek Χρ, representing the first two letters in the Greek spelling of Christ.
Name Frequency[edit | edit source]
A study of the 1865 census of Vågå, Norway identified 430 men (11% of the male population) with the given name of Hans. Of these 430, 22% were surnamed Olsen, 20% Hansen, 6% Johnsen, and 4% Knudsen. Because of the high numbers of people with the same given name and patronymic surname it was necessary to include a person's residence (usually a farm, but it may also be a house) as part of their identification.
Farm Names[edit | edit source]
It is believed the oldest place names in Norway are more than 2,000 years old. The practice of identifying a person in connection with their named residence (for example, Stein på Børve farm from a record in 1563) is easily that old. The earliest records we have from Norway generally identify people by their given name and residence. As these records are for the assessment of taxes, generally only landowners are identified. From other extant records, it is clear most of the population used a patronymic surname.
 - John Folkedal
 - John Aamundsen
 - John Aamundsen Folkedal
All three are the same person.
When farm names are given in a record, they provide residence information and are not part of the person's surname. As such, they should be added as part of the locality information and NOT a part of the person's name. An illustration would be a person named Mary Smith. Her name alone is not that unique, but if you were to refer to her as Mary Smith of Battle Lake, Minnesota, she is identified with much higher precision.
According to Yngve Nedrebø, Director of the Regional Archive in Bergen, "[farm names do


text:
Promoting the participation of young people in political life is becoming a higher priority worldwide. Over one third of the 169 targets established as part of the United Nations Sustainable Development Goals (SDGs) relate to young people and the importance of their empowerment, participation and well-being. Twenty targets across six SDGs – relating to hunger, education, gender equality, decent work, inequality and climate change – specifically focus on youth.
In 2014, recognizing the absence of systematic data and information on youth representation in parliaments, the IPU designed a first-of-its-kind database on the subject, to collect the relevant data through parliaments. The result was the first report on youth participation in national parliaments, which was published in October 2014 and updated in 2016. This 2018 report provides updated information on the percentages and genders of parliamentarians under the ages of 30, 40 and 45, as well as the latest information on special mechanisms designed to encourage or enhance the participation of young people in national parliaments.
Some key findings:
- Young people under age 30 constitute just over 2 per cent of the world's parliamentarians.
- 15.5 per cent of the world's MPs are under age 40 – up from 14.2 per cent in 2016, an increase of 1.3 percentage points.
- 28.1 per cent of the world's MPs are under age 45 – up from 26 per cent in 2016, a 2.1 percentage point increase.
- The global proportion of MPs under age 30 has increased by only 0.3 percentage points since 2016 (from 1.9% to 2.2%).
- 2.2 per cent of the world's MPs are under age 30 – up from 1.9 per cent in 2016, a slight increase of 0.3 percentage points.
- Male MPs continue to outnumber their female counterparts in every age group.
- The gender imbalance is less pronounced among the youngest MPs in each parliament, for whom the male/female ratio is approximately 60:40. Encouraging signs
Click here to see the report.


text:
Following the agreement with the Department of Defense, HawkEye 360 will provide radio frequency analytics research, development, and experiments to help the U.S. government test its hybrid space ISR (Intelligence, Surveillance and Reconnaissance) architecture.
Based in Herndon, Virginia, HawkEye 360 operates a constellation of satellites that detects, characterises and geolocates radio frequency signals from a range of emitters, whether used for communication, navigation or security.
By processing such RF data the company says it delivers "high-impact actionable insights" for environmental and national security issues.
"We are pleased to have the opportunity to explore at greater scale and depth, using real-world scenarios, how a leading radio frequency data and analytics provider such as HawkEye 360 can supplement and strengthen our hybrid satellite ISR architecture, and to develop new tactics, techniques and procedures to enable further utility assessments," said AFRL Technical Program Manager Charlene Jacka.
Hawkeye 360 Cluster 3
A launch in June 2021 of three further satellites, via a SpaceX Falcon 9 rocket, brought Hawkeye 360's cluster total to nine.
The Cluster 3 satellites included redundant systems for longevity, increased computing for on-board signal processing, a dedicated GNSS antenna to monitor GPS interference, and enhancements to boost geolocation accuracy, RF frequency coverage and collection capacity.
Last week, HawkEye 360 announced it had added Leidos as an investor and strategic partner in a second close of its Series D funding round.
The $5 million investment from Leidos brought the total value of Series D funding to $150 million, said the company.
"We're confident this investment will strengthen our robust capabilities in the National Security Space arena. This will also create innovative pathways to deliver bold solutions to our customers as they work to safeguard U.S. and allied interests."
As a strategic partner, Leidos will use its experience in developing advanced analytics to support the processing of HawkEye 360's RF geospatial intelligence data.
See also: UK's Satellite VU chosen for Amazon's Space Accelerator programme
Prestwick Spaceport plans for position in European space race
Government budgets for space exploration and militarisation hit record levels
Rocket Lab to buy space solar power specialist SolAero
New Symphonie to study European multi-orbit satellite system


text:
Five food preservatives exhibit genotoxicity in a plant model. - GreenMedInfo Summary
Genotoxicity of five food preservatives tested on root tips of Allium cepa L.
Mutat Res. 2007 Jan 10;626(1-2):4-14. Epub 2006 Sep 26. PMID: _PHONE_
Cumhuriyet University, Faculty of Arts and Science, Department of Biology, Sivas, Turkey. _EMAIL_
The effects of the food preservatives sodium benzoate (SB), boric acid (BA), citric acid (CA), potassium citrate (PC) and sodium citrate (SC) have been studied on root tips of Allium cepa L. Roots of A. cepa were treated with a series of concentrations, ranging from 20 to 100 ppm for 5, 10 and 20 h. The results indicate that these food preservatives reduced mitotic division in A. cepa compared with the respective control. Mitotic index values were generally decreased with increasing concentrations and longer treatment times. Additionally, variations in the percentage of mitotic stages were observed. The total percentage of aberrations generally increased with increasing concentrations of these chemicals and the longer period of treatment. Different abnormal mitotic figures were observed in all mitotic phases. Among these abnormalities were anaphase bridges, C-mitosis, micronuclei, lagging, stickiness, breaks and unequal distribution.


teal in branding examples
What does the color teal in branding look like, feel like? What color combinations create modern palettes?
Color Teal: Meaning and How to Use It in Branding
From teal blue to teal green: color palettes, and how to use the different types of teal in design.
Color teal: meaning
The color teal is a relatively young color—the first recorded use of teal as a color name in English was only in 1917. It is named after the Eurasian teal, a duck with a teal-colored stripe on its head.
Although a mix between green and blue of equal parts and really a color of its own, teal often gets pulled into the green color family. Historically, green pigments for paints and fabric dyes were hard to extract from nature and not often used in clothing and heraldic arms. While green could have been mixed with blue and yellow pigments, there was a deep dislike to mixing different substances due to distrust in alchemy. This medieval precursor of chemistry transformed matter by combining elements seemingly through magic. The superstitious convention vanished only during the early Renaissance and new copper greens were discovered by German Swedish chemist Carl Wilhelm Scheele in the late eighteenth century. [1]
The color teal and its lighter shaded sister colors turquoise, cyan, aqua, and light green aren't primary colors and are therefore not considered basic. A deep teal is calm, sophisticated, and knowledgeable, similar to the dark greens that you see in old libraries. Teal is relaxing; it can be found in nature combining blue skies and green fauna. When brightness is added to teal, or less black is used in the mix, teal becomes turquoise, aqua, cyan, or when there's less blue, it turns into light green. These lighter shades of teal are younger, clearer, and more invigorating because they remind us of the shallow waters of sunny places.
[1] Clair, Kassia St. The Secret Lives of Color. Penguin Books, 2017.
color palette from teal blue to teal green
Top: Monochrome color palette from cyan to teal. Teal is mixed from cyan plus 50% black. Bottom: Analogous color palette that shows the colors next to teal: blue and green.
The color teal with white that lightens the color and makes it look duller. In contrast, if black is added to a color the darkness increases. These processes are called tinting (adding white) and shading (adding black).
The teal color values: from teal blue to teal green
When using the RGB color model like any screen does (a TV screen, a computer screen, a phone), the colors red, green, and blue (RGB) are being added and they create yellow, cyan, and magenta when they overlap and are being mixed. Cyan is composed of 50% green and 50% blue. In the CMYK color model (anything that gets printed on e.g. a home printer), if 50% black is added to cyan you'll get the color teal. Teal has an RGB value of 0/128/128 or 0% red, 50.2% green, and 50.2% blue, and its HEX color value is #008080.
The more blue is added to the RGB value, teal turns into a teal blue and if green is added to teal, it turns into teal green.
examples teal for fashion, clothing, B2C
What does teal look like when used as a brand color for fashion labels, as B2C products or in branded spaces? Teal is sophisticated when used sparingly or when used boldly. It pairs well with neutral tones like white, beige and browns. Teal in form of texture carries well as velvet, a thick linen, or chenille. All photos courtesy of Unsplash.
examples teal as brand color for travel and art
The color teal lends itself for being used in travel and lifestyle branding—teal marries elegance, nature and depth. A modern palette that includes teal can use blue and green, brown, orange, and gold. Teal stands out when paired with muted colors like brown or desaturated blues and makes for a strong companion when used alongside a vibrant orange.
examples teal in branding for wellness and fashion
Teal communicates calm, comfort, and knowledge. Its sister colors aqua, cyan, and turquoise have less black and are therefore fresher and younger.
Industries and famous brands that use the color teal
In branding, the color teal is commonly used in electronics, sports, entertainment, communications, and creative sectors, and, when used in lighter and brighter tones, in children-related industries.
Teal had its high times during the 90s, especially in sports branding but was superseded by blue again in the early 2000s. While blue is often listed as Western people's most favorite color, a comprehensive 2016 publication shines a light on research showing that people have color preferences based on contexts such as clothing, furniture, or general designs as well as personal experiences and cultural backgrounds.
In the process of finding a brand color palette, branding agencies spend a lot of time choosing exactly the right shades. The strategic place to start is to take a look at the common brand colors in your industry first. As a second step, select a color based on what your closest competitors are not using. The reason for that is "brand positioning"—the way the customer thinks of a brand. Good brands stand out—they're known for something relevant in their field. Considering that, the color teal might be a great strategic choice because it's not used very often; it makes the brand more memorable in the eyes of the customer.
famous brand logos teal and turquoise
Famous brands that use teal and its lighter color versions aqua, turquoise and light green: Siemens, Canva, GoDaddy, Tiffany & Co., Pampers, Clinique, TikTok, Deliveroo, and Bausch + Lomb.
Traits of teal
After looking at your competitors' brand colors and selecting a few colors that are not being used and may also fit your direction, pick a final color based on the general emotion you want to convey. Teal's positive traits are healing, friendliness, invigoration, clarity, creativity, and calm. Teal's negative traits are aloofness and unreliability.
Then build a palette from there: In modern branding, one bold brand color—which may or may not be complemented by up to three secondary colors—does well.
And if you're on a tight budget or if you're still testing product-market fit, Mojomox is the modern way to design your brand identity online for free. Create color palettes and designer-quality wordmark logos fast with customized details that fit your brand.
teal color palette using monochrome and analogue colors
Teal within a monochrome (shades of teal) and analogous (neighboring colors in a color wheel) colors blue and green. These types of color palettes create a deep, monochrome look.
teal color palette using complementary colors
The color teal with complementary colors such as orange and brown. Complementary colors are on opposite sides within a color wheel. They create a strong contrast.
teal color palette using complementary colors
Teal paired with muted complementary colors (top), and analogous colors green and blue with more brightness (bottom two rows). These palettes create a more vibrant look.
Modern color palettes including teal
Above we selected a few modern color palettes that include the color teal. For custom palettes try a color palette tool like Adobe Color. It lets you generate colors that work well together and you can test them for readability and accessibility.
Mojomox lets you create modern wordmark logos and color palettes online for free.


Type Checking Modular Multiple Dispatch with Parametric Polymorphism and Multiple Inheritance
The Formalization in COQ might also be of interest to some.
Comment viewing options
Most specific instance selection
Thanks for the post, Sandro. This fits in well with our recent discussions on overloading.
I wonder if someone can justify this mechanism on semantic grounds. Why is it a good idea to even be asking the question of which is the most specific instance? When we are defining a function by pattern matching, we don't list a bunch of patterns in random order and let the compiler tease out which pattern is most specific. It seems to me that there are two cases with overloads:
1. At least one of the overloads is aware of the other and there is a particular order in which overloads should be tried (using the first that applies). This is the case with typical pattern matching of closed algebraic datatypes.
2. The overloads are mutually unaware of each other. In this case, I would argue that no ambiguity should be tolerated. Even if one is more "specific" than another, that may be accidental and shouldn't be used to resolve the overload.
It seems likely to me that the idea of "most specific dispatch" arose out of an attempt to handle both of these cases with a single mechanism. I'd question whether that is a good idea.
Your second case is handled
Your second case is handled in Fortress using the meet rule, where the definitions of each overloaded function must form a meet semilattice, ie. in the paper's words, "The Meet Rule requires every pair of declarations to have a disambiguating declaration, which is more specific than both and applicable whenever both are applicable. (If one of the pair is more specific than the other, then it is the disambiguating declaration.)".
If I understand you correctly, you're positing a scenario where some function foo has definitions on types (t1, t2) and (t0, t3) but dispatched on (t1, t3), where t1 <: t0 and t3 <: t2. In this case, the second definition isn't aware of the first, nor the first aware of the second. The meet rule would require a disambiguating overload to resolve this case.
Edit: as to whether it's a good idea, I'm not sure. I think most of the difficulties arise from the pervasive subtyping of Fortress. I can imagine a simpler language with more controlled subtyping, like an algebraic constructor being its own type that's a subtype of the algebraic type, to be much more straightforward.
Not that case, exactly
For example if one module defines f(Nat) and another f(Number), I'm saying it is a mistake to not report the ambiguity just because Nat is more specific. It's possible the person writing the call only had in mind the Number definition.
Perhaps a more specific
Perhaps a more specific example where this would be undesirable might demonstrate why this would be a bad idea. I'm not seeing how your example differs from overriding a method f by inheriting from Number. The code calling f on Number would know that it's calling a method that could be overridden by any subtypes.
I read this as "most OO languages don't have sensible semantics anyway, so how is this any different?" Fair enough, but I think you can often interpret object encodings in a somewhat sensible way, with methods contributing both an interface and a default implementation. A subclass can be seen as overriding the default implementations while building a record of methods. There is no "most specific type" based dispatch going on in this view, even if that would produce the same result. When we switch to multi-methods, there is no longer a corresponding (somewhat) sensible semantics.
When we switch to
Isn't there? What's the meaning of "sensible"? The Fortress semantics seem quite sensible to me, which is why I asked for a specific example where you think it, or even a single inheritance overriding, isn't sensible and so I can understand precisely what that means.
Edit: consider the example I brought up earlier, of limited subtyping where sum constructors are types that subtype the sum type itself. "Most specific" is then simply pattern matching, and moreover enables a form of extensible sums and cases. There doesn't seem to be anything nonsensical about the principle of "most specific" itself, so what I'm trying to say is that I think your problem with Fortress or multimethods probably lies elsewhere, like with the pervasive subtyping.
"Most specific" is then
But one that suffers from the problem of more specific patterns silently overriding more general patterns. In a modular setting, this looks like a misfeature to me. The "more specific than" relation looks like a proxy for "is intended to specialize". That seems dangerous when these patterns are spread among modules and the authors might not even be aware of each other.
Dangerous and Useful
Usually these specialisations are different algorithms that do the same thing. For example sorting is a family of algorithms. Current languages only impose syntactic and type constraints on the specialised algorithms in a family, but ideally there should be semantic constraints in the form of axioms.
However there will always be things that are difficult to enforce, for example how do you prove that vector addition is actually the same thing as integer or floating point addition.
Rust actually places constraints on where implementations can be declared, which is more restrictive than the axiomatic approach but much simpler to implement. Rusts rules are something like you can only implement a trait declared in another module for a type declared in the same module as the implementation. This leads to the common pattern of declaring a wrapper type in your module to allow you to implement library traits on generic type parameters (which might be instantiated with types declared elsewhere, so you need to wrap in a local type). This means you cannot redefine addition in integers, but you can define a wrapper and redefine addition on wrapped integers. Its overly restrictive because you cannot redefine addition on types that implement the integer-trait, because some of those types might already have addition defined elsewhere, but you can redefine addition on types that implement the integer-trait, and are wrapped in your local type wrapper.
Obviously these features have uses that would be affected if you just removed them and didn't replace them with anything else, but that's usually true for bad features as well as good ones. The question is whether the proposed mechanism is better than alternatives.
I'm generally skeptical of the approach to language design that starts with a mechanism and tries to tweak it until it has nice properties. I'd prefer to start by finding semantics that faithfully model the aspects of the problem we are interested in and then build a language around that semantics. "Most specific" dispatch still seems to me to be a fairly ad hoc mechanism.
Programming as Abstract Algebra
We want to model abstract algebra, so we start with implementing algorithms over common algebraic concepts (Elements of Programming, chapters 1 - 5). Then we understand the patterns of abstract algebra, we can look at algorithms over core computer science concepts like containers. It turns out the algebraic structure of containers can be modelled by a family of iterators, and so we explore the algorithms that can be implemented in terms of different iterators (Elements of Programming, chapters 6 - 9). Then we take what we have and look at how we can do something useful like rearrangements and rotations (which are very useful generic algorithms that turn out to have all sorts of uses, Elements of Programming, chapters 10 - 11). This includes algorithm selection which is where you want trait (or type-class) based dispatch, and specialisation, as you want to select the optimal rotation algorithm depending on the type of iterator supported by the container. This relies on the earlier decision that containers should only implement iterators that are efficient for that container (which follows the general principles of abstract algebra).
So this is all part of a disciplined mathematical model, and not ad-hoc in any way. Reading Elements of Programming should make this clear. Watching this video is a good place to start: _URL_
a use of lazy eval or something more sophisticated
I like the idea of specifying algorithms in the simplest forword form, and yet being able to pull data through layers of them as needed.
But lazy eval at least as implemented in haskell has the idea that if you can access an old calculation, it has to be persistent for the life of the program - it has no optimization that says it's sometimes better to stop caching and recalculate later.
I once tried to do this sort of thing with layers of ring buffers and optimized loops using templates in c++ (I was doing sound processing).
I never figured out why pulling data through many layers of these was slow - I thought I calculated the size and use of the buffers to not have to recalculate on normal use.
But I like this idea best:
YOu specify the algorithm in its simplist form, maybe with some small hint about needed overlap and expected block size, and another program optimizes the buffers and partial generators behind your back.
In other words I want a new model of computing based on metaprogramming!
Lazy evaluation is a misfeature
The problem with lazy evaluation is that the performance is very unpredictable and difficult for people to understand. Having spent some time writing large programs in Haskell, I now think default lazy evaluation was a misfeature. I prefer Rust's eager approach, as performance is much more predictable and understandable. I don't think you actually need lazyness, as you can just use an object and an iterator. If you always access collections through an iterator interface (which I think is the right way to do


How to generate a file without saving it to disk in python?
Published 1/29/20233 minutes reading
Introduction
Python allows you to generate a file without saving it to disk in a few different ways. In this tutorial, I will explain how to do this using a few different methods, including:
 1. Using the io module to create a file-like object in memory.
 2. Using the tempfile module to create a temporary file that is automatically deleted.
 3. Using the StringIO class from the io module to create a file-like object in memory.
Method 1: Using the io module to create a file-like object in memory
 - Step 1 - Import the io module
import io
 - Step 2 - Use the io.StringIO() or io.BytesIO() function to create a file-like object in memory.
f = io.StringIO()
This creates a file-like object that you can write to and read from, just like a regular file.
 - Step 3 - Write to the file-like object using the write() method.
f.write("Hello World!")
 - Step 4 - Read from the file-like object using the read() method.
f.seek(0)
print(f.read())
The output will be "Hello World!"
 - Step 5 - Close the file-like object when you're done with it.
f.close()
Method 2: Using the tempfile module to create a temporary file
 - Step 1 - Import the tempfile module
import tempfile
 - Step 2 - Use the tempfile.NamedTemporaryFile() function to create a temporary file.
with tempfile.NamedTemporaryFile() as f:
 f.write(b"Hello World!")
 f.seek(0)
 print(f.read())
This will create a temporary file, write "Hello World!" to it, read the contents of the file, and then automatically delete the file when the with block is exited.
Method 3: Using the StringIO class
 - Step 1 - Import the StringIO class
from io import StringIO
 - Step 2 - Use the StringIO() function to create a file-like object in memory.
f = StringIO()
This creates a file-like object that you can write to and read from, just like a regular file.
 - Step 3 - Write to the file-like object using the write() method.
f.write("Hello World!")
 - Step 4 - Read from the file-like object using the read() method.
f.seek(0)
print(f.read())
The output will be "Hello World!"
 - Step 5 - Close the file-like object when you're done with it.
f.close()
In all three methods, you can see that we can write, read and even manipulate the data in memory as if it were a file on disk, without having to create a file on disk. It is important to note that these file-like objects are stored in memory and may have a size limit based on the amount of memory available. Therefore
it is important to keep that in mind when working with large amounts of data.
Another thing to keep in mind is that the data stored in these file-like objects is not persistent and will be lost if the program exits or the object is closed. If you need to save the data for later use, you will need to write it to a real file on disk.
Conclusion
In conclusion, working with file-like objects in memory can be a useful technique for developers to keep in mind when working with files in Python. It allows you to work with data in a similar way to how you would work with a real file on disk, but without the need to actually create a real file on disk. This can be useful in situations where you need to work with a file-like object, but don't want to create a real file on disk, or you need to work with large amounts of data that cannot fit into memory. The io, tempfile, and StringIO modules in Python all provide different ways to work with file-like objects in memory, and understanding how to use these modules can be a valuable skill for any Python developer.
Tags:
 1. Python


text:
jugfuls is a valid word in this word list. For a definition, see the external dictionary links below.
The word "jugfuls" uses 7 letters: F G J L S U U.
Direct anagrams of jugfuls:
Adding one letter to jugfuls does not form any other word in this word list.
Shorter words found within jugfuls:
flu flus fug fugs fugu fugus gul gulf gulfs guls jug jugful jugs jus lug lugs slug sulu ulu ulus us
List shorter words within jugfuls, sorted by length
Words formed from any letters in jugfuls, plus an optional blank or existing letter
Try a search for jugfuls in these online resources (some words may not be found):
OneLook Dictionaries -
Each search will normally open in a new window.
List all words starting with jugfuls, words containing jugfuls or words ending with jugfuls
All words formed from jugfuls by changing one letter
Other words with the same letter pairs: ju ug gf fu ul ls
Browse words starting with jugfuls by next letter
Previous word in list: jugful
Next word in list: jugged
Some random words: iolite


text:
What is the difference when calling people a 'toad' or a 'frog'?
In the last few days, I watched something. I heard some expressions. They were about people, but they were given "frog" and "toad" names.
What I mean is that most of the ones in their vicinity said they were either toads or frogs. I do know the difference, but I don't understand why they picked alike animals.
What's the difference when naming someone a toad or a frog?
And what does it mean aside from the literal approach?


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Analysis: Runway, a new formal specification system
I also really liked Runway's enum type, which replaces the common TLA+ approach of using hardcoded strings to indicate state.
Year and a half late here, but I just found a great way to represent enums! Since foo["bar"] = foo.bar, you can define
Enum(set) == [x \in set |-> x]
color == Enum({"Red", "Green", "Blue"})
To get color.Red, color.Green, and color.Blue. Not a perfect solution, but it's working for me so far.
Hillel

On Monday, 4 July 2016 16:32:13 UTC-5, Andrew Helwer wrote:
Objective
This post presents an analysis of the new Runway formal specification system as it relates to TLA+. The following questions will be answered:
 1. In the areas where feature overlap exists, how does Runway compare to TLA+?
 2. What additional features does Runway possess, and how/how well do they work?
 3. What is the possible impact of Runway on formal specification in general and TLA+ in particular?
Introduction
Runway is a new formal specification system developed by Diego Ongaro, the primary author of the Raft paper. Runway comprises a formal specification language, model checker, simulator, and (most interestingly) visualizer. Ongaro introduced Runway in this blog post (TLA+ is mentioned at 25:30 in the embedded video); I recommend skimming it to get the full pitch. You can also see visualizer demos for a few specs here, including one for Raft. I was immediately interested in the simulator and visualizer features, as well as its perceived position as a more accessible formal specification language (see HN discussion). I wrote my own TLA+ elevator spec for in-depth language comparison with the existing Runway elevator spec, and implemented the Die-Hard problem in the Runway language as a crash course on taking a Runway spec from zero to running a visualizer. All of my source files live in this GitHub repo.
Feature Comparison
Below is the feature breakdown at time of writing. Note I tried to avoid features lacking only due to Runway's infancy - for example, distributed model-checking.
Features shared between TLA+ and Runway
 - Formal specification of safety properties
 - Exhaustive model-checking of safety properties
 - Randomized or "simulation mode" model-checking (note Runway has additional capabilities here)
 - More precise than plain-English specification
Features present only in TLA+
 - Formal specification of temporal properties (ex. if a person requests an elevator, they will eventually reach their desired floor if they act appropriately)
 - Exhaustive model-checking of temporal properties
 - Machine-checked proofs of correctness (TLAPS)
 - Pretty-printed specifications
 - Refinement
Features present only in Runway
 - REPL
 - In simulation mode, assign time values & probabilities to operations to see system behavior under real-world conditions
 - Create graphics & animations hooking into the simulation mode to visualize system function
Shared Feature: Specification Language
The largest area of feature overlap between Runway and TLA+ is the language, as used to formally specify safety properties. Fundamental language paradigms are identical; Runway defines next-state relations (called rules in parlance) to be explored by the model-checker while checking invariants. Differences include:
 - TLC accepts a subset of TLA+, whereas the Runway language has no constructs beyond those accepted by its model checker.
 - Runway has a type system, which can feel restrictive when trying to do something unanticipated in the language design (for example, cross product).
 - Runway does not currently support user-defined operators (note: these are different from functions), refinement or temporal properties.
 - Runway more resembles a conventional programming language; this means it is more verbose (see below), but may be easier to parse for simple static code analysis or mainstream IDE features such as auto-completion.
 - Same as TLA+, Runway has sequences, sets, and records, but also includes a nice enum type.
TLA+ is much more concise than Runway. My elevator TLA+ spec clocks in at around 225 lines including liveness properties, versus over 450 for the Runway safety spec. We can see the difference in the logic to determine whether an elevator ought to stop at a floor (we stop if either the elevator has the button for that floor pressed, or there is an active call at that floor):
TLA+
IsDestination[e \in Elevator] ==
LET eState == ElevatorState[e] IN
\/ \E call \in ActiveElevatorCalls : call.floor = eState.floor /\ call.direction = eState.direction
\/ eState.floor \in eState.buttonsPressed
Runway
function isDestination(floor: Floor, elevator: Elevator) -> Boolean {
for pid in elevator.riders {
match people[pid] {
Riding(r) {
if r.destination == floor {
return True;
}
}
default { assert False; }
}
}
for call in elevator.floorCalls {
if (call.floor == floor && call.direction == elevator.direction) {
return True;
}
}
return False;
}
Runway's REPL made it easy to get hands-on with the language, and its familiar syntax might endear it to formal specification newcomers. The language was easy to pick up from a TLA+ background, modulo some confusion about ranges (1 .. N) and their relation to sets. I also really liked Runway's enum type, which replaces the common TLA+ approach of using hardcoded strings to indicate state.
Here is the full Runway language documentation.
Runway Feature: The Simulator
The Runway simulator generates a single behavior from the spec. TLC has a similar "depth first" mode, but Runway has something TLC lacks: a global clock. The global clock is used to assign time costs to actions; this works through a special function, past(t), which returns true only if t is less than the current global clock value. Sensibly, past(t) always returns true in normal model-checking mode. Here's how past(t) would look in TLA+:
CONSTANT Actors
VARIABLES WakeTime, GlobalClock
TypeInvariant ==
/\ WakeTime \in [Actors -> Nat]
/\ GlobalClock \in Nat
past(t) == t <= GlobalClock
later(t) == GlobalClock + t
Init ==
/\ WakeTime = [Actors |-> 0]
/\ GlobalClock = 0
Tick ==
/\ GlobalClock' = GlobalClock + 1
/\ UNCHANGED WakeTime
WakeAndDoStuff(a) ==
/\ past(WakeTime[a])
/\ WakeTime' = [WakeTime EXCEPT ![a] = later(5)]
/\ UNCHANGED GlobalClock
Next ==
\/ Tick
\/ \E a \in Actors : WakeAndDoStuff(a)
In Runway, the GlobalClock variable is implicit and its associated functions/actions are part of the language itself. The simulator logic also privileges non-Tick actions, so if WakeAndDoStuff(a) is enabled for any Actor then that action is taken rather than Tick (also, the implementation skips ahead the global clock to the next interesting time). Random choice handles nondeterminism. Speaking of randomness, Runway includes functions to inject probabilistic behavior into the simulation. For example, we can add random network latency:
var messageArrivesAt : Time = later(urandomRange(0, 10000));
rule ProcessMessage {
if (past(messageArrivesAt)) { DoStuff(); }
}
Putting it all together, you can simulate your system in real(ish) world conditions to identify bottlenecks or even gather performance metrics! I can imagine this as a neat way to explore the efficacy of different scheduling algorithms.
Runway Feature: The Visualizer
When I first came across Runway I was most interested in the visualizer. I recall the simulator/visualizer combo as a common request from pupils in the TLA+ class, and was eager to see how well it worked in practice. The theory is you write a bunch of _javascript_ code which hooks into your model simulation and uses the D3 visualization library to associate graphics & animation with each state and action. I'm very much a _javascript_ amateur and have never worked with D3. I'd like to say I accomplished my goal of getting the DieHard visualizer to work, but I didn't - the only current documentation is the raft example, which I found far too complicated. I encourage you to look at the visualizer examples here for examples of what is possible. Perhaps I will return to this project once the documentation is better fleshed out.
The Future
TLA+ can only benefit from Runway's existence. Getting more people into formal specification, especially students, normalizes TLA+'s value proposition even if they aren't using TLA+ specifically. Showcasing TLA+ for people already practicing formal specification is much, much easier than pitching people cold. This isn't to say Runway doesn't compete with TLA


text:
How can the law apply to climate change?
Join oikos NYC as we welcome Randall S. Abate, who will speak about the legal aspects of a warming world. His discussion will focus on how the law can protect the most vulnerable under climate change.
Future generations, wildlife, and natural resources – collectively referred to as "the voiceless" in this presentation – are the most vulnerable and least equipped populations to protect themselves from the impacts of global climate change.
Domestic and international law protections are beginning to recognize rights and responsibilities that apply to the voiceless community; however, these legal developments have yet to be pursued in a collective manner and have not been considered together in the context of climate change and climate justice. This presentation first identifies the common vulnerabilities of the voiceless in the Anthropocene era. It then proposes how the law can evolve to protect their interests more effectively through a stewardship-focused and rights-based system derived from the mandate inherent in the concept of sustainable development.
This presentation is based on Professor Abate's forthcoming book by the same title, which will be published by Cambridge University Press in August 2019.
Randall S. Abate
Randall S. Abate is the inaugural Rechnitz Family / Urban Coast Institute Endowed Chair in Marine and Environmental Law and Policy, and a Professor in the Department of Political Science and Sociology, at Monmouth University in West Long Branch, New Jersey. He teaches courses in domestic and international environmental law, constitutional law, and animal law.


Meeting with students to discuss the Message of the President of RK N.A. Nazarbayev
On 9 February 2017, Research Institute of Patriotic education held a meeting on explanation of the main provisions of the Message of the President of the Republic of Kazakhstan N.A. Nazarbayev to people of Kazakhstan "Third modernization of Kazakhstan: global competitiveness".
Director of SRI of Patriotic education D.E. Jakupova noted that on 31 January 2017, President of the Republic of Kazakhstan N.A. Nazarbayev addressed the nation with another message. Each message is a policy document and strategy to action – the current message is not an exception.
 In his message, President sees five main priorities. They are designed to provide growth of economy above the global average and sustainable progress into 30 most developed countries.
 1. The first priority is the accelerated technological modernization of the economy.
 2. The second priority is essential improvement and enhancing the business environment.
 3. The third priority is macroeconomic stability.
 4. The fourth priority is the improvement of the human capital quality.
 5. The fifth priority are institutional reforms, security and the fight against corruption.
After reading, the group held a discussion on the President's address to people of Kazakhstan. The important moments of contemporary realities and the directions of further development of our country were considered.
Overall, students took an active part in the discussion of the Message and constitutional reforms. The meeting was held in warm friendly atmosphere.


Using 'varip' variables [PineCoders]
The new varip keyword in Pine can be used to declare variables that escape the rollback process, which is explained in the Pine User Manual's page on the execution model. This publication explains how Pine coders can use variables declared with varip to implement logic that was impossible to code in Pine before, such as timing events during the realtime bar, or keeping track of sequences of events that occur during successive realtime updates. We present code that allows you to calculate for how much time a given condition is true during a realtime bar, and show how this can be used to generate alerts.
1. varip is an advanced feature which should only be used by coders already familiar with Pine's execution model and bar states.
2. Because varip only affects the behavior of your code in the realtime bar, it follows that backtest results on strategies built using logic based on varip will be meaningless,
 as varip behavior cannot be simulated on historical bars. This also entails that plots on historical bars will not be able to reproduce the script's behavior in realtime.
3. Authors publishing scripts that behave differently in realtime and on historical bars should imperatively explain this to traders.
Escaping the rollback process
Whereas scripts only execute once at the close of historical bars, when a script is running in realtime, it executes every time the chart's feed detects a price or volume update. At every realtime update, Pine's runtime normally resets the values of a script's variables to their last committed value, i.e., the value they held when the previous bar closed. This is generally handy, as each realtime script execution starts from a known state, which simplifies script logic.
Sometimes, however, script logic requires code to be able to save states between different executions in the realtime bar. Declaring variables with varip now makes that possible. The "ip" in varip stands for "intrabar persist".
Let's look at the following code, which does not use varip:
int updateNo = na
if barstate.isnew
 updateNo := 1
 updateNo := updateNo + 1
plot(updateNo, style = plot.style_circles)
On historical bars, barstate.isnew is always true, so the plot shows a value of "1". On realtime bars, barstate.isnew is only true when the script first executes on the bar's opening. The plot will then briefly display "1" until subsequent executions occur. On the next executions during the realtime bar, the second branch of the if statement is executed because barstate.isnew is no longer true. Since 'updateNo' is initialized to 'na' at each execution, the 'updateNo + 1' expression yields 'na', so nothing is plotted on further realtime executions of the script.
If we now use varip to declare the 'updateNo' variable, the script behaves very differently:
varip int updateNo = na
if barstate.isnew
 updateNo := 1
 updateNo := updateNo + 1
plot(updateNo, style = plot.style_circles)
The difference now is that 'updateNo' tracks the number of realtime updates that occur on each realtime bar. This can happen because the varip declaration allows the value of 'updateNo' to be preserved between realtime updates; it is no longer rolled back at each realtime execution of the script. The test on barstate.isnew allows us to reset the update count when a new realtime bar comes in.
Let's move on to our script. It has three parts:
 — Part 1 demonstrates how to generate alerts on timed conditions.
 — Part 2 calculates the average of realtime update prices using a varip array.
 — Part 3 presents a function to calculate the up/down/neutral volume by looking at price and volume variations between realtime bar updates.
Something we could not do in Pine before varip was to time the duration for which a condition is continuously true in the realtime bar. This was not possible because we could not save the beginning time of the first occurrence of the true condition.
One use case for this is a strategy where the system modeler wants to exit before the end of the realtime bar, but only if the exit condition occurs for a specific amount of time. One can thus design a strategy running on a 1H timeframe but able to exit if the exit condition persists for 15 minutes, for example. REMINDER: Using such logic in strategies will make backtesting their complete logic impossible, and backtest results useless, as historical behavior will not match the strategy's behavior in realtime, just as using 'calc_on_every_tick = true' will do. Using 'calc_on_every_tick = true' is necessary, by the way, when using varip in a strategy, as you want the strategy to run like a study in realtime, i.e., executing on each price or volume update.
Our script presents an 'f_secondsSince(_cond, _resetCond)' function to calculate the time for which a condition is continuously true during, or even across multiple realtime bars. It only works in realtime. The abundant comments in the script hopefully provide enough information to understand the details of what it's doing. If you have questions, feel free to ask in the Comments section.
The script's inputs allow you to:
 - Specify the number of seconds the tested conditions must last before an alert is triggered (the default is 20 seconds).
 - Determine if you want the duration to reset on new realtime bars.
 - Require the direction of alerts (up or down) to alternate, which minimizes the number of alerts the script generates.
The inputs showcase the new 'tooltip' parameter, which allows additional information to be displayed for each input by hovering over the "i" icon next to it.
The script only displays useful information on realtime bars. This information includes:
 - The MA against which the current price is compared to determine the bull or bear conditions.
 - A dash which prints on the chart when the bull or bear condition is true.
 - An up or down triangle that prints when an alert is generated. The triangle will only appear on the update where the alert is triggered,
 and unless that happens to be on the last execution of the realtime bar, it will not persist on the chart.
 - The log of all triggered alerts to the right of the realtime bar.
 - A gray square on top of the elapsed realtime bars where one or more alerts were generated. The square's tooltip displays the alert log for that bar.
 - A yellow dot corresponding to the average price of all realtime bar updates, which is calculated using a varip array in "Part 2" of the script.
 - Various key values in the Data Window for each parts of the script.
Note that the directional volume information calculated in Part 3 of the script is not plotted on the chart—only in the Data Window.
Using the script
You can try running the script on an open market with a 30sec timeframe. Because the default settings reset the duration on new realtime bars and require a 20 second delay, a reasonable amount of alerts will trigger.
Creating an alert on the script
You can create a script alert on the script. Keep in mind that when you create an alert from this script, the duration calculated by the instance of the script running the alert will not necessarily match that of the instance running on your chart, as both started their calculations at different times. Note that we use alert.freq_all in our alert() calls, so that alerts will trigger on all instances where the associated condition is met. If your alert is being paused because it reaches the maximum of 15 triggers in 3 minutes, you can configure the script's inputs so that up/down alerts must alternate. Also keep in mind that alerts run a distinct instance of your script on different servers, so discrepancies between the behavior of scripts running on charts and alerts can occur, especially if they trigger very often.
Events detected in realtime using variables declared with varip can be transient and not leave visible traces at the close of the realtime bar, as is the case with our script, which can trigger multiple alerts during the same realtime bar, when the script's inputs allow for this. In such cases, elapsed realtime bars will be of no use in detecting past realtime bar events unless dedicated code is used to save traces of events, as we do with our alert log in this script, which we display as a tooltip on elapsed realtime bars.
Realtime updates
We have no control over when realtime updates occur. A realtime bar can open, and then no realtime updates can occur until the open of the next realtime bar. The time between updates can vary considerably.
Past values
There is no mechanism to refer to past values of a varip variable across realtime executions in the same bar. Using the history-referencing operator will, as usual, return the variable's committed value on previous bars. If you want to preserve past values of a varip variable, they must be saved in other variables or in an array.
Resetting variables
Because varip variables not only preserve their values across realtime updates, but also across bars, you will typically need to plan conditions that will at some point reset their values to a known state. Testing on barstate.isnew, as we do, is a good way to achieve that.
The fact that a script uses varip does not make it necessarily repainting. A script could conceivably use varip to calculate values saved when the realtime bar closes, and then use confirmed values of those calculations from the previous bar to trigger alerts or display plots, avoiding repaint.
timenow resolution
Although the variable is expressed in milliseconds it has an actual resolution of seconds, so it only increments in multiples of 100


text:
Last Updated on
Lipitor is a statin for lowering cholesterol levels, but you don't hear about dogs being given this drug and there's a good reason for that!
High cholesterol is primarily a people problem. It's super rare for a pet dog to be prescribed Lipitor (AKA Atorvastatin).
Canines aren't nearly as susceptible to cardiovascular disease.
Dogs Almost Never Need Lipitor (or statins in general)
Developed by Pfizer, this popular life-saving drug only makes sense for humans.
Perhaps you have personally benefited from Lipitor? It's understandable to ask about the health benefits for a beloved dog.
But instead of Lipitor, it would be better to get multi-vitamins (the kind that have been designed for dogs).
What The Research Shows
Studies do indicate that dogs also experience a cholesterol reduction from Atorvastatin.
And it's likely that healthy animals tolerate statins better than sick pups.
Again though, dogs do not normally suffer form coronary issues or other types of heart problems. Their arteries rarely become clogged and four-legged friends don't typically have strokes.
Fat's Effect on Fido's Heart
High cholesterol and higher fat intake is normal for dogs. They actually need it!
Only Pancreatitis and obesity are concerns. Such conditions warrant fat intake reduction.
There are things you can do if you're worried about your dog's health, but prescription Lipitor (because it helps you) is just not one of them.
Dosing Lipitor For Canines
Ensure a safe dose if you insist on Lipitor for a furry friend.
Approximately 1 milligram per pound is likely sufficient. That's just a reference point and to be very clear, we do not recommend Atorvastatin for dogs.
Wait! Has a pet taken a high dose?
Be sure to visit a vet as soon as possible. Your dog's internal organs may be at risk.
More on The Lipitor Study
So, there was a study that evaluated Atorvastatin's effects on canines.
They used 2mg per kilogram (a similar ratio).
But the catch-22 is only healthy dogs were found to well tolerate this statin. And the thing is little research has been done on the prospect of dogs taking Lipitor.
Perhaps because it isn't necessary?
Nevertheless, indications are that dogs are not harmed by low Lipitor doses.
Healthy Lifestyle & Diet
Improve your dog's health by natural means.
Feed a premium dog food (instead of experimenting with Lipitor).
Combine that with an active, outdoor lifestyle. Doing so is powerful preventative healthcare! Diet and exercise are so important for people and dogs, alike.
Think of it like this:
A pet is one great reason to improve your own well-being. Incorporate your dog into a healthy routine. Thrive together!
The Bottom Line
Lipitor will not make your dog live longer.
This statin drug is not really a realistic option for animals but, just to be sure, run it by your vet anyway. Normally a good diet and exercise is the way to go.
A more sensible alternative to Lipitor would be quality all-in-one vitamin chews (the kind that are made for dogs) — that's the heart health supplementation you may be looking for!
What Do You Think? Have Your Say Below…
- How can I change my old habits
- What voip should I use
- Has anyone ever hidden in Disneyland overnight
- What is so cool about water bottles
- Whats the procedure for ICITSS in ICAI
- What is meant by streamline
- What are good character conflict resolution situations
- Is 361 a prime number
- Which are royal songs in Kannada
- Are slanted eyes genetic
- What is MiPower software for electrical engineering
- Does CGPA really matter in MSRIT placements
- What is a published report
- Can you host a website for free?no_redirect=1
- Whats the best pizza pizzeria in Pakistan
- How do you shut up a bragger
- What is nursing education
- What is Yorkshire pudding
- Be Honest Have You Ever driven Drunk?no_redirect=1


Taint 2.0
Revision as of 04:48, 12 May 2009 by EoinKeary (Talk | contribs)
Jump to: navigation, search
Taint 2.0 - Commercial static analysis tools for detecting security flaws in software use a technique called Taint Analysis. However, traditional taint analysis has limitations that prevent it from accurately detecting vulnerabilities in today's complex applications. We explore the challenges of current taint analysis approaches, and explain how an exciting new technology called String Analysis answers these challenges. We show how String Analysis produces more accurate results while eliminating the need to provide user configuration of sanitizers.


text:
MPIDR Working Paper
Care for money? Mortality improvements, increasing intergenerational transfers, and time devoted to the elderly
MPIDR Working Paper WP-2013-014, 23 pages.
Rostock, Max Planck Institute for Demographic Research (October 2013)
Background: After the reunification of Germany, mortality among older eastern Germans converged quickly with western German levels. Simultaneously, the pension benefits of eastern Germans rose tenfold.
Objective: We make use of German reunification as a natural experiment to show that, first, increasing financial transfers from the elderly to their children led to increasing reverse transfers in the form of care; and, second, this rise in the number of hours spent on care led to a reduction in old-age mortality.
Method: As a first step, we calculated intergenerational transfer profiles by age for eastern and western Germany to determine whether any changes in downward and in upward transfers in the form of time and money occurred since reunification. We use generalized linear regression to test whether rising pensions led to an increase in the number of hours spent on care, and whether this increase led to a reduction in old-age mortality. We use different macro level data sources to test our hypothesis, including mortality rates and time use surveys for East and West Germany and information on private intergenerational transfers from the National Transfer Accounts project for Germany.
Results: We show that since German reunification, intergenerational downward transfers more than doubled in percentage terms in the east. This was predominantly caused by the sharp increase in pension benefits since the fall of the Berlin Wall. At the same time, mortality among pensioners dropped markedly, and converged to western German levels. We further show that the rise in pension income was strongly correlated with the increase in social support and the decline in mortality among older eastern Germans.
Discussion: Our result suggest that there was an interfamilial monetary transfer from the elderly to the young in exchange for social support. This mutual beneficial exchange may have helped to improve the survival of older East Germans after the reunification.
Keywords: Germany, mortality determinants


1,700-year old ancient Roman tomb discovered in Tarhuna city, Libya
Last year, archaeologists were witness to the magnificence of ancient Roman legacy on Libyan soil with the discovery of an impressive villa at Ptolemais, which was once a major trading hub of Cyrenaica. And now, at the ending phase of this year, researchers have once again come across the legacy of ancient Roman presence in North Africa, with the identification of a tomb, dating from circa 3rd century AD. It was found in the area of Dogha in Tarhuna city, 40 miles (65 km) to the southeast of Tripoli.
The ancient tomb was found to have both remains and funerary belongings, both which are around 1,700-years old. According to the Municipal Council of Tarhuna, the main structure is composed of a rectangular chamber with two openings and a total of three sarcophagi made of limestone. One of these coffins has a carving that pertains to the original occupant's name – thus shedding light into its Roman origin.
Now in terms of history, the region of Libya played an important role in ancient empires, like Carthage, Achaemenid Persia, and Rome. For example, the ancient settlement of Leptis Magna, located within located within present-day Khoms, in north-western Libya, while being originally founded sometime in the 7th century BC as a Punic city, grew into a strategic Roman stronghold in North Africa by the late Republic time. Much of the growth had to do with the fertile farmlands surrounding the settlement along with the profusion of olive groves in the area – so much so that the city was levied by Caesar with a tax of three million pounds of oil annually.
Source: LibyaObserver
Image Credit: Municipal Council of Tarhuna
 ROH Subscription


text: There are hardly any data concerning the vertical micro−distribution of protozoa in water column in cryoconite holes on the glacier surface. Such comparisons can provide insights into the ecology of protozoa. The present research was made on Ecology Glacier (South Shetland Islands, Antarctic); vertical microzonation of c iliates in relation to physical and chemical parameters in cryoconite holes was studied. The density and biomass of protozoans significantly differed between the studied stations (cryoconite holes), with the lowest numbers in the surface water and the highest in the bottom water. The surface waters were dominated by mixotrophic and omnivorous taxa, whe reas the deepest sampling level has shown the increase of the proportion of bacterivore species. Ordination analysis indicated that TN and P−PO 4 can strongly regulate the abundance and species composition of protozoa. The redundancy analyses (RDA) showed that the ciliate communities can be separated into two groups. The first group included species associated with surface water: Halteria grandinella and Codonella sp. The second group included species that are associated with bottom water: Prorodon sp., Holosticha pullaster, Stylonychia mytilus −complex and small scuticociliates.


text:
This Guidance Document gives recommendations how to consider transformation products from soil photolysis ('phototransformation products') when modelling the predicted environmental concentrations in groundwater. It describes possible parameterisations of the photolytic pathway (i.e. the photolytic half‐life and the corresponding reference irradiation) in a tiered approach using the FOCUS‐PELMO model. Following the recommendations of the EFSA guidance (2014), separate half‐lives can be derived for the surface processes (kfast) and the biodegradation in the soil matrix (kslow) from field dissipation studies by using biphasic models. From field dissipation studies evaluated with biphasic kinetics, the kfast value can be considered representative for the photolytic degradation on soil surface for non‐volatile substances. This value should be determined after a time‐step normalisation according to irradiance data for the location and period of the field trial, to a reference irradiance of 100 W m−2. In case irradiance values are not available in the study, these values can be derived from databases such as AGRI4CAST or NASA, freely available in the Internet.
This publication is linked to the following EFSA Supporting Publications article: _URL_


text:
Integrated Condition Monitoring Solutions
for Wind Industry
Importance of Integrated Reliability Maintenance for WTGReliability is important with all rotating machinery. In the case of wind turbines, if the turbine stops then it is no longer generating electricity, and therefore it is not earning revenue for the wind farm owner.
Random wind speeds, and occasional high wind speeds affect the input-side of the gearbox. Changing load conditions on the generator affect the output-side of the gearbox. Wind turbines must potentially operate in corrosive sea air or in freezing conditions where icing becomes a problem.
Resonance of the blades and tower can contribute to reliability issues, and misalignment is a significant issue given the flexibility of the foundations.
Technologies for Reliability issue in WTG and the advantages of the same.
- Ultrasonic services–For YAW & PITCH bearings, Electrical & Mechanical Components
- Vibration Analysis-For Drive train components
- Laser AlignmentFor drive train
- Infrared Thermography-For Transformer, Generator, Electrical panels
- Oil Analysis - For Transformer
- Lube Oil Analysis-For Gearbox
- Grease Analysis-For Main Bearing & Generator bearings
- Ferrography-For Gearboxes machine condition
- Non Destructive Testing-For Casted &Forged components.
- Endoscopy Inspection - For Gearbox & Main Bearing
Ultrasound Inspection - Technology being used only by MVS ACMEIUltrasound instrument will provide the necessary informations to the maintenance team about various electrical & mechanical symptom parameters & its condition.
Typical Applications of UltrasoundMECHANICAL INSPECTION:
- Lack of Lubrication / Failure
- Beginning of Fatigue Failure
- Brinelling of Bearing Surfaces
- Slow speed/VFD
- Prevent Over Greasing
- Partial Discharge
Vibration Analysis for Drive train
- Vibration can be a good indicator of the operating conditions of a range of mechanical components and structures and thus can support condition monitoring of important wind turbine components such as the rotor, drive train components and tower.
- Analysis of vibration signals in both the time and frequency domain can be used to identify incipient failure of these components.
- But the vibration sensor and analysis methods for tower and drive train components are different. For the Tower, Main Bearing, because the vibration frequency is quite low, a low frequency sensor (0–200 Hz) and an appropriate model based analysis method are used.
- For Drive train components Main bearing, Gearbox, Generator, a high frequency acceleration sensor (3–20 kHz) and fast Fourier transform (FFT), Cepstrum methods are used.
Shaft Alignment for Drive train
- Misalignment most affects the main bearings, gearbox and generator of wind turbines.
- The high-speed shaft between a gearbox and generator is a critical point of failure. Their misalignment a leading cause.
- Laser Alignment are a fast, easy, and accurate when used to align drive train components.
- A precision shaft alignment at install and periodic checks can help prevent drive train component failures, up-tower repairs, and catastrophic failures.
Thermography for Electrical & Mechanical components:
- Safety from hazardous accident.
- Non-contact method. Useful for far away targets.
- Can be done from safe distance.
- Night viewing possible.
- Done on live equipments.
- Time saving method.
- Pin points the thermal abnormality.
Boroscopic inspection of Gearbox & Main bearing:
- Boroscope inspections are visual inspections in places inaccessible to the human eye with the help of an optical device, the borescope.
- The borescope, also called videoscope or video boroscopy, a device is long and thin, flexible tube. Inside this tube is a telescopic system with many lenses, which provide a high image definition. It is also equipped with a powerful light source.
- The resulting image can be seen in the apparatus main lens, on a monitor, or recorded on a video recorder for later analysis.
Grease Analysis & Oil Analysis
- Oil analysis is well established as a routine tool to optimize maintenance activities, improve reliability and equipment life and prevent component failures.
- As part of a comprehensive Condition Based Maintenance program, lubricant analysis is an effective complement to other diagnostic technologies such as vibration analysis, infrared thermography, ultrasonic detection.
- However, when the component is grease lubricated rather than oil lubricated, the important lubricant analysis piece is often left out of the mix. The reasons for this include challenges in obtaining samples that can be trended, as well as the large sample volumes required for most current standardized tests for greases.
Vibration Data Collection and AnalysisWe will be using the state of the art 4 channel data collector & the technical capabilities of the same as follows.
CSI 2140-4 Channel Vibration Data collector
All possible machine fault symptoms of rotating/reciprocating machines can be identified as mentioned below:
- Unbalance (static, couple, quasi-static)
- Misalignment (angular, parallel, skew)
- Mechanical looseness, structural weakness, soft foot.
- Bend shaft, Rotor eccentricity.
- Resonance, best vibration.
- Mechanical rubbing
- Problems of belt driven machines
- Journal bearing defects.
- Antifriction bearing defects (inner race, outer race, cage, rolling elements).
- Hydrodynamic & Aerodynamic forces (blade of vane, flow turbulence, cavitations)
- Gear problems (tooth wear, tooth load, gear eccentricity, backlash, gear misalignment, and cracked or broken tooth.
Vibration Severity Chart As per ISO 10816
WIND TURBINE GENERATOR PERMISSIBLE VIBRATION STANDARDS
Ultrasonic Analysis for Slow Speed Bearing Analysis using UE 15000:Key Features:
- Ultraprobe 15,000 Touch Digital Ultrasonic Inspection System
- This advanced ultrasonic instrument can perform onBoard spectral analysis
- Record the sounds of test equipment,
- Measure and record temperature,
- Take photographs with flash,
- Store and manage data.
- The Ultraprobe 15,000 utilizes touch screen technology.
- This unique feature uses Icons to easily control and manoeuvre around any of the Ultraprobe's display screens.
- Touching the screen allows you to be able to view view decibel level, temperature, control sensitivity, change frequency, view an FFT and record sounds and images.
For detection and analysis of these failure modes:
- Switch gear
- Bus Brakes
- Bearing Conditions
- Rubbing Conditions
- Gears/Gear Boxes
- Lack of Lubrication / Over Lubrication
Laser Shaft Alignment of WTG Drive Train
Benefits achieved by Laser Shaft Alignment are:
- Significant Power saving can be through accurate alignment.
- Protects the WTG assets and increases product quality as the vibrations are reduced to very low levels.
- Extends the machine availability as the mean time between failure increases.
- Increase in maintenance savings as spare parts consumption is reduced.
- Increase in time savings and Decrease in consumption of manpower for carrying out alignment..
Infrared ThermographyThe infrared camera evaluates and converts heat energy into meaningful temperatures. Components in various states of failure will emit more heat as a direct result of more energy dissipated into the component.
This extra energy is caused by increased friction in mechanical devices, and higher resistance in electrical devices. For the following equipment thermography survey can be carried out.
|Drives, Couplings, Gears, Shafts.||Overheated bearings or rollers, misalignment of shaft or coupling, lubrication failure uneven pressure.|
|Motors||Overheating of windings and bearings, blockages in cooling passages, friction, damping, material deformations, brush contact problems, rotors|
|Pumps/Fans/Radiators||Overheated bearings, high compressor discharges temperature, high oil temperature, and broken or defective valve.|
|Heavy Duty Equipment - Bearings, Brakes, Hydraulics||Overheating brakes, tires, bearings, pulleys, gears, gear or pulley misalignment, and blockages in hydraulics.|
|Mechanical Drive Components||High lube oil temperature, high bearing temperatures, faulty stop/control valve operation, uneven metal temperature, leaking shaft seals|
|Valves: Shutoff Valves, Relief valves||Leakage, Blockage.|
|Electrical inspections and electrical equipment||Unbalanced loads, Eddy current heating, Improperly sized fittings, Broken strands; Bad connections, breakers, fuses; Overloaded conditions, Motor Control Centre components, Distribution lines, Cable trays/conduits|


text:
Yearly changes in Market Year Average (MYA) prices since 1973 have not included any years in which corn prices have decreased by more than 40%. In contrast, a price series beginning in 1886 — the first year in which the National Agricultural Statistical Service (NASS) reported prices — contains three percent of the years in which prices have declined by more than 40%. Using a longer-run price series suggests that corn prices have more downside risk.
Corn Prices and Price Changes
NASS reports MYA prices since 1866 (see Figure 1). MYA prices represent the average of cash prices received by farmers in the United States for corn sold during the marketing year. Since 1866, corn prices have generally risen, containing time periods in which corn price vary substantially around an average. Since World War II, there have been three of these periods. Between World War II up to the early-1970s, corn prices varied around an average price of $1.27 per bushel. Between the early-1970s to the mid-2000s, corn price varied around $2.37 per bushel. Since the mid-2000s, corn prices appear to have reached a new plateau and have averaged $4.37 per bushel. Generally, these periods are separated by structural changes in demand for corn. Predicting when these structural changes will occur is difficult.
Changes in corn prices from year-to-year can be large, as is illustrated in Figure 2. Visual inspection of price changes suggests that price variability is larger pre-World War II than post-World War II. This can be illustrated by the looking at the number of times prices have experienced a 40% decrease. There have been five years in which prices fell more than 40%: 1895, 1920, 1931, 1937, and 1948. Four of the five years occur prior to the beginning of World War II. None of these 40% decreases have occurred during recent times, which are defined here as the period since 1973 when corn prices rose to the $2.37 plateau.
Table 1 provides more quantification of less variability in recent times by showing frequencies of yearly price changes. For the entire time period, 3% of the time prices decrease by 40% or more. The frequency is 5% per-World War II and 2% post-WWII. In recent times, price decreases of 40% or more have not occurred.
Overall, prices changes fall within a tighter range post-World War II. This is illustrated by the frequency of 40% or larger price decreases illustrated above. It is also illustrate by price increases of 60% or more. Over the entire time period, price increase of 60% or more occur 6% of the time (see Table 1). More of these large price increases occur pre-World War II: 9 percent pre-World War II compared to 2% post-World War II.
Summary and Commentary
Use of longer run price series when evaluating price variability suggests that corn prices are more variable than use of a shorter time period. While there are good reasons to believe that the economic structure has changed leading to less variable corn prices, considering a longer-run perspective is important for three reasons:
- Research suggests that most people place more weight on recent time periods, discounting too heavily experience from the more distant past. In this case, more weight may be being placed on the relatively less variable price experience.
- Models were used to predict defaults when making home mortgage loans prior to financial difficulties in home mortgage market. These models under-predicted the chance of default, thereby understating risk. One reason many of these models understated risk is that many of the models used only recent data in predictions, not including data from more distant periods in which defaults were more prevalent. Similarly, not considering the pre-World War II experience could be argued to understate variability.
- A 40% decrease in price is an extreme event that occurs rarely. Estimating these extreme events present difficulties and requires a long time-series. Not being in a recent time-series does not mean that there is no chance that the event will occur.
NASS currently is estimating the 2011 MYA corn price to be $6.20 per bushel. A 40% decrease in price would result in a 2012 MYA price of $3.72 per bushel. The chance of this occurring is greater than zero, the chance that would result by examining price changes since 1973. Its chance of occurring likely is less than the 3% frequency suggested examining prices since 1866. The chance likely is close to a 1 in a 100 year event.
Disclaimer We request all readers, electronic media and others follow our citation guidelines when re-posting articles from farmdoc daily. Guidelines are available here. The farmdoc daily website falls under University of Illinois copyright and intellectual property rights. For a detailed statement, please see the University of Illinois Copyright Information and Policies here.


text:
Calcagna – on-flow hydropower plant on an existing weir
The intake was built at an existing weir on the Mella river built for irrigation purposes, allowing multiple uses of the water resource. Irrigation and hydropower share the weir on the Mella river, reducing the global impact of the works. On-flow hydropower plants on existing weirs pose several hydraulic and construction issues that FROSIO NEXT has been able to face with a careful design of all components from the early stages of the initiative, in order to ensure optimal use of the water resource and the environmental compatibility of the works, which has led to a significant improvement of the river ecosystem thanks to the construction of the fish ladders. This has allowed the restoration of the river continuity interrupted decades ago due to the construction of the weir for irrigation purposes.
FROSIO NEXT experience
FROSIO NEXT has deployed its forty-year experience to obtain the best result in such a restricted area, that is the construction of a mini hydropower plant which will guarantee a renewable energy production of 690,000 kWh per year, equal to the consumption of 230 families.


text:
Halliday & Matthiessen (2014: 190):
The propositional (ideational) type occur only with declarative clauses. They appear at the same locations in the clause as the mood Adjuncts — though for different reasons: they are less integrated into the mood structure, being located rather according to their significance for the textual organisation of the clause. In particular, they are strongly associated with the boundary between information units — realised as a boundary between tone groups: hence the commas that typically accompany them in writing. So they often occur medially, following the item which is prominent; otherwise, they may occur as Theme, frequently as a separate information unit, or in final position as Afterthought.