Take the 2-minute tour ×
This is not a specific question, but rather someone who is looking for opinions about a typical design problem. In a component based data-driven games, I've often seen something similar to the following when accessing attributes:
int* health = mOwner->get< int >( HEALTH_ATTRIBUTE );
if (health)
 *health -= 10;
Or, alternatively:
if (mOwner->hasAttribute( HEALTH_ATTRIBUTE ))
 int health = mOwner->get< int >( HEALTH_ATTRIBUTE );
 mOwner->set( HEALTH_ATTRIBUTE, health - 10 );
Where mOwner is a pointer to the parent game object. In this example, assume that the game object stores a map of attributes which are downcasted to the correct type at runtime.
There are some problems with this approach. Mainly, it is prone to bugs since it requires the programmer to know the the type of the attribute they are after. If I was working on a small team or by myself, this wouldn't be an issue. However for my requirements, this is undesired.
The only way to have compile-time checks is to create a helper function for each attribute that returns the proper type, so our code would then look like:
int* health = Attributes::getHealth( mOwner );
Where Attributes is declared as a namespace. Because the type is known at compile time, this gives us several advantages. In addition to the compile-time check, we gain the flexibility to easily declare certain attributes as constant, or that can't be modified outside the game object, etc. Of course, the downside is that it becomes necessary to manually create a new function for each and every attribute in the game.
Thoughts? Opinions?
After thinking it through a little more, I realized there is a way to define the function once using templates to avoid code duplication. For example:
template
class Attribute
 typedef Type type;
 static int getID()
 return ID;
 static type getData( const GameObject* obj )
 return obj->getAttribute < type >( ID );
And then for each attribute we have in our game,
typedef Attribute< std::string, MODEL_NAME > ModelName;
typedef Attribute< Vector3, POSITION > Position;
typedef Attribute< int, HEALTH > Health;
///... and so on...
And when we want to access an attribute:
int health = Health::getData( mOwner );
Or alternatively, if we want to:
Health::type health = Health::getData( mOwner );
If we don't know the health attribute exists or not:
int* health = Health::getData( mOwner );
if (health)
 //....
I think this approach gives a lot of flexibility while still maintaining type safety.
share|improve this question
What is the actual question? Asking for "thoughts or opinions" is too discussion-oriented for GDSE (you could try the chat though). – Josh Petrie Jan 3 '13 at 19:52
I don't have a specific question. I'm simply looking for an opinion on what I've posted or an alternative solution to the problem. Perhaps someone has done this before and found a better way? – jlanisdev Jan 3 '13 at 20:00
GDSE is a Q&A site, though, not a discussion forum. Other places are better suited for opinion-only chat questions (and consequently I've voted to close this). – Josh Petrie Jan 3 '13 at 20:04
If you do post the question somewhere else, could you share the link? The topic sounds interesting – nairdaen Jan 3 '13 at 20:49
You cannot set a template parameter to be a string value. There's however a workaround for that. Check this paste: _URL_. This covers case of when an object doesn't have a specified attribute. You can work on the attribute as if the value always exists, but setting back the value will not add that attribute to the object. However you can still check if an object has a specific attribute and add if required. Check the usage section. – Vite Falcon Jan 4 '13 at 0:43
1 Answer 1
The level of abstraction that is done here is one that I often consider too far when it comes to a component based system. It is also one that seems more and more predominant in general software development. To me both of the examples you have given have gone too far in that there is a generic interface for accessing any type of attribute from a given object. This is not useful as the default interface and leads to the situations you have described.
My components contain data as well as logic and are focused on handling a single area. Since we are using health I will just continue with that. At the root of a inheritence tree I will have an IComponent object that gives you the very basic interface to the object that all components must complete. This gives typedef/load/save capabilities of all components. From there I would then have an ICmpHealth interface that would provide typed accessors to the data values that you would expect to deal with when looking at the health of an object. It is this interface that gives you the specific data types like int ICmpHealth::GetCurrentHealth() or ICmpHealth::GetMaxHealth().
Now when dealing with a data oriented design these are actually static accessors for me as they are acting on contiguous data blocks with offsets.. But in a general system this would replace the calls above to getting a specific attribute to getting a component interface object so something like
ICmpHealth * cmpHealth = mOwner->GetComponent(HEALTH);
if (!cmpHealth)
 throw new Exception("Expected Component for Object not available");
int health = cmpHealth->GetCurrentHealth()
So this looks like just a 'we moved the problem around' sort of answer but I want to point out what you get for this. You already have to be aware of the types of components you are using in order to use them. Same could be said about needing to know the Attributes but the scale is much smaller as the components should contain multiple attributes. What this also gives you type check safety when setting any of the attributes for a component as you are now using a specific API in order to do so and are getting compiler type validation for accessing them.
Hope this helps.
share|improve this answer
This is what I was doing previously, and it seems to be a very common design pattern. However I feel that keeping the attributes and components (data and logic, respectively) separate give more flexibility. For example, if components (or Behaviors) don't know about each other, then you can more easily re-factor them later on without breaking other code. In addition, a common interface for accessing and modifying attributes means that you can post notifications whenever they get modified, which could be useful. However, I agree that your solution is just as valid. – jlanisdev Jan 4 '13 at 0:04
I see making an easy interface to access an attribute of an object via templates just a rewrite of what the basic C++ language gives you already with you having to write all the handling code.. like what you are doing above. It is all about finding the balance between as abstract as the language itself or tied down to a class hierarchy and where you want your code to be between them I guess. – James Jan 4 '13 at 0:16
Your Answer


text:
Pocket Humidity Anemometer - 8918AZ
The pocket size 8918 AZ Air flow Meter has the Swiss knife shape, which could be opened with 90 degree on the tripod, or 180 degree fully opened to handle easily. The pocket-knife design makes it convenient and portable, easy to use and to get a precision reading.
The 8918 AZ wind speed meter can measure the Wind Speed, Windchill, Temp., Humidity and Dew point temperature.
The Windchill temperature is referred to as the "feels like" temperature. It is based on the rate of heat loss from exposed skin caused by the effects of wind and cold. As the wind increases, the body is cooled at a faster rate causing the skin temperature to drop. Wind Chill does not impact inanimate objects like car radiators and exposed water pipes, because these objects cannot cool below the actual air temperature.
AZ 8918 RH% Mini Wind speed Meter features:
- Small, compact design
- Display air velocity and temperature or temperature and windchill
- Wind speed units switchable
- KNT (knot), BF (beau fort), FPM (feet per minute),
- MPH (mile per hour), MPS (meter per second), KPH (kilometer per hour)
- Water-resistant and shock proof
- Tripod mountable
- Measure relative humidity and dew point

source: m-a-p/FineFineWeb


Why is spring migration getting earlier?
In Iceland, young trend-setting Black-tailed Godwits are changing the timing of spring migration
Flocks of up to 5000 Black-tailed Godwits gather in Alftafjordur in spring: Tómas Gunnarsson
Flocks of up to 5000 Black-tailed Godwits arrive in Alftafjordur (East Iceland) in spring: Tómas Gunnarsson
In recent years, earlier arrival of spring migrants has been widely reported in birds as diverse as swallows and waders but it's not a universal trend; species such as British Cuckoos and Icelandic Whimbrels have not changed their arrival dates. Interestingly, many of the species that have not advanced timing tend to be those that are declining. By thinking about the mechanisms that enable some species to take advantage of earlier spring warming it might be possible to explain how timings and population changes may be linked.
Are individual Black-tailed Godwits arriving earlier each spring? (Photo: Nigel Clark)
Are individual Black-tailed Godwits arriving earlier each spring? (Photo: Nigel Clark)
The simplest way for spring migration to advance would be for individual birds to change their arrival dates, arriving earlier now (either because they have departed earlier or migrated faster) than they did in previous years. These changes could be facilitated by changes to weather conditions before, during or after migration. In general, the arrival of short-distance migrant species has advanced more than long-distance species, which has led to suggestions that individual birds are able to assess conditions on their breeding grounds from afar, and to 'fine-tune' arrival accordingly. This could explain why long-distance migrants seem less well able to change their schedules than species which have less far to travel.
Figure 1: Changes in first spring arrival dates of six species of waders in southern Iceland from 1988 to 2009 (reproduced from Gunnarsson & Tómasson 2011)
Figure 1: Changes in first spring arrival dates of six species of waders in southern Iceland from 1988 to 2009 (reproduced from Gunnarsson & Tómasson 2011)
This pattern of advances in arrival dates, and greater advances in short-distance migrants is seen in birds arriving into Iceland each spring (Gunnarsson & Tómasson). By monitoring the first dates of a range of migratory breeding species to the area around Laugarás, an inland village in southern Iceland, over the period 1988 to 2009, Tómas Gunnarson and Gunnar Tómasson showed that species which spend the winter further south than France showed no change in arrival, whilst those from further north in Europe were returning earlier. The southern group included the only wader in the Gunnarsson & Tómasson study which uses this migration strategy, Whimbrel (see diagram).
GL-YX on a windy day in western Iceland. He has been seen in eleven years. Despite the vagaries of spring weather, his arrival dates have only been spread over nine days (standard deviation 3.5 days) and have not advanced over the period 2003-2015
GL-YX on a windy day in western Iceland. He has been seen in eleven years. Despite the vagaries of spring weather, his arrival dates have only been spread over nine days (standard deviation 3.5 days) and have not advanced over the period 2003-2015
One of the species that has advanced spring arrival (by about two weeks in the last two decades) is the Black-tailed godwit. Since 2000, we have been recording arrival dates of individually colour-ringed godwits into coastal Iceland – giving us the opportunity to assess whether individuals have indeed brought forward their time of arrival. By making regular visits to the same sites we have discovered that the dates when we first come across individuals are remarkably consistent. Although the arrival of the whole population is spread over a five or six week period, the window in which a specific Black-tailed Godwit appears is generally predictable, whether he or she is a bird that we tend to first see in mid-April or mid-May. There are annual differences, of course, which appear to be linked to periods of adverse weather during the period of the sea-crossing (Gunnarsson et al 2006), from departure points in The Netherlands, The UK Ireland, France and Portugal, but there is no significant trend.
Dates of spring arrival into Iceland of 54 individually marked black-tailed godwits recorded on arrival in between 4 and 8 years, from 1999 to 2012 (reproduced from Gill et al. 2014). Whether an individual arrives early (left-hand birds) or late (right), the sighting dates for each bird are highly consistent.
Dates of spring arrival into Iceland of 54 individually marked black-tailed godwits recorded on arrival in between 4 and 8 years, from 1999 to 2012 (reproduced from Gill et al. 2014). Whether an individual arrives early (left-hand birds) or late (right), the sighting dates for each bird are highly consistent.
timing pop v indivAlthough the arrival date for the population has been advancing at ~0.8 days per year (Gunnarsson & Tómasson 2011), there has been no trend in individual arrival dates (not significantly different to zero days per year); Gill et al. 2014.
Most of the godwit chicks were ringed by groups of volunteers led by Pete Potts and Ruth Croger (Photo: Tómas Gunnarsson)
Most of the Black-tailed Godwit chicks were ringed by groups of volunteers led by Pete Potts and Ruth Croger (Photo: Tómas Gunnarsson)
If individuals are consistent in arrival but the population is advancing, the advance must presumably result from new birds recruiting into the population being earlier-arrivers than recruits from previous years? Fortunately, there is a second long-running set of data that's available to answer this question, in a large part because of the efforts of Pete Potts and Ruth Croger of Farlington Ringing Group. In the period 1999 to 2014, they organised teams of volunteers to ring Black-tailed Godwit chicks in Iceland, with the support of the Icelandic Natural History Museum. Significant contributions to the total of over 350 colour-ringed chicks were also made by Tómas Gunnarsson and José Alves, while researching the breeding ecology of Black-tailed Godwits for the Universities of East Anglia and Iceland.
Dates of spring arrival into Iceland of 46 individuals hatched in different years and subsequently recorded on spring arrival (reproduced from Gill et al. 2014)
Dates of spring arrival into Iceland of 46 individuals hatched in different years and subsequently recorded on spring arrival (reproduced from Gill et al. 2014)
Wader chick mortality is quite high and there are further losses in the eighteen-month period between autumn departure from Iceland and the first return trip, eighteen months later, so it was wonderful to have a sufficiently big cohort of marked recruits to look at patterns and trends. For this study, arrival dates for 46 individuals of known hatch year were available for analysis. As can be seen from the graph, arrival dates of new recruits have been getting earlier, with birds hatched in the last decade arrive around two weeks earlier than individuals hatched in the 1990s.
There are several reasons why recent recruits may be arriving earlier than in previous years, but the most likely is that this is a knock-on effect of advances in godwit laying dates that have occurred in recent decades. Icelandic godwits nest earlier in warmer springs, and the frequency of warmer springs has increased. Early fledging may benefit new recruits, by increasing the time available for them to migrate south, locate a good winter site and be in condition to return early when they recruit into the breeding population (Alves et al. 2013 _URL_ _URL_ As their arrival date will be consistent thereafter, the overall timing of arrival of the population will advance.
Will this young Black-tailed Godwit contribute to our understanding of the timing of migration? (Photo: Tómas Gunnarsson)
Will this young Black-tailed Godwit contribute to our understanding of the changing timing of migration? (Photo: Tómas Gunnarsson)
Many other studies of different species in which individuals are tracked during migration are showing similar levels of consistency in individual timing of migration. What then is causing the variation among species in rates of advance? Long-distance migrants typically arrive later on the breeding grounds and breed quite soon after arrival, while short-distance migrants can have quite large time gaps between arrival and laying, depending on conditions for breeding. Short-distance migrants therefore have more capacity to advance laying dates (because they are on the breeding grounds waiting for suitable conditions), while long-distance migrants, such as Whimbrels in Iceland, arrive later and so cannot breed earlier even in a warmer year. Advances in spring arrival dates may therefore result from advances in laying dates and associated benefits of early fledging for recruits, and lack of advance in long-distance migrants may be a consequence of arriving late and hence being unable to take advantage of early, warm spring conditions.
In the Icelandic subspecies of Black-tailed Godwit, which is expanding in both number and distribution, it is clear that young recruits to the breeding population are driving the advance in timing of migration. We only know this because of the long-term programme of chick ringing by volunteers and because we have been able to record the timing of individual birds' migratory activities over a large number of years. Funding for this work has been provided by the volunteers themselves, NERC , Icelandic Research Council and EU TMR.
This blog is based upon research presented in the following open access paper:
Gill, J.A., Alves, J.A., Sutherland, W.J., Appleton, G.F., Potts, P.M. & Gunnarsson, T.G. 2013 Why is timing of bird migration advancing when


Poke a Communist Day
From Uncyclopedia, the content-free encyclopedia
Jump to: navigation, search
International Poke a Communist Day (IPACD)
On the 7th of March every year, beneath the noses of many of our readers, a secret underground revolution is taking place. Invented in the early 1980's, International Poke a Communist Day has become a worldwide underground phenomenon, culminating in the fall of the Berlin wall, the creation of Sun Microsystems, and the Suing of Alinghi by BMW Oracle. But what exactly is it, some may ask. Well, thankfully, you need never ask again. I present to you, a full history of Poke a Communist day, how you can celebrate it, local communist hotspots and so on. This will be supplemented with Not Quite Legal Preteenage pictures showing their first time to go fully nude pictures, annotated diagrams, and lots more besides.
edit How Did It All Begin?
Canadian flag Blame it on Canada
We know those crazy canucks are somehow connected to this.
One summer afternoon (Thursday the 7th of March, 1983 to be exact) two friends were traveling along a yellow brick road, when they happened upon a defenseless party of Italians. Being communists, and therefore the proud owners of below average intelligence levels, the two friends decided that this would be the perfect opportunity to poke those Mao sucking yellow bellied Marxists in the ribs. Due to lack of intelligence the communists were unable to retaliate, and so was born the concept of Poke a Communist Day. Promoted by the Reagan, Bush and Clinton administrations, International Poke Communist Day gained notoriety when, on 7th March, 1992, the Founding of the Council of the Baltic Sea States was completed, allowing former socialist republics to lose the shackles of socialism, and spent their assigned 3/45 hour rest periods poking their communist Russian neighbours.
edit Notable Events
The National Anti-Communist Party of the People's Republic Of Bratislava is the internationally acclaimed organizer of Poke a Communist Day. They are responsible for organizing mass events every year on the 7th of March. Some of their most valuable achievements are listed below:
 - The sinking of The Titanic
 - Invention of the Periodic table
 - Formalization of the Iranian nuclear calendar
 - Fall of the Berlin Wall
 - Discovery of Jewranium: an element similar to gold, but only owned by jews
Our Great Lord, the Almightily Jewish Alexander Millington the 1st, Scion of Annoyance, Rooter of Rednuts, declared that these shall be the facts known to the Bretheren, and these facts ONLY!
Any attempt to change these items shall result in IMMEDIATE DOOM...and your mum blowing up! Our Current Lord of the Poke, Alexander Millington the 23rd and 1/2, has declared that any who dare to tempt his wrath, shall be beaten cruely with a big stick...with nails in it!
edit How To Prepare for the Poking of the Communists!
 1. Huff a certain number (13.65 to the power of pi(3682.344348493892837251268454421015553533224069439040625820222948011853542177068341959820465042573824583451894576718051247727743655476389608948577777118652276125344806452327451563105085955403052423523530064929395200058458748126997364290542348507357892448859758567773633231569333395627555451799993631883935902848041032915473518031974032069327443527225645147589061066650345160794160317862808181155517012255108469306443083493165556690066145701058263561576219499260176682608750548159947095826451796885569294734910657939007782501176155644536311509093939029328585995303296235096228706631116158146625185053368052762942756842914975091552333041770514475764666670322269244308151859108667136203682293217761823940934884318510803774401098645151132343103936166051342750230306193523035244995376519951304059641906137650389952014730768774530741138566089787716489615944689497205876478563334303668287312293939745664553169364305149793577090169588140056361539058841039127740848528660829562397889790088133324665942429120431388595714217420978680601600936760918901136807215219326628561626374725356119508563055082467940731253412274203212899025206394567333357830255663917398544012816164219807956551768296315899907719386627568578285937287240972998638658054089025399242591734829620542048620572417693500164679665811557470067632198396095593653279734356965819976162609760635742458451474037813946348171787939555468854512977614527929993359651043809631040941411283383077991857364962104420804516865555297008027296541226630828677144388461579228754973867260586134482696324780679621134348552492704835618693841315684201866762841540346598494971715135860067384414087438813730100914046147359869297054911519403280893412233385944880831430521428512676748659066634931807668918028621193929705231077097494215094402210200262592038198716427814651619881330523226627399189076173412312351535462202309008722770...)) of kittens, and revel in the glory that thou receiveth from our Lord, Mr. Biggles!
 2. Stretch the Finger of Poking, namely by having a bat (or equivalent).
 3. Find a Suitable Victim. Note, Victim MUST BE A COMMUNIST!
 4. Beginneth the POKE!!!!
edit But How Do I celebrate???
In the early days of IPACD, simply finding a lone communist and poking him with a finger was enough. However, in the late 90's, people began to realize that this was becoming boring, and as everyone knows, bored people become communists, and bored communists die. This led to the kitten huffing epidemic of 1994, and at this point it was realized that in order for IPACD to continue, something had to be done. Enter Ed Farrell, inventor of numerous useful items, among them the table leg, the little rubber bit on the end of chair legs, and freaky dog sex. He was hired by the National Anti-Communist Party of the People's Republic Of Bratislava to come up with a series of activities that could be used indefinitely during every IPACD from 1995 to 3045.8. After months of mediation, he arrived at the conclusion that three things were needed:
 1. The Running of The Communist
 2. The cat toast device powered "Communist Poker"
 3. A set of rules as to what defines a Communist
edit The Running of The Communist
Is a Borat-esque event held all over the world. each community finds themselves a communist, dresses them up with a large Marx/Stalin/Lenin head, and run them through the town. at this point, the local Kitten Huffing youth must take a break from this activity, and attempt to kill the communist using a combination of huffing equipment and/or small knives, knuckle dusters, flower pots etc. should they fail (unlikely) then the adult population is let loose, with pitchforks, shovels, hammers and Tanks. yes, thats right... TANKS... which just happen to PWN. yeah. told u so. Tanks, Mutha Fucka.
edit What Defines a Communist?
 - Italians? Definitely.
 - Chinese? why even bother asking
 - Those dang Russians
 - Asians in general? almost certainly. unless they're black.
 - Eastern Europeans? Naturally, unless they are from Bratislava.
 - People from East Germany between 1961 and 1989. It wasn't their choice, those dang Russians (see above) were forcing them.
But what links all of these people? it is a general sympathy towards communists. pockets of these vile creatures can be found all over the world. a communist is someone who does not feel that it is necessary to revel in the joys of kitten huffing, or the simple pleasures of masturbation, freaky dog sex and eating capitalist pie. they have implicit trust in their leaders, most of whom are fucking dodgy people who are only interested in getting a higher position on the world loser scale.
ANYONE who sympathises with these ideals is also a communist, and so therefore the wrath of anti communist Pokings must fall steadily and repetitively upon them. filthy cabbage eaters.
edit So How Can I Implement this in EVERYDAY LIFE?
IPACD occurs once a year. that means once every 365/6 days. that


text:
ANALYSIS OF NINE YEARS OF RAILROAD PERSONNEL CASUALTY DATA
This report presents an analysis of railroad personnel casualty data for the years 1966 through 1974. The analyses examined the trends of injuries, days disabled, fatalities, and the effect of changes in man hours of employment on these trends. Accident cause categories were ranked year by year based on an index which took account of both the frequency or number of casualties in each cause category and the severity of the casualties, as measured by the median days disabled for each cause category. Also, the frequency-severity index was used to rank job classifications for each year.
Chicago, IL USA 60616
- Shulman, A E
- Publication Date: 1976-11
- Features: Appendices; Figures; Tables;
- Pagination: 96 p.
- TRT Terms: Casualties; Classification; Crash data; Crashes; Data collection; Fatalities; Injuries; Personnel; Safety; Statistical analysis; Statistics
- Subject Areas: Data and Information Technology; Railroads; Safety and Human Factors; Society;
- Accession Number: 00157700
- Record Type: Publication
- Source Agency: Association of American Railroads
- Report/Paper Numbers: R-252
- Files: TRIS
- Created Date: Aug 15 1977 12:00AM

source: openbmb/Ultra-FineWeb


text:
Beginning the Journey
The intriguing plant species known as the Red Lily Spider, or Lycoris radiata, has become a topic of interest for botanists and garden enthusiasts. Its peculiar shape and vivid color make it an enticing subject for study. This in-depth exploration will cover the Red Lily Spider's unique characteristics, how to cultivate it, the propagation process, and its varied uses.
Chapter 1: The Enigmatic Red Lily Spider
The Red Lily Spider, a perennial plant native to East Asia, is known for its mesmerizing beauty. Its name 'spider lily' originates from the petals' resemblance to spider legs. The bright red color of this plant adds an exotic touch to gardens, making it a captivating centerpiece.
Chapter 2: Distinguishing Features of the Red Lily Spider
The Red Lily Spider is renowned for its striking red color and unique shape. Each flower typically has six to nine petals that curve backward and are tipped with a golden hue. The extended stamens add to the spider-like appearance. The flowers bloom in late summer and early autumn, showcasing their resilience in harsh conditions.
Chapter 3: Raising the Red Lily Spider
The cultivation of the Red Lily Spider requires an understanding of soil conditions, sun exposure, and watering needs. The plant thrives in well-drained soil with a slightly acidic pH. Full sun exposure promotes optimal growth, although it can also survive in partial shade. Regular watering during the growing season is crucial, but it should be reduced during dormancy.
Chapter 4: Propagating Techniques for the Red Lily Spider
The Red Lily Spider can be propagated through bulb division. It is best to divide the bulbs in autumn and replant them immediately. Each bulb should be planted approximately 8 inches deep and spaced 6 inches apart to encourage healthy growth.
Chapter 5: The Application of Red Lily Spiders
Beyond its aesthetic appeal, the Red Lily Spider has been used in traditional medicine. However, it's crucial to remember that all parts of this plant are toxic if ingested and must be handled with caution.
The fascinating aspects red spider lilies symbolism unearthed further enhances the allure of this plant.
With its spider-like appearance and bright red color, the Red Lily Spider is a captivating addition to any garden or floral arrangement. A deep understanding of this plant's characteristics can provide a rewarding gardening experience.
- 10 Fascinating Aspects of Red Spider Lilies Symbolism Unearthed: The Passionate, Persistent, and Everlasting Flowery Emblems of Love
- 7 Fascinating Aspects: Unveiling Radiata Lycoris Charm and Secrets
- 10 Intriguing Secrets of the Red Spider Lily Unveiled
- 7 Spider Lily Bulb Essentials: Elevate Your Garden's Exotic Appeal


text:
Energy Supply Model Message and Its Application to IIASA's World Region V
The energy supply model MESSAGE (Model for Energy Supply Systems and Their General Environmental Impact) is a dynamic linear programming (DLP) model which minimizes total discounted costs of energy supply over a given time horizon. The main subject of the model is the balancing of demand for secondary energy and supply of primary energy resources via a menu of technologies. The most important model constraints reflect limits on the speed of buildup of technologies, the availability of indigenous and imported resources, and technological relationships. The model considers load regions for electricity demand, disaggregates resources into cost categories, and calculates environmental impacts of energy supply strategies. The model output is used to describe scenarios of energy supply. These scenarios account for the physical flows of energy between primary energy and end use; shadow prices of supply and demand constraints; and environmental impacts of energy supply paths, expressed as emissions and concentrations of pollutants.
KeywordsPrimary Energy Shadow Price Electricity Demand Load Region Primary Energy Consumption
Unable to display preview. Download preview PDF.
- 1.L. Schrattenholzer, The Energy Supply Model MESSAGE, RR-81–31, International Institute for Applied Systems Analysis, Laxenburg, Austria (1981).Google Scholar
- 2.'Energy in a Finite World, A Global Energy Systems Analysis', Report by the Energy Systems Program Group of the International Institute for Applied Systems Analysis, Wolf Häfele, Program Leader, Ballinger Publishing Co., Cambridge Mass., U.S.A. (1981).Google Scholar
- 3.L.Schrattenholzer, Documentation of the World Regional Model Runs, International Institute for Applied Systems Analysis, Laxenburg, Austria, forthcoming.Google Scholar
- 4.A.I. Propoi, Dual Systems of Dynamic Linear Programming, RR-77–9, International Institute for Applied Systems Analysis, Laxenburg, Austria (1977).Google Scholar


is then realized by the assay (a process). A relationship between a specifically dependent continuant and a generically dependent continuant, in which the generically dependent continuant depends on some independent continuant in virtue of the fact that the specifically dependent continuant also depends on that same independent continuant. Multiple specifically dependent continuants can concretize the same generically dependent continuant. concretizes function of this catalysis function is a function of this enzyme a relation between a function and an independent continuant (the bearer), in which the function specifically depends on the bearer for its existence A function inheres in its bearer at all times for which the function exists, however the function need not be realized at all the times that the function exists. function_of is function of function of quality of this red color is a quality of this apple a relation between a quality and an independent continuant (the bearer), in which the quality specifically depends on the bearer for its existence A quality inheres in its bearer at all times for which the quality exists. is quality of quality_of quality of role of this investigator role is a role of this person a relation between a role and an independent continuant (the bearer), in which the role specifically depends on the bearer for its existence A role inheres in its bearer at all times for which the role exists, however the role need not be realized at all the times that the role exists. is role of role_of role of has function this enzyme has function this catalysis function (more colloquially: this enzyme has this catalysis function) a relation between an independent continuant (the bearer) and a function, in which the function specifically depends on the bearer for its existence A bearer can have many functions, and its functions can exist for different periods of time, but none of its functions can exist when the bearer does not exist. A function need not be realized at all the times that the function exists. has_function has function has quality this apple has quality this red color a relation between an independent continuant (the bearer) and a quality, in which the quality specifically depends on the bearer for its existence A bearer can have many qualities, and its qualities can exist for different periods of time, but none of its qualities can exist when the bearer does not exist. has_quality has quality has role this person has role this investigator role (more colloquially: this person has this role of investigator) a relation between an independent continuant (the bearer) and a role, in which the role specifically depends on the bearer for its existence A bearer can have many roles, and its roles can exist for different periods of time, but none of its roles can exist when the bearer does not exist. A role need not be realized at all the times that the role exists. has_role has role derives from this cell derives from this parent cell (cell division) this nucleus derives from this parent nucleus (nuclear division) a relation between two distinct material entities, the new entity and the old entity, in which the new entity begins to exist when the old entity ceases to exist, and the new entity inherits the significant portion of the matter of the old entity This is a very general relation. More specific relations are preferred when applicable, such as 'directly develops from'. derives_from derives from derives into this parent cell derives into this cell (cell division) this parent nucleus derives into this nucleus (nuclear division) a relation between two distinct material entities, the old entity and the new entity, in which the new entity begins to exist when the old entity ceases to exist, and the new entity inherits the significant portion of the matter of the old entity This is a very general relation. More specific relations are preferred when applicable, such as 'directly develops into'. To avoid making statements about a future that may not come to pass, it is often better to use the backward-looking 'derives from' rather than the forward-looking 'derives into'. derives_into derives into location of my head is the location of my brain this cage is the location of this rat a relation between two independent continuants, the location and the target, in which the target is entirely within the location Most location relations will only hold at certain times, but this is difficult to specify in OWL. See _URL_ location_of location of located in my brain is located in my head this rat is located in this cage a relation between two independent continuants, the target and the location, in which the target is entirely within the location Location as a relation between instances: The primitive instance-level relation c located_in r at t reflects the fact that each continuant is at any given time associated with exactly one spatial region, namely its exact location. Following we can use this relation to define a further instance-level location relation - not between a continuant and the region which it exactly occupies, but rather between one continuant and another. c is located in c1, in this sense, whenever the spatial region occupied by c is part_of the spatial region occupied by c1. Note that this relation comprehends both the relation of exact location between one continuant and another which obtains when r and r1 are identical (for example, when a portion of fluid exactly fills a cavity), as well as those sorts of inexact location relations which obtain, for example, between brain and head or between ovum and uterus Most location relations will only hold at certain times, but this is difficult to specify in OWL. See _URL_ located_in _URL_ located in 2D boundary of the surface of my skin is a 2D boundary of my body a relation between a 2D immaterial entity (the boundary) and a material entity, in which the boundary delimits the material entity A 2D boundary may have holes and gaps, but it must be a single connected entity, not an aggregate of several disconnected parts. Although the boundary is two-dimensional, it exists in three-dimensional space and thus has a 3D shape. 2D_boundary_of boundary of is 2D boundary of is boundary of 2D boundary of has 2D boundary my body has 2D boundary the surface of my skin a relation between a material entity and a 2D immaterial entity (the boundary), in which the boundary delimits the material entity A 2D boundary may have holes and gaps, but it must be a single connected entity, not an aggregate of several disconnected parts. Although the boundary is two-dimensional, it exists in three-dimensional space and thus has a 3D shape. has boundary has_2D_boundary has 2D boundary immediately preceded by David Osumi-Sutherland starts_at_end_of X immediately_preceded_by Y iff: end(X) simultaneous_with start(Y) immediately preceded by immediately precedes David Osumi-Sutherland ends_at_start_of meets X immediately_precedes_Y iff: end(X) simultaneous_with start(Y) immediately precedes surrounded by x surrounded_by y if and only if x is adjacent to y and for every region r that is adjacent to x, r overlaps y surrounded by adjacent to adjacent to temporal relation move to BFO? Allen A relation that holds between two occurrents. This is a grouping relation that collects together all the Allen relations. temporal relation starts inverse of starts with Chris Mungall Allen starts member of An organism that is a member of a population of organisms is member of is a mereological relation between a item and a collection. is member of member part of SIO member of has member has member is a mereological relation between a collection and an item. SIO has member 'consumer of food' eats food eats SIO_000001 A is related to B iff there is some relation between A and B. 'is related to' is the top level relation in SIO core relations+ is related to has measurement value has measurement value has specified value A relation between a value specification and a number that quantifies it. A range of 'real' might be better than 'float'. For now we follow 'has measurement value' until we can consider technical issues with SPARQL queries and reasoning. PERSON: James A. Overton OBI has specified value beta12orEarlier Moby:GCP_SimpleCitation Moby:Publication Bibliographic data that uniquely identifies a scientific article, book or other published material. Bibliographic reference Reference Citation beta12orEarlier Function A function that processes a set of inputs and results in a set of outputs, or associates arguments (inputs) with values (outputs). Computational method Computational operation Computational procedure Computational subroutine Function (programming) Lambda abstraction Mathematical function Mathematical operation Computational tool Process sumo:Function Operation beta12orEarlier Search or query a data resource and retrieve entries and / or annotation. Database retrieval Query Query and retrieval beta12orEarlier Query scientific literature, in search for articles, article data, concepts, named entities, or for statistics. Literature search beta12orEarlier Search a database (or other data resource) with a supplied query and retrieve entries (or parts of entries) that are similar to the query. Search Database search beta12orEarlier true true Protein and peptide identification, especially in the study of whole proteomes of organisms. Metaproteomics Peptide identification Protein and peptide identification Proteomics beta12orEarlier true true Whole genomes of one or more organisms, or genomes in general, such as meta-


text:
Do you ever wonder what's beneath the surface of that pond or stream? Then this camp focused around life in and around the water is for you! During this camp based at Yates Mill Pond we'll learn aquatic science in the field through hands-on activities, experiments, and observations! Pond-dipping for tadpoles, catching turtles, and canoeing the historic Mill pond are just some of the fun things we have planned.
Yates Mill Pond County Park is located south of Raleigh near Penny Road and Lake Wheeler Road. All children must be dropped off and picked up at Yates Mill Pond County Park. Transportation is not available from the Museum to Yates Mill Pond.
Registration information: Registration required. Please visit the Summer Camp Frequently Asked Questions page for more information.
If you have questions, please contact Megan Chesser at _PHONE_ or _EMAIL_

source: HuggingFaceFW/fineweb-edu


text:
The Office of Juvenile Justice and Delinquency Prevention (OJJDP), Underage Drinking Enforcement Training Center (UDETC) is pleased to launch the second in a series of on-line distance learning courses. These courses aim to provide law enforcement and community organizations with valuable, no-cost training that focuses on the reduction of underage access to alcohol.
This two-hour online course is designed as a basic-level familiarization to environmental strategies targeting the reduction of youth access to alcohol and a foundation for follow-up on-site training provided by UDETC. The course provides basic strategies and information on assessing community needs and applying science-based strategies.
Specifically, the course helps participants:
- Understand the difference between individually focused prevention and environmental prevention
- Understand the importance of taking an environmental approach to address alcohol and other drug problems.
- Use environmental strategies to reduce youth access to alcohol.
This is the second in a series of on-line courses developed by the Office of Juvenile Justice and Delinquency Prevention Underage Drinking Enforcement Training Center.
The newest course in this series is "Environmental Strategies" and is now available.


text:
The National Water Resources Protection Map, required for the licensing of domestic and agricultural wells under the amendment to the Water Management Act, has been completed and is available on the website of National Water Directorate (in Hungarian: "Országos Vízügyi Főigazgatóság"). This Protection Map will play a central role in the future licensing of domestic groundwater wells.
According to the Water Management Act, from 1 January 2024, domestic groundwater wells (up to a maximum depth of 50 metres) located in areas that are risk-free from the point of view of water resource protection will be able to be drilled without any permit or notification. Groundwater wells for agricultural irrigation purposes can also be drilled in these risk-free areas in the future on the basis of the simplified procedure - notification and subsequent official approval.
Those areas are considered to be at risk from a water resource protection point of view that fall within the protection areas of operational or remote aquifers or under which karst aquifers are accessible at depths of less than 100 metres. The Protection Map allows to search by parcel number or address. Areas at risk for water resource protection are indicated in red on the Protection Map.
For new wells, the installation of domestic groundwater wells in areas marked in red will be subject to notification from 1 January 2024. In the areas marked in white, groundwater wells can be installed freely. From next year, groundwater wells for agricultural use in the red areas will be allowed to be built under a water permit issued by the National Land Centre, compared to the white areas, where the same wells will be subject to a simpler notification and approval procedure.
For existing wells, shallow groundwater wells are those that do not require any procedure for legalisation. After entering the parcel number in the Protection Map, the depth of the aquifer bed can be displayed by activating the layer list. If the depth of the aquifer at the point where the well is located is higher than the depth of the well, this means that a post-procedure is required.


text:
Une inévitable solitude: Varlam Chalamov et la tradition idéologique
AN INEVITABLE LONELINESS: VARLAM SHALAMOV AND THE IDEOLOGICAL TRADITION / This paper explains the reasons for the painful return of Shalamov to the Muscovite world, and analyses the various conflicts he had to face, regarding both his new and his former, detention, comrades. In this way, we can understand the impact that his first arrest in 1929 had on the construction of his existential model as well as on his aesthetic choices. Among these choices, can be considered his loyalty regarding politics and poetic engagement for the generation of 1920s, as he had interpreted it. On this basis, this paper investigates a number of ways of interpreting literary history made possible by some recent finds concerning the Shalamov's biography, and analyses the rupture between Shalamov and Solzhenitsyn.
Key words: painful return; politics and poetic engagement; generation of 1920s; Shalamov's archives


text:
Palangkaraya, Central Kalimantan, Indonesia –December 10, 2013 —Today the Global Green Growth Institute and Government of Central Kalimantan, along with the selected pilot districts of Murung Raya and Pulang Pisau, launched a ground-breaking program in support of regional green growth. The launch of this new program comes mid-way through GGGI's first year of partnership with the Ministry of Planning and Development (BAPPENAS) of the Republic of Indonesia.
At the event in Palangkaraya, entitled "Launch Workshop for Cooperation on Green Growth", participants included representatives from Central Government, from the Governor's office, from departments across Provincial Government and, perhaps most notably, from the local District Governments of Murung Raya and Pulang Pisau. The private sector also participated, with representatives from multinationals and major Indonesian corporations. Other participants included environmental and social NGOs, as well as academics from the University of Palangkaraya.
During the sessions, GGGI emphasised the relevance to the regional development agenda of current work in progress, including:
1) An expanding database of "green growth indicators", relevant to provincial and district long and medium-term development planning.
2) A Green Growth Framework assessment tool that facilitates the optimization of green economy outcomes from public and private sector projects.
3) The role of REDD+ in accelerating regional green growth, in particular through jurisdictional approaches at the district level.
GGGI and the Government of Central Kalimantan affirmed a joint commitment to develop a Green Growth Vision document for the province – integrating past and ongoing policies, initiatives and activities under a common and integrated framework. Coming 18 months ahead of the preparation of the province's next 5 year mid-term development plan, this vision document will highlight the province's leadership in green economy and low carbon development initiatives. It will also help to raise awareness regarding the "green growth opportunity" at the District level – itself essential if green growth initiatives are to have long-term, meaningful impacts.
In the opening speech from Governor of Central Kalimantan A. Teras Narang's, delivered by Mr. Brigong Tom Munandas, Expert Staff on Economic Development to the Governor, he called upon all stakeholders to work with the Provincial Government, BAPPENAS and GGGI in "greening the planning process," emphasizing the priorities of "improving the quality of life and social equity of Central Kalimantan's people, while reducing the risk of environmental degradation," and "increasing use of green technology and promoting environmentally and socially responsible investment."
Central Kalimantan has a brief but significant history in green growth and low carbon development. GGGI Indonesia Country Representative, Anna van Paddenburg noted, "Green growth is certainly nothing new to the province. However, GGGI and the government recognize the need for a vision document that unites activities and stakeholders in a common framework. We hope the five dimensions of green growth, promoted through the Green Growth Program with BAPPENAS, can be applied within this Green Growth Vision, driving investments towards green growth sectors."


Theory for a clinoform of permanent form on a continental margin emplaced by weak, dilute muddy turbidity currents
Research output: Chapter in Book/Report/Conference proceedingConference contribution
Abstract
A clinoform is a prograding sedimentary deposit. Of interest here are the clinoforms that constitute the building blocks of continental margins.A continental margin consists of a continental shelf, i.e. a shallow region near the shore of a continent that gently slopes seaward, followed by a continental slope, i.e. a steeper region that drops off into deep water. In many cases the continental slope itself constitutes a clinoform that progrades into deeper water. In other cases, and especially near river mouths, a given margin may have several coexisting clinoforms. Many margin clinoforms tend to be muddy. Here a theory of clinoform progradation is developed. The clinoform is assumed to be continuous in the along-shelf direction. A wave-current boundary layer is assumed to stir up a dilute suspension of mud, which then moves slowly as a sheet down the shelf slope in the direction of deep water. Near the shelf-slope rollover the turbidity current loses wave agitation, and forms a net-depositional flow that results in clinoform progradation. When simplified to the case of a horizontal deep-water basement, constant sea level and negligible tectonism, the theory allows a solution for a clinoform of permanent form, i.e. one that progrades without changing shape.
Original languageEnglish (US)
Title of host publicationRiver, Coastal and Estuarine Morphodynamics
Subtitle of host publicationRCEM 2005 - Proceedings of the 4th IAHR Symposium on River, Coastal and Estuarine Morphodynamics
Pages553-561
Number of pages9
Volume1
StatePublished - 2006
Event4th IAHR Symposium on River, Coastal and Estuarine Morphodynamics, RCEM 2005 - Urbana, IL, United States
Duration: Oct 4 2005Oct 7 2005
Other
Other4th IAHR Symposium on River, Coastal and Estuarine Morphodynamics, RCEM 2005
CountryUnited States
CityUrbana, IL
Period10/4/0510/7/05
ASJC Scopus subject areas
 - Ecological Modeling
 - Environmental Chemistry
Fingerprint Dive into the research topics of 'Theory for a clinoform of permanent form on a continental margin emplaced by weak, dilute muddy turbidity currents'. Together they form a unique fingerprint.
 - Cite this
 Parker, G. (2006). Theory for a clinoform of permanent form on a continental margin emplaced by weak, dilute muddy turbidity currents. In River, Coastal and Estuarine Morphodynamics: RCEM 2005 - Proceedings of the 4th IAHR Symposium on River, Coastal and Estuarine Morphodynamics (Vol. 1, pp. 553-561)


Export (0) Print
Expand All
Expand Minimize
Remote Authentication in SharePoint Online Using Claims-Based Authentication
SharePoint 2010
Summary: Learn how to authenticate against Microsoft SharePoint Online in client applications using the SharePoint client-side object models.
The decision to rely on cloud-based services, such as Microsoft SharePoint Online, is not made lightly and is often hampered by the concern about access to the organization's data for internal needs. In this article, I will address this key concern by providing a framework and sample code for building client applications that can remotely authenticate users against SharePoint Online by using the SharePoint 2010 client-side object model.
Note Note
Although this article focuses on SharePoint Online, the techniques discussed can be applied to any environment where the remote SharePoint 2010 server uses claims-based authentication.
I will review the SharePoint 2010 authentication methods, provide details for some of the operation of SharePoint 2010 with claims-mode authentication, and describe an approach for developing a set of tools to enable remote authentication to the server for use with the client-side object model.
In Office SharePoint Server 2007, there were two authentication types: Windows authentication, which relied upon authentication information being transmitted via HTTP headers, and forms-based authentication. Forms-based authentication used the Microsoft ASP.NET membership and roles engines for managing users and roles (or groups). This was a great improvement in authentication over the 2003 version of the SharePoint technologies, which relied exclusively on Windows authentication. However, it still made it difficult to accomplish many scenarios, such as federated sign-on and single sign-on.
To demonstrate the shortcomings of relying solely on Windows authentication, consider an environment that uses only Windows authentication. In this environment, users whose computers are not joined to the domain, or whose configurations are not set to automatically transmit credentials, are prompted for credentials for each web application they access, and in each program they access it from. So, for example, if there is a SharePoint-based intranet on intranet.contoso.com, and My Sites are located on my.contoso.com, users are prompted twice for credentials. If they open a Microsoft Word document from each site, they are prompted two more times, and two more times for Microsoft Excel. Obviously, this is not the best user experience.
However, if the same network uses forms-based authentication, after users log in to SharePoint, they are not prompted for authentication in other applications such as Word and Excel. But they are prompted for authentication on each of the two web applications.
Federated login systems, such as Windows Live ID, existed, but integrating them into Office SharePoint Server 2007 was difficult. Fundamentally, the forms-based mechanism was designed to authenticate against local users, that is, it was not designed to authenticate identity based on a federated system. SharePoint 2010 addressed this by adding direct support for claims-based authentication. This enables SharePoint 2010 to rely on a third party to authenticate the user, and to provide information about the roles that the user has.
Because computers are designed to accommodate multiple users, authorization has always been a challenge. At first, the operating system validated the user. Then, the operating system told the application who the user was. This was the very first claim, made by the operating system to the application. The essence of this claim was the identity of the user. The operating system had determined who the user was, probably through a password that the user provided. The application did not have to ascertain who the user was; it simply trusted the operating system.
This authentication process worked well until it became necessary for a user to use applications on systems that they were not logged in to. At this point, the application had to perform its own authentication. Applications started with the same approach that operating systems had used—requiring the user's name and password. Authentication works well this way, but it requires that every application validate the user name and password. Maintaining multiple separate authentication databases became problematic, because users would want to use their same user names and passwords across applications.
Creating accounts with the same user name and password is a manageable problem. However, as the concern for security grew, the requirement for users to periodically change their passwords created an unmanageable situation, where the users would find it difficult to keep their passwords synchronized between different applications. Shared authentication mechanisms were developed to solve this problem. Once again, an application could rely upon a third party for authentication of the user.
The most popular approach for a shared authentication database is one that uses the Kerberos protocol. The Kerberos protocol provides mechanisms that enable a user to authenticate against a centralized server and then convey his or her identity through a ticket signed by that server. The advantage of this approach is that the centralized server is the only one that must know the user's password or other identifying information. This works well for providing authentication information, but it relies on a single store for user identities.
Today, some of the users of your application are using identities that you do not control. Consider an organization that provides payroll or retirement plan services for other companies. These organizations may need to accept users who belong to many other companies, and have no requirement to authenticate them individually. They have to know only that the organization that they have a contract with can identify the user. In these cases, the centralized server for authentication does not exist; there is no centralized entity that can validate every user.
Similarly, if you have an extranet website that is designed to work with multiple partners, you may not want to manage user accounts for all of your partners' employees, or even let the partners manage them. Instead, you just want to take the remote server's claim of the user's identity.
This is one of the great features of a claims-based login. Another system, which your system trusts, provides a claim of the user's identity.
There are many standards, such as WS-Federation, WS-Security, and WS-Trust that define how this sort of arrangement should work. WS-Federation is the most relevant because it describes a specific approach for the exchange of federated authentication. SharePoint 2010 implements the WS-Federation standard, as do many other Microsoft and non-Microsoft products. This means that the SharePoint claims implementation can talk to many other systems.
In addition to the authentication information described previously, there is the capability for the infrastructure to make other claims about the user, including profile properties such as name and email address. The claim can also contain the roles, or groups, that a user belongs to. This opens the door for applications, including SharePoint 2010, to use what the claims provider (known as an issuing party) trusts about the user. Then, applications can set authorization to do something to the roles that are conveyed in the claims token.
The ability for a claim to convey more than just simple identity necessitates the requirement to enforce rules about what types of claims an application will accept from a third party. The WS-Trust standard supports the idea that one party may rely on another party, as described previously. In addition, it also allows for a chain of trust, where the application, such as SharePoint 2010, trusts an internal provider such as Active Directory Federation Services (AD FS) 2.0, which in turn trusts another party or even multiple other parties. AD FS 2.0 creates its own claims token for SharePoint, based on the information that it received from the issuing party that it trusts. This is particularly useful because AD FS 2.0 is a claims transformation engine. That is, it can change one claim, such as a property, into another claim, such as role membership. AD FS 2.0 can also filter the claims made by a third party, so that the third party cannot pass a claim to the application that a user is an administrator for.
Now that you have learned about the advantages of claims-based authentication, we can examine what actually happens when you work with claims-based security in SharePoint. When using classic authentication, you expect that SharePoint will issue an HTTP status code of 401 at the client, indicating the types of HTTP authentication the server supports. However, in claims mode a more complex interaction occurs. The following is a detailed account of the sequence that SharePoint performs when it is configured for both Windows authentication and Windows Live ID through claims.
 1. The user selects a link on the secured site, and the client transmits the request.
 2. The server responds with an HTTP status code of 302, indicating a temporary redirect. The target page is /_layouts/authenticate.aspx, with a query string parameter of Source that contains the server relative source URL that the user initially requested.
 3. The client requests /_layouts/authenticate.aspx.
 4. The server responds with a 302 temporary redirect to /_login/default.aspx with a query string parameter of ReturnUrl that includes the authentication page and its query string.
 5. The client requests the /_login/default.aspx page.
 6. The server responds with a page that prompts the user to select the authentication method. This happens because the server is configured to accept claims from multiple security token services (STSs), including the built-in SharePoint STS and the Windows Live ID STS.
 7. The user selects the appropriate login provider from the drop-down list, and the client posts the response on /_login/default.aspx.
 8. The server responds with a 302 temporary redirect to /_trust/default.aspx with a query string parameter of trust with the trust provider that the user selected, a ReturnUrl parameter that includes the authenticate.aspx page, and an additional query string parameter with the source again. Source is still a part of the ReturnUrl parameter.
 9. The client follows the redirect and gets /_trust/default.aspx.
 10. The server


text:
Interferometry measurement technology is one of the most important methods for obtaining high precision navigation information in deep space exploration. This paper describes the principle of interferometry measurement wideband correlation signal processing method using bandwidth synthesis technology for accurately extracting the delay of spacecraft angle location information. Bandwidth synthesis technology extends analysis bandwidth in interferometry measurement to get higher delay estimation precision compared with traditional interferometry method. Simulation experiment is finished, simultaneously, a connected interferometry measurement experiment system is established to sample real geosychronous satellite signal for interferometry measurement analysis in Beijing Aerospace Control Center. Finally, clear fringes and high precision delay are obtained by simulation and actual experiments, lower than ns precision is reached, these results confirm the perfect performance of interferometry measurement wideband correlation signal processing method, which can meet the requirement of high precision navigation in deep space exploration. © 2011 IEEE.
Mendeley saves you time finding and organizing research
Choose a citation style from the tabs below


text:
Use fake eggs to make fluffy Easter chick decorations by following this super simple tutorial.
I really wanted to make some egg chicks for Easter, using my huge stack of fake eggs. Pickle asked why there was no Daddy chick (I'd made one big and two little ones). Thinking fast, I told him that Daddy chick was at work!
To make egg chicks for Easter, you will need:
- polystyrene or papier mache eggs
- yellow tissue paper & PVA glue (if using polystyrene eggs), or yellow paint (if using papier mache eggs)
- a paint brush
- yellow, or orange feathers
- orange foam, or card
- googly eyes
- a hot glue gun
- thread and a needle (if you want to hang your finished chicks up)
COST: a few quid
AGE: toddlers and up (with help!)
TIME: 20-30 minutes (plus drying time)
How-to make egg chicks for Easter:
- Paint your egg yellow (if using papier mache eggs), or cover them in yellow tissue paper using watered-down PVA glue and leave to dry.
- Use your hot glue gun to stick a folded diamond of orange foam (or card) to the smaller end of your egg, making a beak.
- Stick your googly eyes above the beak.
- Use your hot glue gun again to stick feather wings to either side of the egg chick and a smaller feather sticking up at the back to make a tail.
- OPTIONAL: If you want to hang your finished chicks to make an Easter display, use a needle to thread a loop and tie the ends together.
So that's how we made our egg chicks for Easter (by the way, I'm linking up with the _TAG_ challenge _TAG_ _TAG_ _TAG_)!


text:
Both SATA and eSATA are connectors which are used for connecting storage devices. SATA is used to connect internal storage devices, while eSATA is used to connect external devices.
|1||SATA stand for Serial Advanced Technology Attachment||eSATA stands for external Serial Advanced Technology Attachment|
|2||SATA is a connector which is used to connect internal storage devices||eSATA is a connector which is used to connect external storage devices|
|3||SATA has a cable length of 1 m or 3.3ft||eSATA has a cable length of 2 m or 6.6ft|
|4||SATA is commonly used for data storage||eSATA is commonly used for audio processing and video processing|
|5||SATA has several versions such as SATA I, SATA II, SATA III and SATAe (SATA express) and they support speed in the range of 1.5 Gbits/s, 3 Gbits/s, 6 Gbits/s and 16 Gbits/s respectively||eSATA does not have several versions|
|6||SATA cables is less thick than eSATA's cable||eSATA cables is thicker than SATA's cable to prevent interference as the length is increased from 1 m to 2 m|


text: The observations in geodetic networks are measured repetitively and in the network adjustment step, the mean values of these original observations are used. The mean operator is a kind of Least Square Estimation (LSE). LSE provides optimal results when random errors are normally distributed. If one of the original repetitive observations has outlier, the magnitude of this outlier will decrease because the mean value of these original observations is used in the network adjustment and outlier detection. In this case, the reliability of the outlier detection methods decreases, too. Since the original repetitive observations are independent, they can be used in the adjustment model instead of the estimating mean value of them. In this study, to show the effects of the estimating mean value of the original repetitive observations, a leveling network that contains both outward run and backward run observations were simulated. Tests for outlier, Huber and Danish methods were applied to two different cases. First, the mean values of the original observations (outward run and return run) were used; and then all original observations were considered in the outlier detection. The reliabilities of the methods were measured by Mean Succes Rate. According to the obtained results, the second case has more reliable results than first case.


text:
There was a Tree
This charming book is based on the folk song "The Green Grass Grew All Around", a cumulative song that grows longer and longer with multiple verses. The book starts with a hole in the ground which grows a tree, which has a branch, and so on, with "the green grass grew all around, all around, and the green grass grew all around" ending every verse. Isadora uses rebuses to allow children to help read the story, similar to "The Jacket I Wear in the Snow", by Shirley Neitzel. The beautiful and creative illustrations were created using oil paints, printed paper, and palette paper. At the end of the book is the music for anyone who is not familiar with the song. Highly recommended for preschool through 2nd grade.
Send a Question or Comment to Appleton Public Library.


Here's What You Can Substitute For Corn Syrup
High-fructose corn syrup is often maligned by nutritionists, but regular old corn syrup is a classic ingredient in recipes like pecan pie, homemade candy, and other sweet treats. So, what's one to do if they go to do their once-a-year holiday baking, only to discover that they're out of corn syrup? Luckily, there are a few substitutions you can use.
Corn syrup is used for a couple of different reasons in recipes. For one, it's sweet, so it adds a sugary flavor to your food. For two, it's an invert sugar (via David Lebovitz). This means that, when used in conjunction with regular sugar, it helps prevent crystallization, something you want to avoid when making smooth caramels and gooey pecan pies. So, what can you substitute for corn syrup when you run out?
The best corn syrup substitutes
The easiest corn syrup substitute, and one that's made with pantry staples, is made by dissolving 1 1/4 cups of granulated sugar in 1/4 cup hot water, to make a substitute for one cup of corn syrup (via MyRecipes).
That will give you the viscosity and sweetness you need to replicate corn syrup in most baked good recipes, but it won't help prevent sugar crystallization, so it's best to use something else in candy and caramel recipes.
You can use brown rice syrup or golden syrup, both invert sugars, as a corn syrup substitute when making caramels and candies (via Epicurious). Both have their own flavor profile — brown rice syrup tastes slightly nutty and toasted, while golden syrup has a buttery flavor — but those flavors work well in caramel-type applications.
If you don't need to worry about sugar crystallization, you can try using agave nectar, honey, or cane syrup in your recipe. They have the same ooey-gooey texture as corn syrup, and are about the same level of sweetness.
The next time you run out of corn syrup, don't panic. Chances are you have a corn syrup substitute already waiting in your pantry.


Take the 2-minute tour ×
Define $X_{n+1} = (aX_n + c) \bmod m$ where $a$ is chosen uniformly at random from $\{1,\dots, m-1\}$ and $c$ is chosen uniformly at random from $\{0,\dots, m-1\}$ and $m$ is a fixed prime. Take $X_0$ to be some arbitrary value from $\{0,\dots, m-1\}$. What is the mean cycle length?
share|improve this question
2 Answers 2
up vote 1 down vote accepted
$X_n = c/(1-a) + (X_0 - c/(1-a)) a^n \mod m$. The period is the order of $a$ mod $m$. For each $t$ dividing $m-1$, the number of $a$ with order $t$ is $\varphi(t)$. So the mean period is $$\frac{1}{m-1} \sum_{t | m-1} t \varphi(t)$$ See _URL_ for that sum.
EDIT: This doesn't count the case $a=1$ properly: there we have $X_n = X_0 + c n$ and the period is $m$ (unless $c=0$ in which case the period is $1$). So the mean period for the case $a=1$ is $m - 1 + 1/m$ instead of $1$, and the correct mean period is $$ \frac{m-1}{m} + \frac{1}{m-1} \sum_{t | m-1} t \varphi(t)$$ Thus for $m=7$, where $\sum_{t | 6} t \varphi(t) = 21$, the mean period is $\dfrac{6}{7} + \dfrac{21}{6} = \dfrac{61}{14}$.
share|improve this answer
You must be doing something wrong. For $m=2$ there are just two cases: $a=1, c=0$ (period $1$) and $a=1,c=1$ (period $2$). So the mean period is $1.5$. You can't possibly have a period greater than $2$ when there are only two possible values. – Robert Israel Feb 6 '13 at 2:35
_URL_ has a complete enumeration of the $m=7$ case which gives the mean as exactly $4$. (The variable $b$ is the same as $c$ in the question.) Do you see why there is a discrepancy? – user59560 Feb 8 '13 at 19:18
Yes, the problem is that I was taking the period of the function as a whole, neglecting the fact that (for $a \ne 1$) there is a fixed point $X_0 = c/(1-a)$. Taking this into account, the end result is that the mean period is $$1 + \frac{1}{m} \sum_{t | m-1} t \varphi(t)$$ This agrees with your results: $3/2$ for $m=2$, $2$ for $m=3$, $3.2$ for $m=5$, $4$ for $m=7$. – Robert Israel Feb 8 '13 at 21:02
Perfect, thanks! – user59560 Feb 8 '13 at 21:29
it is not a mean, it is a fixed number. there are many papers on this field
share|improve this answer
Your Answer


Opened 4 years ago
#18865 new defect
Can't make ring homomorphism from ring of integers to a residue field
Reported by: robharron Owned by:
Priority: major Milestone: sage-6.8
Component: number fields Keywords: Ring of integers, homset, residue field
Cc: Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:
Description
It doesn't seem possible to create a ring homomorphism from an order in a number field to a residue field of the number field. For instance:
sage: K.<a> = NumberField(x^2-2)
sage: OK = K.ring_of_integers()
sage: P = K.primes_above(3)[0]
sage: kappa = P.residue_field()
sage: abar = kappa.gen()
sage: im = [g.polynomial().change_ring(ZZ)(abar) for g in OK.gens()]
sage: iota = OK.hom(im)
raises "TypeError?: images do not define a valid homomorphism".
Now, if instead you pass "check=False" to OK.hom, you of course get an iota, but you are unable to evaluate it:
sage: iota = OK.hom(im, check=False)
sage: iota(K.gen())
This raises "TypeError?: unsupported operand parent(s) for '*': 'Rational Field' and 'Residue field in abar of Fractional ideal (3)'". I tried being clever and doing:
sage: iota(OK(K.gen()))
but got the same error. Tracing it back, when sage tries to evaluate iota at an element a, it calls a._im_gens_(kappa, im) and this is totally wrong for this homset. Rather it is meant for homomorphisms between number fields. Basically, it looks like we need a function _im_gens_ for OrderElement? types. It should take the element a written out in the basis given by OK.gens() and replace the basis elements with the element in im.
Change History (0)
Note: See TracTickets for help on using tickets.


text:
Materials: watercolour paper, inks
Technique: calligraphy, origami
Size: 45 x 50 x 35 cm
Description: The words of the song "Imagine" written by John Lennon are lettered on an origami crane, a structure now recognised as a symbol for peace in the world. The words are written in overlapping layers in three different scripts (both formal and informal) to represent the numerous ways that people have rallied for peace over many years using numerous methods, some orthodox, some unconventional. The repetition of the verses represents the idea of a mantra, endlessly chanted to focus our thoughts on peace. Blue is often regarded as the colour which denotes spiritual, mystical and ethereal elements, so it seemed a perfect choice to symbolise our hopes and dreams for peace in our troubled world.
Selected for display in the "Birds – Flights of Fancy" exhibition at Pine Rivers Gallery in 2014.


text:
Each of the four presidents who served during Minnesota's territorial period, March 1849 to May 1858, implemented a system of appointments known as "rotation in office." Under rotation, a newly-elected president replaced incumbents, placed there by his predecessor, with his own appointees, who were members of his political party. The result was a high turnover among federal officeholders.
This article examines the political and personal influences on Presidents Taylor, Fillmore, Pierce and Buchanan as they made appointments to and removals from Minnesota's territorial supreme court. It shows how aspirants lobbied each new administration for judicial assignments. The scheming of Henry Rice, the territorial delegate to Congress, to persuade the Buchanan administration to appoint his slate of judges is revealed; and the importance of recommendations by U. S. Supreme Justices Robert Grier and Samuel Nelson to the President's decision to appoint Rensselaer R. Nelson to the territorial court is explored. One of the themes of this article is that political leaders in the territory gained more influence over the selection process as statehood neared.
Article 6, §3, of the constitution Minnesota voters adopted in October 1857, required judges to be elected by the people. This requirement was the consequence of many forces, not the least of which was a reaction by the voters against the practice of rotation in office.
WARNING TO VIEWERS: Because of the length of this article, it may take several minutes for it to appear on your screen.


Skip to main content
 This documentation site is for previous versions. Visit our new documentation site for current releases.

Dynamic system settings for SOAP integrations
Updated on April 6, 2022
Pega Platform provides dynamic system settings that you can use to modify SOAP integrations in your system. For example, you can modify the time and number of idle HTTP connections if a high system load negatively affects the performance of SOAP connectors.
For more information about updating dynamic system settings, see Editing a dynamic system setting.
The following table provides the dynamic system settings that you can configure for your SOAP integration:
SOAP integration settings
Owning rulesetNamePurposeValue typeDefault value
Pega-IntegrationEngineAxis2_IdleTimeoutLimits the amount of time that the system holds idle HTTP connections in the requestor-level connection pool before evicting or closing the connections.
Consider changing this value if periods of high system load negatively affect the SOAP connector performance.
Integer (milliseconds)180000
Pega-IntegrationEngineAxis2_Max_ConnectionsLimits the total number of idle HTTP connections that the system holds in the requestor-level connection pool.
Consider changing this value if periods of high system load negatively affect the SOAP connector performance.
Integer100
Pega-IntegrationEngineAxis2_Max_HostConnectionsLimits the number of idle HTTP connections to a particular host that the system holds in the requestor-level connection pool.
Consider changing this value if periods of high system load negatively affect the SOAP connector performance.
Integer1000
Pega-IntegrationEngineDisableEpochDateTimePrevents the inclusion of default date values of the _PHONE_ format when mapping empty date values from the clipboard during XML serialization.
When you set this dynamic system setting to true, the system leaves the serialized XML value blank.
Booleanfalse
Pega-IntegrationEngineDisableMustUnderstandHeaderPrevent run-time failures in SOAP connectors that occur when the SOAP response contains a SOAP header that has a mustUnderstand attribute with a value of true or 1.
When you set this dynamic system setting to true, the SOAP connector run time suppresses the third-party code that returns an exception when the mustUnderstand attribute is present.
Booleanfalse
Pega-IntegrationEngineEnableJCIFSEngineEnables the use of the JCIFS open-source library for SOAP or REST connectors that use NTLMv2 authentication.
When you set this dynamic system setting to true, the connector uses the JCIFS library instead of the default Apache library for authenticating the connection.Note: As licensing restrictions prevent the JCIFS library from being distributed with Pega Platform, install the JCIFS library into the Pega classpath as a separate step.
Booleanfalse
Pega-IntegrationEngineEnableRequestOnlyFaultMappingDetects server-side processing failures in SOAP connectors when the configuration uses the Request only option.
When you set this dynamic system settings to true, the connector waits for the service endpoint to return a SOAP fault message in case the request is not successfully processed. By default, the connector does not wait for a response or detect server-side processing failures.
Booleanfalse
Pega-IntegrationEngineHTTPS/AllowAllHostnamesControls the mechanism to temporarily bypass the SSL/TLS security checks, which can be useful during the development of Pega applications that use SOAP or REST connectors.Important: Do not set this dynamic system setting to true in production environments, as it significantly lowers the level of protection from malicious attacks.Booleanfalse
Pega-IntegrationEngineParseXML/DOM/DoNotConvertBooleanValuesDetermines whether to retain the original Boolean value from the source XML when mapping to a TrueFalue property on the clipboard during XML parsing.
When you set this dynamic system setting to true, the TrueFalse property follows the XML source value, which can be any of the following values:
 - true
 - false
 - 1
 - 0
Otherwise, the value set on the clipboard is either true or false.
Booleanfalse
Pega-IntegrationEngineStreamXML/DetectEmptyPropertiesPrevents the inclusion of unwanted element or attribute tags for properties that contain an empty string or empty list value during XML serialization.
The default behavior during XML serialization is to include these tags depending on the presence or absence of the property on the source clipboard page. This behavior can be an unreliable way to determine whether the application has set the property.Note: Changes to this value require a revalidation and resave of all XML Stream rule instances.
Booleanfalse
Pega-IntSvcsXML/RemoveEmptyPropertiesFromPagePrevents the inclusion of unwanted element or attribute tags for properties that contain an empty string or empty list value during XML serialization.
When you set this dynamic system setting to true, the system purges the source page of empty properties before the XML serialization.Note: This setting is an alternative to the StreamXML/DetectEmptyProperties dynamic system setting that does not require you to resave existing XML Stream rules.
Booleanfalse
Pega-IntegrationEngineSwitchToOldAssemblerControls the run-time implementation of Parse XML rules.
Consider changing this value if slow XML parsing negatively affects the performance of the SOAP connector.Note: Changes to this value take effect immediately and do not alter the values that are mapped to the clipboard from the source XML.
Booleanfalse
Have a question? Get answers now.
Visit the Support Center to ask questions, engage in discussions, share ideas, and help others.
Did you find this content helpful?
Want to help us improve this content?
We'd prefer it if you saw us at our best.
Pega.com is not optimized for Internet Explorer. For the optimal experience, please use:
Close Deprecation Notice
Contact us


text:
Alexander Spotswood (_PHONE_) was the lieutenant governor of Virginia from 1710 to 1722. The nominal governor, George Hamilton, 1st Earl of Orkney, never visited the colony, leaving Spotswood in control as one of the longest acting governors of the colonial period. Under his direction, the Tobacco Act of 1713 was passed, requiring the inspection of all tobacco intended for export and the destruction of tobacco not meeting government standards.
Like the other Crown-appointed governors to Virginia, Spotswood spent his term in office wrestling with the wealthy planters that dominated the House of Burgesses for political control of the colony. He attempted to court small farmers by proposing measures that would have forced large planters to put portions of their uncultivated land onto the market. But his proposal was defeated. He then took the opposite course and attempted to raise the property requirement for voting. Members of the House of Burgesses used this to portray him as an enemy of representative government. Spotswood was forced to resign in 1722.


text:
|Just as children start their education in nursery schools, so too do many trees begin to grow from seed and sapling in a nursery environment.|
A valuable and beneficial link between tree nurseries and schools is being forged by Self Help in Uganda, where new links are being forged between tree production and local school institutions.
The introduction of measures to address the rapid depletion of Uganda's woodlands is high on the agenda for Self Help's country operations, and the project sees the developing of tree nurseries within the school environment as a sustainable and effective way to establish the initiative.
Establishing tree seedling nurseries in local schools has a multiple benefit - as it provides a central location where seedlings can be reared, promotes the initiative amongst students and their parents, and also raises awareness amongst future generations of the importance of natural resource management.
School teachers are provided with training in nursery management, and are encouraged to educate and train the children in growing methods, and in the huge importance of natural resource management.
Self Help Africa in Uganda
|Self Help Africa began working in Uganda in the late 1990's, initially on a three year pilot project in Asamuk, and latterly with area based projects in Amuria and Kamuli.|
A number of new area based projects have been started by the organisation in the country in recent times.


text:
-❈• Flower Science Experiment for Kids: DIY Glowing Flowers from Fun at Home with Kids
Make a Glowing Flower: Tonic water, which contains quinine, was used to impart a blue glow to this carnation.
Make real flowers GLOW? Trippy. Gorgeous. Cool. Click through for simple tutorial. Would look amazing as DIY table centerpieces at a glow party.
These may look like fireworks or pretty flowers but they are STARBURST JELLYFISH!
Group 4: LIFESHOCKS This group consists if those who have powers over life and death, and electricity Captain: Alice First hire: Willow
Fractal Dahlia 8x10 - Fine Art Photography.#Repin By:Pinterest++ for iPad#
La fórmula se pulveriza sobre las flores y plantas que se colocan a continuación, al lado de una luz especial para hacer brillar
Science Fair Projects for primary and elementary students! There are so many awesome ideas here! I cannot wait to try the glowing flowers science experiment!
Glow in the dark flowers
Rather than painting with glow-in-the-dark paint, you soak it!


of those scenarios below and how to reproduce them in Node-Red.
Delay an Action
Most timers are used to delay a specific action until a relative later point in time (i.e. turning off a light after a specific time interval). Node-Red has a Delay node for performing this same time of set time delay.
Block Other Actions During a Defined Time Period
Many times in Openhab when you don't want an action occurring within a certain time frame of a previous action, you do so by setting a timer in the first action and then checking if a timer is still active when a second action tries to occur. In Node-Red there are a couple of different ways to accomplish this depending on some of the nuances involved. One is to use a "Rate Limit" within a delay and telling the delay to drop any messages that come in during the delay.
You can also use the Trigger node in Node-Red. These nodes are very flexible, allowing you to send actions at the start of a time period or at the end or during both. You can also extend the triggers if certain events happen. So for example if you have a motion sensor trigger a light on and then want it to turn off after the last trigger from your motion sensor you could use a trigger as follows:
As you'll see, there are many different ways with Delays and Triggers that you can approach solving the same problem.
Logging
Logging is one of the big strengths of Node-Red. You can create immediate Debug outputs that you can see from the edit window or to File nodes to write entries to an external log file.
Notifications
While Node-RED has some addon Nodes to help support different types of notifications, I wanted to still be able to leverage some of the built in functionality of OpenHAB as well. This required setting up necessary OpenHAB items and rules to interfact into OpenHAB's functionality.
Broadcast Notifications
Through the OpenHAB Cloud Connector _URL_ you are able to use the mobile apps to both access your system and receive broadcast notifications _URL_ To integrate this into Node-RED requires an item to carry the notification information and a rule to trigger the notification.
Item Definition:
String vNotification "Notification [%s]"'
Notifications.rules:
rule "Send Notification"
when
 Item vNotification received update
then
 sendBroadcastNotification(vNotification.state.toString)
end
And finally a Node-RED flow to send the notification. Here I used a change node to create my text message:
image
image
You can also use the template node to include other payloads or topics into your notification message:
image
image
If you want to add a time stamp to your message I was able to put together the following to create a plain language time stamp (i.e. 3:32 pm)
For cut-and-paste purposes:
msg.payload = msg.payload + new Date().toLocaleTimeString('en-US',{timeZoneName: 'short'});
return msg;
Audio & Voice
OpenHAB has the ability to play audio files and convert text-to-speech: _URL_ To take advantage of this integration we follow a similar approach as we did for the Broadcast Notifications above using a combination of a custom item and a rule combined with a Node-RED flow.
First to trigger a text-to-voice (assuming you have already setup everything in OpenHAB as per above).
Item Definition:
String vSpeech
Speech.rules:
rule "Send Speech"
when
Item vSpeech received update
then
say(vSpeech.state.toString)
end
And finally a NodeRed flow to tie it together.
image
I went a step further with mine to control the volume levels during and after sending speech (turning it up while the speech is broadcast and turning it back down). So I created a sub-flow (_URL_
image
image
Similarly for sending an Audio file saved to your conf/sounds directory:
Item Definition:
String vSound
Sound.rules:
rule "Send Sound"
when
 Item vSound received update
then
 playSound(vSound.state.toString)
end
And Node-RED flow:
image
image
Email
For email you can choose to use the SendMail binding _URL_ or alternatively you can do it directly from Node-RED using the email node _URL_ The one trick I did apply here is I didn't want to configure each node instance with my smtp server information and I wanted the ability to turn on and off the ability to send email (so I didn't spam my wife when I was testing) so instead created an email subflow and a control flow.
Email Subflow:
image
image
image
Control Flow:
image
image
image
Change Log
06.27.2017
 - Updated Item <item> changed [from <state>] [to <state>]
 - Fixed missing <>
 - Revised Item <item%gt; received command [<command>] / Item <item> received update [<state>] to differentiate between a change in status vs. just an update (where the status might not change)
 07.04.2017
 - Updated * If…then Statements to include the openhab-get node for checking item state
 08.03.2017
 - Added reference to node-red nodes - norelite
 08.18.2017
 - Added Notifications Section
 - Added notes on integrating with MQTT
Node-RED as a rule/script engine for openHAB
Washing Machine State Machine
Defining 'things' in paper UI and code
Node-RED as a rule/script engine for openHAB
Multiple events from one change to group
Controlling OpenHAB by Telegram?
Anyone has created a Scene using Tasmota Sonoff Switch
Finding the Xtend syntax really frustrating for writing rules. Can I write rules in another scripting language?
Testers for Verisure openHAB 2 binding
Install OpenHab on Windows or Ubuntu?
Do i missed something / menu and theme not available
Alexa skills using a Local MyOpenHAB server
Node-RED as a rule/script engine for openHAB
(steve1) #2
Looks very interesting. Does Node-RED support turning flows into nodes that can be displayed in the side bar? A related question is whether a flow can be parameterized and reused by instantiating a flow with specific parameters. For example, if I have a complex flow for a type of device and I have 20 of those devices, can I create a flow component that can be reused for each device by just specifying the device-specific parameters for each device?
(Rgerrans) #3
I haven't played with them yet but Node-RED has the concept of sub-flows which are reusable flows that are treated like a node in your main flows - _URL_
(Eurico Borges) #4
You should put this info in the Wiki. not just in the forum.
(Rgerrans) #5
Which Wiki?
(Eurico Borges) #6
I was thinking on _URL_
( ) #7
Hey @rgerrans, great to see this thread after just a few days!! :wink:
@eurico_borges I'd prefer the tutorials to stay in the "Tutorials & Examples" section. This way people can discuss solutions and related problems as well as post related solutions or alternatives. The article can also be modified and updated more easily here.
However, I'd be happy to include the tutorial in the list of recommended tutorials in the second half of: _URL_
(steve1) #8
Maybe I missed something, but BigTimer doesn't seem to completely replace cron triggers since the time specifications are at the minute resolution. For higher resolution triggers (e.g., every 15 seconds) there is a cron node in Node-RED.
(Joe Lawrence) #9
Can the two rule engines co-exist??? IE Can I use both?
(Rgerrans) #10
Good catch. BigTimer looks to me to be more of an on/off timer (with minute heart beat which I find useful for resetting my schedule status following a restart). It doesn't look like it's designed to do repeat triggers. That's one nice thing about Node-RED is all the different contributed nodes.
In addition to the cron nodes, you could also just put a loop with a timed delay in your flow to cause a repeat during your on window. Like this:
Edit: Just realized this approach won't turn off. There should be a way with a trigger instead of a delay to inject an off into the flow, Will have to play with it later,
(Rgerrans) #11
Yes. I'm running mine in parallel while I transition my rules over.
In addition, I created an OH rule/virtual text item last night to be able to do a sendBroadcastNottification going forward so that I can still send notifications to the OH Mobile App once i migrate all my rules to node-RED so I anticipate still using the OH rules for at least that (I'll add it to the tutorial when I get a gap of free time).
(Joe Lawrence) #12
Thanks, you're doing exactly what I was looking to do. Always good to have extra tools!!
(Rgerrans) #13
Ok, got a chance to play some more and went with a trigger so that I could use the off from BigTimer to stop the trigger. Needed to add a slight delay otherwise it would get ahead of itself


text:
CALDWELL, Idaho — Researchers at Boise State are digging deep into the soil of several wineries across the Treasure Valley to see if there is a connection between an event that happened nearly 15-thousand years ago and the wines in the Snake River Plains.
That historic event was the Bonneville flood, and Rachael Haggen is already drawing connections between the effects of the flood and Idaho's ideal agricultural and soil conditions, but her research is also uncovering a lot more.
"We have soils here that support vineyards, support orchards, agricultural fields," said Rachael Haggen, a graduate student at Boise State.
It's pretty obvious the soil in the Gem State must be fairly optimal when you take a look at all of the thriving agriculture here in Idaho Rachael Haggen's question though, is why.
"Almost 15,000 years ago was the Bonneville flood, it was a massive discharge of water," said Haggen.
And could it be that the sediments deposited by the Bonneville flood thousands of years ago are affecting agriculture today? Rachael and her team set out to find out, by digging multiple pits at several vineyards in the valley.
"In some of the vineyards there are distinct representations of that flood sediment," said Haggen.
Like a vineyard in Melba, where Rachael found a gravel bar deposited by the flood.
"Water moves through that system a lot faster," said Haggen.
But she also found vineyards throughout the valley which had a more compact mixture of silt and clay.
"Silt and clay will have water move through the system at a slower rate," said Haggen.
But as far as the ideal growing conditions in Idaho wine country, she said there isn't really an "ideal" soil condition.
"Vines don't necessarily have an ideal soil texture. It's the way that the vineyard owners choose to manage their vines based on the soil texture that they have," said Haggen.
Good information for the winery owners, regardless. Rachael said many of them weren't aware of the many different soil textures throughout their vineyards, so this research will help them know how much water their vines will need.


Attaching or embedding manifest files
Generate options
Select Embedded manifest if your application needs to be certified for Vista. A manifest file with the execution level you select is embedded in the application's executable file.
You can also select External manifest to generate a standalone manifest file in XML format that you ship with your application's executable file, or No manifest if you do not need to distribute a manifest file.
Execution level
Select As Invoker if the application does not need elevated or administrative privileges. Selecting a different execution level will probably require that you modify your application to isolate administrative features in a separate process to receive Vista certification.
Select Require Administrator if the application process must be created by a member of the Administrators group. If the application user does not start the process as an administrator, a message box displays so that the user can enter the appropriate credentials.
Select Highest Available to have the AIS retrieve the highest available access privileges for the user who starts the process.
UI access
If the application needs to drive input to higher privilege windows on the desktop, such as an on-screen keyboard, select the "Allow access to protected system UI" check box. For most applications you should not select this check box. Microsoft provides this setting for user interface Assistive Technology (Section 508) applications.
Authenticode signing required
If you check this box, the application must be Authenticode signed and must reside in a protected location, such as Program Files or Windows\system32.