Text Normalization SAPI 5.4
Speech API 5.4
Microsoft Speech API 5.4
Text Normalization
You can perform simple text normalization for voice training using the text buffer provided to the engine. Text normalization is the process of changing the input buffer that allows the engine to use preferred word units. The engine word units affect how words are expected to be pronounced as well as how they appear in the voice training wizard.
The text provided to the engine is called an article. An article is composed of multiple phrases, each separated by a new-line character. The voice training wizard displays one phrase at a time.
<article> ::= { <phrase> "\n" }
A phrase is a sequence of word units, separated by white space characters. In this context, white space characters are all characters for which the C run time function iswspace() returns TRUE.
<phrase> ::= { <word> | <literal_symbols> | <numeric_expression> }
Word units
Literals
The following symbols are recognized as units. They should be separated from adjacent text with white space; they will "snuggle" to the words appropriately when presented to the user.
<literal_symbols> ::=
"!\exclamation-point" | "\"\end-quote" | "\"\quote" | "#\pound-sign" | "$\dollar" | "%\percent" | "&;\ampersand" | "'\end-quote" | "'\quote" | "(\paren" | ")\close-paren" | "*\asterisk" | "+\plus" | ",\comma" | "--\double-dash" | "-\hyphen" | ".../ellipsis" | ".\dot" | ".\period" | "/\slash" | ":\colon" | ";\semicolon" | "<\less-than" | "=\equals" | ">\greater-than" | "?\question-mark" | "@\at-sign" | "[\bracket" | "\\back-slash" | "]\close-bracket" | "^\circumflex" | "_\underscore" | "'\back-quote" | "{\left-brace" | "| \vertical-bar" | "}\right-brace" | "~\tilde"
Numerics
Numbers can be the following form:
<digit> ::= "0"-"9"
<non_zero_digit> ::= "1"-"9"
<numeric_expression> ::= <integer_expression> | <integer_expression> <cardinal_suffix> | <floating_expression>
<integer_expression> ::= ["-"] <non_zero_digit>[<digit>[<digit>]] { [","] <digit><digit><digit> }
<floating_expression> ::= <integer_expression> "." <digit> [{ <digit> }]
<cardinal_suffix> ::= "st" | "nd" | "rd" | "th"
Collections
The remainder of the buffer will be treated as a collection of words:
<alpha_char> ::= "a"-"z"| "A"-"Z"
<word_char> ::= <alpha_char> | "-" | "_" | "0"-"9"
<word> ::= <word_0> | <word_1> | <word_2> | <word_3>
<word0> ::= <alpha_char> [{<word_char>}]
<word1> ::= <alpha_char> [{<word_char>}] "s'"|"in'"
<word2> ::= <alpha_char> [{<word_char>}] "." <word2>
<word3> ::= <abbreviation_string> "."
<abbreviation_string> ::=
"al" | "apr" | "assn" | "assoc" | "atty" | "aug" | "bef" | "bldg" | "ch" | "chg" | "co" | "com" | "cont" | "corp" | "dec" | "def" | "det" | "dev" | "div" | "doc" | "etc" | "ext" | "feb" | "gov" | "in" | "ins" | "int" | "intl" | "jan" | "jr" | "jul" | "jun" | "mar" | "messrs" | "mos" | "mph" | "mr" | "mrs" | "ms" | "mt" | "no" | "nov" | "oct" | "oz" | "par" | "pct" | "pfc" | "pp" | "pres" | "prov" | "pt" | "qtr" | "ref" | "reg" | "rep" | "rev" | "sdn" | "sec" | "sep" | "sq" | "sr" | "tech" | "vol" | "wm"
Show:


Follow Paths to Selected Nodes of an Rpart Object
Description
Returns a names list where each element contains the splits on the path from the root to the selected nodes.
Usage
1
path.rpart(tree, nodes, pretty = 0, print.it = TRUE)
Arguments
tree
fitted model object of class "rpart". This is assumed to be the result of some function that produces an object with the same named components as that returned by the rpart function.
nodes
an integer vector containing indices (node numbers) of all nodes for which paths are desired. If missing, user selects nodes as described below.
pretty
an integer denoting the extent to which factor levels in split labels will be abbreviated. A value of (0) signifies no abbreviation. A NULL, the default, signifies using elements of letters to represent the different factor levels.
print.it
Logical. Denotes whether paths will be printed out as nodes are interactively selected. Irrelevant if nodes argument is supplied.
Details
The function has a required argument as an rpart object and a list of nodes as optional arguments. Omitting a list of nodes will cause the function to wait for the user to select nodes from the dendrogram. It will return a list, with one component for each node specified or selected. The component contains the sequence of splits leading to that node. In the graphical interaction, the individual paths are printed out as nodes are selected.
Value
A named (by node) list, each element of which contains all the splits on the path from the root to the specified or selected nodes.
Graphical Interaction
A dendrogram of the rpart object is expected to be visible on the graphics device, and a graphics input device (e.g. a mouse) is required. Clicking (the selection button) on a node selects that node. This process may be repeated any number of times. Clicking the exit button will stop the selection process and return the list of paths.
References
This function was modified from path.tree in S.
See Also
rpart
Examples
1
2
3
fit <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis)
print(fit)
path.rpart(fit, node = c(11, 22))
Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.


May 14, 2021
Marc Gafni: What is the Separate Self?
In this video teaching, Dr. Marc Gafni defines with his students during his annual five-day Urban Retreat in the Summer of 2010, the notion of Separate Self. What is the Separate Self? How do we know our True Self? Marc Gafni introduces and explains that each person is a skin encapsulated ego (to borrow the phrase) and needs to move beyond one's Separate Self towards one's True Self, ultimately realizing one's Unique Self.
Marc Gafni
Speak Your Mind


text:
The term duration refers to the length of time over which the subjective effects of a psychoactive compound manifest themselves. This can be further broken down into (1) total duration (2) onset (3) come up (4) peak (5) offset and (6) after effects. Depending upon the substance consumed, each of these occurs in a separate and continuous fashion.
These are listed and described as follows:
The total duration of a substance can be defined as the amount of time it takes for the effects of a substance to completely wear off into sobriety, starting from the moment the substance is first administered.
The onset phase can be defined as the period until the very first changes in perception (i.e. "first alerts") are able to be detected.
The "come up" phase can be defined as the period between the first noticeable changes in perception and the point of highest subjective intensity. This is colloquially known as "coming up."
The peak phase can be defined as period of time in which the intensity of the substance's effects are at its height.
The offset phase can be defined as the amount of time in between the conclusion of the peak and shifting into a sober state. This is colloquially referred to as "coming down."
The after effects can be defined as any residual effects which may remain after the experience has reached its conclusion. This is colloquially known as a "hangover" or an "afterglow" depending on the substance and usage. It should be noted that the after effects of the substances listed on this site are not included as part of the total duration.

source: openbmb/Ultra-FineWeb


Revision as of 08:50, 1 August 2012 by hamishwillee (Talk | contribs)
How to simulate pointer events
From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Code ExampleCompatibility
Platform(s): S60 5th Edition
S60 5th Edition
Keywords: CCoeControl, RWsSession
Created: chenziteng (28 Sep 2009)
Last edited: hamishwillee (01 Aug 2012)
The wiki article Simulating Pointer Events introduced a way to simulate pointer events within an application. However, sometimes a program may need to send pointer events to other applications. This article describes how to simulate pointer events by RWsSession::SimulateRawEvent(), and explains why it is impossible to send pointer event to a background application by RWsSession::SendEventToWindowGroup().
The RWsSession::SimulateRawEvent() can be used to simulate pointer events, i.e. send pointer events to the foreground application. Assume that the phone is in portrait mode, then the following code can simulate a touch operation on the "Options" CBA button area. If the foreground application has the "Options" CBA button then its options menu will be popped up.
TPoint p(60,600); // within the "Options" CBA button area
TRawEvent event;
event.Set(TRawEvent::EButton1Down, p.iX, p.iY);
iCoeEnv->WsSession().SimulateRawEvent(event); // SwEvent
event.Set(TRawEvent::EButton1Up, p.iX, p.iY);
Source Code
Full example:
How to use it on emulator:
 1. Build the application for winscw and then start the emulator
 2. Start the application and then press the "Multi-task" key (also called the Menu key),
How to use it on target:
 1. Sign the HelloWorld_gcce.sis with a certificate that can grant SwEvent capability
 2. Install the signed installation package on the phone and then start it.
 3. Press the "Multi-task" key
You can see the app sends itself to background and then the foreground application (the Main menu) pops up its options menu.
Many developers tried to send pointer events to a selected application by RWsSession::SendEventToWindowGroup(), but always the target application crashed with KERN-EXEC 3 panic.
To know why it is a Mission Impossible to send pointer events in this way, we shall first understand the convention between CONE and Window Server:
 1. When a window-owning control (CCoeControl) is constructed the address of the control is used as the handle of the window.
 2. When there is a pointer event the Window Server decides which window shall handle it, and then assigns the window handle to the event.iHandle, and then sends the event to the app that owns the window.
 3. When the app CONE received the event, it casts the event.iHandle to a CCoeControl pointer and then call pointer->HandlePointerEventL(event);
So if the code looks like this:
TWsEvent event;
event.SetHandle(0); // "what the handle is? Anyway clear it..."
TPointerEvent& pointerEvent = *(event.Pointer());
pointerEvent.iType = TPointerEvent::EButton1Down;
pointerEvent.iParentPosition = TPoint(0,0);
pointerEvent.iPosition = TPoint(10,10);
pointerEvent.iModifiers = 0;
ws.SendEventToWindowGroup(...); // // send the event to app1
When the app1 receives the event the bad thing will happen:
// CONE code
CCoeControl* ctrl = reinterpret_cast(event.Handle());
ctrl->HandlePointerEventL(*(event.Pointer())); // KERN-EXEC 3 because ctrl equals NULL
The Window Server is in charge of all the windows so it knows what the iHandle should be, but you don't know, so "Window Server's score:100. Yours:0!"
PS: RWindowGroup::Child() can return the client handle but we can not take it for granted that it is a CCoeControl pointer.
The CONE source code included in ER5 SDK (log-in required).
This page was last modified on 1 August 2012, at 08:50.
71 page views in the last 30 days.


text:
Is your webcam already in use ?
- Your webcam can not be used by two applications at the same time
- Check that no ther application is using your webcam
Did you allow access to your webcam ?In the Adobe Flash Player Settings, ensure to check "Allow"
More info : _URL_
Chrome users, allow site access to your camera
More info : _URL_
Choose the right webcam
- If you have more than one webcam connected, try to choose another one
- You may see another device detected as a webcam, like a tv tuner, or video acquisition card

source: m-a-p/FineFineWeb


What is a satellite office?
Article by Cecilia Amador de San José, Senior Associate Editor of Allwork.Space.
With remote work on the rise, organisations are starting to think about whether or not they should set up satellite offices to better support remote workers so that they have access to the right environment and tools to be productive.
Satellite offices are a great solution not only for organisations adopting a more hybrid work model, but also for growing organisations. If your business is growing and you are hoping to enter a new market, setting up a satellite office might be the ideal solution, especially if you are opening up a business in a new area with a small team.
But first, what is a satellite office?
Satellite Office Meaning:
A satellite office (or satellite location) is a smaller office that is physically separate from a company's main office or headquarters.
Satellite offices are also known as branch offices.
Satellite offices are smaller than company headquarters and one company can have several satellite offices spread across a country or region. They also vary greatly in size; while some satellite offices may be home to only a few employees, others can be home to hundreds to thousands of employees.
It all depends on a company's needs.
Satellite Office Locations
Where can a satellite office be located?
The answer is anywhere a company needs them.
You can have a satellite office in a city center, a residential area, or the suburbs. For example, if your company headquarters are in New York City, but you have various employees that live in New Jersey that oftentimes work remotely, then you could set up a satellite office in New Jersey.
Your business could also have a satellite office in California if it does business there, or even in Europe if you're hoping to expand operations across the Atlantic.
Benefits of Satellite Offices
There are various use cases for satellite offices:
 - For remote and flexible workers that don't need to come into the main office every day.
 - For teams and staff that are setting up company operations in a new market/location.
 - For employees to use temporarily when they are working on long-term or short-term projects in a different location than where the company headquarters are located.
One of the main reasons organisations choose to set up satellite offices is to provide all employees with access to the right tools, resources, and environment for them to successfully carry out their work.
Below are some of the main benefits of satellite offices:
 - They offer flexibility to employees, clients, vendors, and business partners.
 - They provide organisations with access to new markets (local, regional, national, and global).
 - They provide employees with access to a workplace environment that is conducive to productivity.
 - They are cost-efficient.
 - They are more efficient for customer support.
 - They can help organisations with talent attraction and retention.
 - They can help with employee engagement and company culture, especially for organisations with distributed teams.
How to Manage a Satellite Office
There are two ways organisations can set up a satellite office.
The first one is to follow the same process as setting up a main office or headquarters. The company enters into a long-term lease and they are responsible for fitting out and designing the satellite office.
This also means that the organisation has to handle all office management and maintenance.
When setting up an owned satellite office location, organisations need to think about the following:
 - Satellite office location
 - Lease agreement
 - Furniture
 - Office amenities
 - Tech infrastructure
 - Utilities
 - Building/office management and maintenance.
The other option organisations have is to work with flexible workspace operators that offer hub-and-spoke services.
In this case, an organisation enters into an agreement with a flexible workspace operator that provides access to ready-to-use offices. The flexible workspace operator is in charge of maintenance and management.
The latter option tends to be popular as it makes the process of setting up a satellite office much easier and a lot quicker. The hub-and-spoke model provides organisations and its employees with immediate access to workspace that is ready to be used. It's also less capital intensive and allows for more flexibility for a couple of reasons.
The first is that by using a third-party provider, organisations don't have to sign a long-term lease. The second is that the hub-and-spoke model allows for organisations to grow or contract their satellite offices as needed.
Why Are Satellite Offices So Popular Now?
Due to the coronavirus pandemic, a lot of organisations were forced to allow employees to work remotely (specifically work from home).
While the shift to work from home initially delivered positive results, organisations and employees alike are realizing that working from a home environment is not ideal and sustainable for many in the long run:
 - Workers feel isolated
 - Company culture can suffer
 - Some workers have a hard time being productive from home
 - Some workers struggle with setting boundaries when working from home
 - Workers don't have access to all the tools and resources they might need (technology infrastructure, office supplies, printing, etc.)
However, several surveys have found that workers want to maintain some of the flexibility that they have experienced from working from home. The majority of workers, therefore, want to work remotely at least part-time; providing them with access to a satellite office that is closer to home can help organisations retain talent and ensure they are productive.
Another reason why organisations are increasingly turning to satellite offices at the moment is for safety and health purposes.
Physical distancing is still strongly encouraged, and in some countries required. Satellite offices can help organisations with their de-densificiation purposes and allow them to adhere to physical distancing protocols.
In other words, satellite offices can help organisations bring workers back into the office in a safe manner.


text:
We investigate the role of trust in strategic information sharing in global supply chains with both empirical and theoretical lenses. The canonical theory predicts that when economic incentives are far apart, no information will be effectively shared in any equilibrium. In sharp contrast, we show that a continuum of spontaneous trust exists among human decision makers who interacted in experimental supply chains (Experiment 1). We further demonstrate that cultural differences between China and the U.S. significantly affect how spontaneous trust manifests in within-country versus cross-country supply chains. In addition, repeated interactions lead to distinct behavioral dynamics between Chinese and U.S. individuals (Experiments 2 and 3). Finally, we develop the first analytical model of trust in strategic supply chain information sharing, and we show that the model can explain our experimental observations well.
Bienvenue à tous!


text:
Also, see How to Make:Peach Cobbler | Apple Crisp | Apple CrumbleApple Pandowdy | Apple Brown Betty | Blueberry Grunt | Peach Slump
A Buckle is a sweet dessert that is made from a cake batter traditionally topped with berries, which is topped with a streusel type topping.
Traditionally made in England during the 14th century to be served during Christmas, this dessert was originally prepared as porridge with a pudding-like consistency that was thickened with bits of dried fruits, spices, meat (beef or veal), wine or sherry, eggs, and breadcrumbs.
Common in Japan, this variety of plum is very popular for it health benefits. The ume plum is a fruit that is harvested when it is green before it ripens to be used as a pickled condiment, which is referred to as umeboshi.
A wrinkled shiny skinned fruit, which is native to America, Europe and Asia. There are many varieties of this fruit, which have flesh that ranges in flavor from tart to very sweet, but there are only a few varieties that are suitable for drying.

source: HuggingFaceFW/fineweb-edu


text:
Imagine a world where wealth isn't measured solely in material possessions or bank account balances but in the currency of spirit — a boundless source of abundance that can transform both individuals and the collective.
In times of uncertainty, we often find ourselves searching for inspiration. But what good is inspiration if we can't turn it into positive actions that benefit those around us? That's where "Spiritual Currency: The Source of Wealth You Never Knew Existed" enters the picture. This insightful book proposes a new definition of wealth that transcends material possessions and delves into the timeless principles that underpin the concept of spiritual currency, such as generosity, compassion, and interconnectedness.
In this enlightening and thought-provoking book, author Dr. Ming Chee provides insight and guidance into discovering the treasures within you, waiting to be uncovered. Explore how aligning with your spiritual currency can guide you toward your true life's purpose. Discover how the collective consciousness can be elevated by cultivating spiritual currency. Learn how to cultivate spiritual currency to strengthen the bonds of communities and societies.
Whether you seek personal transformation, a deeper sense of purpose, or a vision for a more harmonious world, this book offers profound insights and practical wisdom. It's a guide to harnessing the untapped source of spiritual wealth within you and a blueprint for fostering abundance, unity, and positive change on a global scale.
Join the movement to redefine wealth, both for yourself and for humanity as a whole. "Spiritual Currency" will empower you to unlock the riches you never knew existed — for individuals and the collective.


text:
How important is access to jobs?: Old question—improved answer
2010 (English)In: Journal of Economic Geography, ISSN _PHONE_, E-ISSN _PHONE_, Vol. 10, no 3, 389-422 p.Article in journal (Refereed) Published
We study the impact of job proximity on individual employment and earnings. The analysis exploits a Swedish refugee dispersal policy to obtain exogenous variation in individual locations. Using very detailed data on the exact location of all residences and workplaces in Sweden, we find that having been placed in a location with poor job access in 1990–1991 adversely affected employment in 1999. Doubling the number of jobs in the initial location in 1990–1991 is associated with 2.9 percentage points higher employment probability in 1999. Considering that the 1999 employment rate was 43% among the refugees, this is a considerable effect. The analysis suggests that residential sorting leads to underestimation of the impact of job access.
Place, publisher, year, edition, pages
2010. Vol. 10, no 3, 389-422 p.
Job access, endogenous location, natural experiment, spatial mismatch
Human Geography Economics
Research subject Social and Economic Geography; Economics
IdentifiersURN: urn:nbn:se:uu:diva-126422DOI: 10.1093/jeg/lbp040ISI: 000276745000003OAI: oai:DiVA.org:uu-126422DiVA: diva2:323990


- Origin of Name
 - Facts & Statistics
 - National Anthem
 - Flags
 - Geography
abstract composition of Libya
hieroglyphic name Rebu
The Berber name Rebu in ancient Egyptian hieroglyphics.
The Origin of The Name Libya:
There are several theories attempting to explain the origin of the name, but it is almost certain that it comes from the ancient Berber tribe known to the ancient Egyptians as Rebu or Ribu; from which the Greeks derived "Libya", and which the Arabs of today's Egypt know as Lubia, whence Lubians, in line with their relatives and neighbours the Nubians. The name "Libia", as found in the archaeological site of "Qaser Libia", in Cyrenaica, is widely thought to have been derived from the ancient village of Olbia. Some sources also derive the names "Libya" and "Lubda" (Leptis Magna) from Lewwa, one of the Berber ancestors given by Ibn Khaldun. However, the Greek form Leptis itself was derived from the Berber and Punic Libqi, which Bates linked to the Berber Ribu.
According to the Berber Leo Africanus (1600, p.13), it was called "Libya" by the Greeks, "Because it was in old time conquered by Libs the king of Mauritania. In the holie scriptures it is called Chamesis, by the Arabians and Ethiopians Alkebulam, and by the Indians Besecath." In the Bible the Libyans appeared as the Lubim, or Lebahim, the son of Mizraim; which Oric Bates was the first to identify with the modern variant Ta-Mazigh-t -- an appellation widely applied to the proud Berbers of North Africa.
The proposed etymology of 'Libya' being moisture has no support other than the "Libyan wind" which brought rain to Greek mainland; and as it is obvious that Greek Libu is the same as Egyptian Ribu one does not need to propose a Greek etymology for a name that is not Greek. The proper etymology must be sought in the mother language of the given word - the ancient Libyan language: Tamazight, others know as 'Berber'. Egyptian and Berber languages are both members of the Hamitic branch of the Hamito-Samitic linguistic family, and many of the ancient Egyptian and Berber mythical gods and goddesses are still represented on the rock art of the great Mother Sahara, in what is known as the largest collection of prehistoric art in the world: well over one hundred thousand sites.
ancient Libyans in Egyptian drawings
Ancient Libyans, as pictured by the ancient Egyptians.
The Mythology of The Name Libya:
Libya was also the name of the Goddess known to the Greeks as the Goddess Libya, and also of the whole continent before the Romans named it Africa after the Berber Goddess Afri. In mythology, the "Goddess Libya" had three sons by the Libyan Sea-God Poseidon: Belus, Agenor and Lelex. King Belus ruled at Chemmis or Chamesis of Leo Africanus, Agenor migrated to Cana'an (the Middle East), and Lelex became king of Megara. The wife of Belus Anchinoe, daughter of the Nile-god Nilus, bore him three sons: Aegyptus, Danaus and Cepheus, and one daughter: Lamia, the Libyan Snake-goddess. The myth relates an interesting "deception tale" in which Danaus was sent to rule Libya where he had fifty daughters, and Aegyptus, who had fifty sons, ruled over Egypt.
The Political Name of Libya:
The following map shows how the country looked like during the colonial periods. A look at the map of Egypt (bordered red) shows traces of the ancient Libya, as in the "Libyan Desert", the site of the Libyan Desert Glass, and the "Libyan Plateau". No much was left of Libya then; just an Italian-occupied regency called TRIPOLI.
Map of Libya
Map of Libya & North Africa in 1914, showing The Country Tripoli (in green).
From: Harmsworth's Atlas of The World And Pictorial Gazetteer With An Atlas of The Great War,
Edited by J. A. Hammerton, The Amalgamated Press, LTD., London, pp. 284-285.
In 1912 the Ottoman Turks surrendered control of Tripoli to Italy in accordance with the Treaty of Lausanne. In 1918 the Tripolitanian Republic was created to become the first ever republic in North Africa & the Middle East; only to be destroyed by the Italians a few years later. Following the Benyadem Peace Accord the constitution (known as The Primary Law) was created for the republic on May 1919, and an 8-member government was appointed for the Republic. Unfortunately the Tripolitanian Republic never gained the full support in the 1919 Paris Peace Conference, and subsequently it disappeared from the pages of history.
libya map during imperial military geography
1920's Italian Tripoli, from:
"Imperial Military Geography", by D. H. Cole, London, 1928, p. 78.
This map shows how Tripoli was enlarged by the colonial powers in 1919 to arrive at the current map of Libya: the area between the dotted lines and the actual borders (on the left) was given to Italy by France in accordance with the secret treaty of London; while the area between the dotted lines and the actual borders (on the right) was given to Italy by Britain. Note how the borders with Sudan were before 1935, when Italy received the "Aouzou Strip" as a result of the Mussolini-Laval agreement. The Libyans fiercely resisted the Italian takeover (from the Turks) and continued to fight the Italians until 1931, when the fascists hanged the leader of the resistance Omar Almukhtar, in humiliation before his conquered people.
libya map under Italian occupation in 1934
Libya under Italian occupation, 1934.
Image based on the image from: Administrative subdivision of Italian Libya, from "Atlantino storico" (1938),
by professor Arcangelo Ghisleri (_PHONE_),
via _URL_
The actual name "LIBYA" as a state (or a country) came into effect for the first time around 1934 when the provinces of Tripolitania and Cyrenaica were united during the Italian occupation; initially Fezzan was not included. In 1943 Italian Tripoli came under the control of the Allied forces: the British took Tripolitania and Cyrenaica (the British Military Administration of Libya), while France took Fezzan (the Military Territory of Fezzan-Ghadames). However, all the three provinces were united into one country (namely Libya) on the 24th of December 1951, when Libya was granted its (so-called) independence to become the United Kingdom of Libya.
Shortly after the installation of Colonel Mua'mmar al-Qaddafi (Gaddafi) in 1969, Libya became known as the Great Socialist People's Libyan Arab Jamahiriya, where the last word became synonymous with Libya. Many Libyans feel the introduction of the term "Arab" by the government into the name of Libya does not democratically represent all the true populations of Libya, originally inhabited by the Berbers ('Imazighen'), and still is inhabited by the Berbers in various parts of the country, including most of Nafousa Mountain, Zuwarah, Ghadames, Jalo, Awjlah, and most of the Sahara, the home of the Berber Tuareg confederacies.
However, "Libya" is back as the official name of the country after the installation of the National Transitional Council (NTC) in 2011; only to be changed once more on the 8th of January 2013 by the GNC to: "The Country Libya", or "The State of Libya" (دولة ليبيا); until the final name is decided by the forthcoming constitution. No one knows why the word "state" was added to the official name - maybe to distinguish it from "The Goddess Libya"!
map of ancient Libya during the Egyptian empire
Map of Ancient Libya, showing the locations of the native Berber tribes of Ancient Egypt.
The above ancient map, which is over 2000 years older than the colonial map, shows there was no Egypt, just a huge expanse of land known to classical geographers and historians as Libya, to the extent that the name Libya also came to designate the whole continent of Africa. When the Romans arrived through the western gates (Tripolitania and Tunisia), they adopted the name Aprica or Africa, originally from the Berber name of the local tribes who inhabited the region, as in Yefren today, and thereafter Libya became known as Africa. This means that the names "Libya" and "Africa" are both Berber in origin.
Facts & Statistics
 - Name: Libya (ليبيا).
 - Nationality: Libyan (لیبی, ليبيية).
 - Capital: Tripoli.
 - Area: 1.759.540 sq. km.
 - Coastline: 1,770 km.
 -


text:
INTRODUCTION: The stratum corneum is the biggest obstacle in cosmetics with respect to skin moisturisation. Many approaches have been taken to overcome the barrier, one of which is incorporating natural cosmeceuticals into cosmetic products to enhance moisturisation effects. Here, a commercial facemask formulation was electrospun to develop dry facemasks capable of hosting cosmeceuticals within the pores of incorporated mesoporous silica. METHODS: Ethanolic solutions containing 40% w/w of the marketed facemask (7th Heaven Dead Sea peel-off facemask) and mesoporous silica were prepared and electrically processed at 30 μL min-1 at an applied voltage of 12 ± 2 kV. In vitro characterisation and release studies using fluorescein dye as a model probe were carried out. RESULTS: SEM images confirmed the fibrous nature of the resulting matrix; showing an average fiber diameter of 298.32 nm. The electrospun mask was found to be advantageous due to this fibrous nature providing high active loading capacity whilst demonstrating 100% probe release within 60 min. Contact Angle hysteresis, thermal analysis and Fourier Transform Infrared Spectroscopy (FTIR) presented evidence of compatibility and stability of and within the formulation. CONCLUSION: Adapting the formulation of a commercial polymeric facemask into an electrospun facemask has shown the versatility of the electrospinning process; now successfully crossing over into the cosmetic industry.
- face mask


text:
Canadians on welfare have significantly higher odds of reporting poor physical and mental health, finds a University of Toronto study.
Statistical analysis of data from the 1996-97 National Population Health Survey revealed that welfare recipients were more likely to report poor or fair health, depression and distress than people not on welfare as well as fewer social supports. The study, published in the March/April issue of the Canadian Journal of Public Health, also found that welfare recipients whose activity was not restricted by long-term disability had greater odds of reporting heart disease than non-welfare recipients.
"These findings indicate that adults on welfare struggle with a broad spectrum of health problems," says the study's senior author, nutritional sciences professor Valerie Tarasuk. "I believe the increasing inadequacy of welfare benefits in many provinces may put them at even greater health risk. The impact of welfare program reforms on the health and well-being of recipients must be assessed and monitored."
The finding that welfare recipients were more likely to report heart disease is of concern because this condition can be prevented or managed, at least in part, by lifestyle modifications, says the study's lead author, U of T medical student Nicholas Vozoris. "Affording special diets, exercise, medications and medical supplies not covered by government programs may be problematic for welfare recipients since many of these healthy lifestyle choices are associated with increased costs," he says.
Source: Eurekalert & othersLast reviewed: By John M. Grohol, Psy.D. on 21 Feb 2009
Published on PsychCentral.com. All rights reserved.
The purpose of life is a life of purpose.
-- Robert Byrne


text:
Suicide, Crisis, and Prevention Resources
National Transgender Crisis Hotline
Champaign-Urbana Local Crisis Hotline
★ Rattle the Stars | Youth and Young Adult Suicide Prevention and Awareness ★
Local to the Champaign-Urbana area, Rattle the Stars is an organization on a mission to eliminate the stigma surrounding mental health illness and prevent suicide within the youth and adolescent population. By spreading awareness, educating the community, and addressing suicide's causes and effects head on, Rattle the Stars creates a safe space for those who are suffering, as well as initialize those critical conversations that are so often avoided. For more information on this empowering organization, you can click here.
Support for LGBTQIA youth, ages 13-24 years old.
Texting, live chatting, phone call and online resources
Also has resources for parents!
Click here for more information.


text:
What is the Children's Trust?
Bradford Children's Trust is a local partnership of organisations responsible for the strategic framework and delivery of services to children, young people and families.
What is the Role of the Trust?
Our vision is that every child and young person should be supported to have the best possible start in life, and be given active help and encouragement towards achieving the outcomes identified in the following themes:
By working with children, young people and families, the Trust sets strategic direction, establishes priorities, monitors progress and identifies resources to develop services.
Children and Young People's Plan
The Children and Young People's Plan sets out how our services will work on behalf of the growing young population of the district to improve their future life chances.
We aim to support children at the earliest opportunity and at the earliest age when they are most vulnerable. We have put in place a preventative framework which will enable services to intervene early at the point where things first start to go wrong in their lives. This is part of the Big Idea, to which partners have signed up: "local joined-up services focused on prevention".
Stronger Partnerships Deliver Stronger Services
As a Children's Trust, we recognise that stronger partnerships, greater integration of services and a shared purpose lead to better services for children, young people and families – especially the most vulnerable. The core principle of a shared commitment to improve the lives of children, young people and families – enshrined in the 'duty to co-operate'– remains as important as it ever was. The Trust's Statement of Intent underpins our commitment as an ongoing partnership.
We look forward to working with you all on this.
Cllr Ralph Berry
Executive Member for Children's Services
Strategic Director of Children's Services


text:
Blossom and blue sky in an English heaven
Under an English heaven - blossom and blue sky at Chelmarsh, near Bridgnorth.
St Peter's Church, which dates from the 14th century, has been described as one of the finest pieces of medieval architecture in Shropshire.
It replaced an earlier church on the same site, and evidence of its Norman origins can still be seen today.
The north aisle has a blocked Norman doorway, and the bowl of the font is from the same period.
At one time the church was thought to be connected by an underground passageway to Chelmarsh Hall, a former granary that became a sanctuary for monks.
I hadn't planned this shot, but was driving past and just had to stop!
Published by Shropshire and Beyond on
A rhapsody in blue across the county
Dramatic skies in the Stretton Hills
Mist and birdsong in the Clun Valley
Storm clouds over the Devil's Chair
A walk into history down Grope Lane


Take the 2-minute tour ×
I have some problems with the equivalence of definitions of orientation. I know two definitions of orientation, namely:
 - A surface is orientable if it contains no 1-sided curves (a 1-sided curve in a combinatorical surface $F$ is a curve such if $p^{-1}(C)$ has just one component with $p:F'\rightarrow F$ and $F'$ the surface we obtain by cutting $F$ along $C$)
Also there exists the following lemma: A one-sided curve is always non-seperating (non-seperating means that the number of components of $F'$ has the same as $F$). Can we use this fact? And why is that true? From my point of view one can prove this easy with contradiction,true?!
Now the second definition:
 - An orientation of a closed combinatorial surface F is an assignment of a clockwise or anticlockwise \circulation" to each face (really an ordering of its vertices, considered up to cyclic permutation), such that at any edge, the circulations coming from the two incident faces are in opposition.
Now i want to show directly that a surface has an orientation if and only if it is orientable in the sense that it contains no 1-sided curves.
Can someone help me with this question? Thank you!
share|improve this question
add comment
1 Answer
Assume $F$ is oriented in the sense of the second definition. Let $C$ be a curve. Wlog.(!) the curve runs along edges. The map $p^{-1}(C)\to\{-1,+1\}$ that maps a point to $+1$ if the "current" edge at that point is in forward direction of $C$ and to $-1$ if it is in reverse, is well defined (must be checked at vertices) and continuous. As each edge belongs to two faces and is differently oriented for these, ther exist both edges yielding $+1$ and edges yielding $-1$, hence $p^{-1}(C)$ has (at least) two connected components. Hence no one-sided curve exists.
The other direction is a bit more complicated if one wants to be formally exact, so the following is rather a sketch of an idea: Assume $F$ is oriented in the sense of the first definition. Select an arbitrary face and orient its edges. Extend this face by face to the whole surface by checking faces having at least one edge already oriented. If ever a conflict arises (i.e. the next step would orient an edge differently from an already given orientation by its other face), we find a onesided curve as follows: There is a sequence of faces between the conflicting faces that runs within alrady oriented faces. This also determines a sequence of edges (those that are shared by subsequent faces in this sequence). Join the midpoints of these edges to obtain a closed curve (i.e. starting and ending at the conflicting edge). Using the orientation given to the edges crossed along its way, we get a notion of "left" and "right" of the curve, which gets "flipped" by completely traversing the curve, thus showing that $p^{-1}(C)$ is connected.
share|improve this answer
add comment
Your Answer


text:
What combinations of herbs exist and what are their effects in Resident Evil 3? What effect do herbs have in Resident Evil 3? Let's find out within this Resident Evil 3 guide.
If you want to survive a series of zombie attacks and successfully escape from Raccoon City as Jill Valentine, you need to keep a few herbs in your inventory at all times. However, what combinations of herbs can you make? What effects do they give?
Resident Evil 3: all combinations of herbs and their effects
First Herb Second Herb Third Herb Effect Green Herb – – Restores a small amount of health and heals from the Parasite effect. Red Grass – – Cannot be used alone. Green Grass Green Grass – Restores a large amount of health and heals from the "Parasite" effect. Green Grass Red Grass – Fully restores health and heals from the "Parasite" effect. Green Grass Green Grass Green Grass Fully restores health and heals from the Parasite effect.


text:
Seminole County, Georgia
From Ancestry.com Wiki
|This article is a stub. Help us to expand it by contributing your knowledge. For county page guidelines, visit U.S. County Page Content Suggestions.|
Seminole is a county in Georgia. It was formed in 1920 from the following county/ies: Decatur/Early. Seminole began keeping birth records in 1921, marriage records in 1921, and death records in 1921. It began keeping land records in 1921, probate records in 1921, and court records in 1921. For more information, contact the county at P.O. Box 458, Donalsonville 31745. On the attached map, Seminole is located at J2.
For information about the state of Georgia see Georgia Family History Research.


Abalone Shell
Abalone Shell
 - $18.95
 Unit price per
Shipping calculated at checkout.
The abalone shell was traditionally used in smudging ceremonies to represent the element of Water. They have been uncovered in archaeological digs from around the world dating back thousands of years.
The iridescent nacre inside the shell is formed from microscopic calcium carbonate tiles, making it exceptionally strong in addition to it's beauty. This distinctive rainbow shine is also frequently seen in jewelry.
Commonly used today as a fire safe container while smoke cleansing or to represent the ocean or feminine on an altar.
Can be supported upright with separate stand. Sold by the each


Welcome, Guest.
Username: Password: Remember me
TOPIC: Advanced Lift Gain Gamma... could use help please.
Advanced Lift Gain Gamma... could use help please. 3 years 1 month ago #1
Hi everyone,
I'm trying to better learn how shaders, and Reshade all work. As part of that, I'm putting together some customized and modified shaders. So far, I haven't had any issues, but I've been mostly limiting myself to simple things. But now I'm running into a slightly larger issue that I need some help with.
I'm trying to create a new shader, called Advanced Lift Gain Gamma, which is based off of the SweetFX shader Lift Gamma Gain v.1.1 by 3an and CeeJay.dk.
Here's what I currently understand from the code (assuming I'm understanding it correctly)
 - Lift affects darker values more strongly than lighter values (values below 1.0 will increase contrast by making darks darker, while values above 1.0 will decrease contrast by making darks lighter).
 - Gain affects lighter values more strongly than darker ones (values above 1.0 will increase contrast by making brights lighter, while calues below 1.0 will decrease contrast by making brights darker).
 - Gamma affects values differently, depending on if the settings value is greater than or lesser than 1.0, but any change from 1.0 will increase contrast (values below 1.0 will increase contrast by making darks darker, while values above 1.0 will increase contrast by making brights lighter.
 - And of course, you can alter how those changes affect each individual RGB color component.
It occurs to me that some, like myself, might be interested in being able to use the Gamma aspect to both darken darks and lighten brights, thus increasing contrast further, or alternatively, to reduce both and decrease contrast. So the first change I made was to add in a second set of Gamma code and change settings entries to include RGB_Gamma1 and RGB_Gamma2 instead of just RGB_Gamma. I also found I personally have reason to make flat +/- adjustments across the board sometimes, so I added in an RGB_Offset setting (-1.0 to 1.0) and added code to add the offset values to the color prior to returning the output. So now I have Lift, then Gain, then Gamma1, then Gamma2, then Offset all affecting the color and then the final color from that process being returned by the function.
All of that works.
But I want to also make it so that the system will automatically adjust the colors to be either lighter or darker depending on the darkness/brightness of the scene. The reason for this is that if contrasts are increased, and especially if a flat offset is applied, you could end up with adjusted scenes that are too bright (washed out) or too dark (totally in shadow) in such a way that your enhanced contrasts are lost to the overall brightness levels. So I want to make it so that if the scene is bright, everything is darkened a little, but if the scene is dark, then everything is brightened a little.
In order to do this, I need to be able to get the average luma of the scene and compare it to a baseline center point of 0.5 (unless someone has a better/different idea on how to make the comparison). The idea is that total dark would be a luma of 0.0 and total bright would be a luma 1.0, hence why 0.5 for the center point. Unfortunately, I don't know how to get the average luma of the scene, and that's what I need help with.
I looked at Deriest's Eye Adaptation code and the other comments in that thread. It looks like that code is comparing the max luma of the scene, which could be useful instead of using average luma, but if a scene has both strong brights and strong darks (high disparity), then I think it could pose problems by darkening a scene that should be left alone. Additionally, I'm not sure how to adjust the calls to my function (LiftGainGammaAdvPass) to incorporate the input that Deriest utilized (instead of "(float4 colorInput)" he uses "(in float4 pos : SV_Position, in float2 texcoord : TEXCOORD0) : SV_Target" and I'm not sure yet how to work with that).
I'd really appreciate it if someone could help me figure out how to determine the average luma of the scene. But right now I'm thinking of using Deriest's method, but duplicating the max checks and turning them into min checks, then simply calculating the average based on ((LumMax + LumMin) / 2). This would still be less than totally accurate, but at least it would take dark vs. bright disparity into account. However, if I do it that way, I still need to figure out how to properly write the function definition as well as the function calls/references so that I pass in the colorInput as well as the pos, texcoord, and target info. Or would those be unnecessary (could I just define new local variables that call those values)?
Please note that I've already added MasterEffect global textures and shaders into my Reshade/Common/Util.h file, so I should be able to easily access samplerBloom4 the way Deriest has done, and I'm assuming that I would need to change samplerColor to either RFX_backbufferColor or RFX_originalColor (backbuffer I think, but not positive at this time... and all of this is based on ReShade 0.19.2 Framework by the way).
I'd really appreciate the help.
Thanks,
Drake Phoenix
P.S. Sorry for the long post.
Last Edit: 3 years 1 month ago by DrakePhoenix.
The administrator has disabled public write access.
Advanced Lift Gain Gamma... could use help please. 3 years 1 month ago #2
OK, I've learned a little more about Deriest's code, and I'm pretty sure that the samplerBloom4 results in a highly blurred texture (hoping for confirmation/clarification on that), which allows the sample taken to be roughly average anyway. I adapted the code from MasterEffect to expand texBloomX and samplerBloomX up to X values as high as 8 (dividing the buffer dimensions by 64 at that level). This should blur/average the texture even further and allow the sample point to more accurately represent the average of the scene. I have also adapted Deriest's code to check not only the max luma, but also the min luma, and average the two together, thus making it even more likely that I've retrieved a very close approximation of the actual average luma of the scene.
I've updated my code for the shader on the whole, and would appreciate it if people could look through it really quick and let me know if they think it will achieve what I'm after (Lift as per normal, Gain as per normal, option to adjust gamma both up and down simultaneously, dynamic adjustment offset based on scene average luma, and optional flat offset adjustment).
Code follows:
Warning: Spoiler! [ Click to expand ]
That's all for now.
Thanks,
Drake Phoenix
The administrator has disabled public write access.
Advanced Lift Gain Gamma... could use help please. 3 years 1 month ago #3
To debug the accuracy of your brightness detection, it is probably easiest to
return tex2D(samplerBloom8, 0.5);
In a few different scenes and compare the original image with the result of that debug.
Could you post a few comparison screens of that? I would be interested to see how accurate that can be. (unfortunately, I cannot reproduce it myself, since I do not see your samplerBloom code)
The administrator has disabled public write access.
The following user(s) said Thank You: DrakePhoenix
Advanced Lift Gain Gamma... could use help please. 3 years 1 month ago #4
Thanks for the debugging suggestion LuciferHawk.
I wasn't actually able to do it, unfortunately, because for some reason the shader fails to make any changes whatsoever. It acts as though the USE_LIFTGAINGAMMA_ADV setting is set to 0 even when it is properly set to 1. I'm not getting any compiler errors or effect errors, and not even any warnings as near as I can tell.
My other two shaders I've been working on are working just fine. And I cannot figure out why this one is refusing to actually do anything.
However, I took one of my other shaders, my HUD shader, and replaced the normal HUD texture with a full image with dimensions equal to my display resolution. But I applied the texture width and height values as BUFFER_WIDTH/64 and BUFFER_HEIGHT/64 respectively. The result was a highly blurred version of the original image texture, but not nearly averaged out. So I tested again, using a divisor of /1024 to see if I could get a better result. That result was much better, but still imperfect, so I changed the divisors to equal each dimension respectively, so BUFFER_WIDTH/BUFFER_WIDTH and BUFFER


text:
(Jargon Rating= 0) - a snowboardto snowboardto be snowboarding- A noun, adjective and verb. A plank of wood that can be tied to your foot and riden down a hill, preferably on snow. An alternative to its friend the ski.
a big ski (to a manufacturer anyway), but you only need one and ski boots just cost more
a one person snow rider in which a person stands on
a single board akin to a surfboard that is used to slide down a snow covered slope without the need for skis or ski poles but with greater agility and control
A snowboard is a board ridden in snowboarding to descend a snow-covered slope. It is similar to a surfboard or skateboard, except that the rider's feet are attached to the board with bindings. Snowboards generally have a length between 140-165cm, a width of around 25 cm, and are constructed with a laminated wood core with a steel edge.


FileType Field
FileType Field
The FileType represents a file input in your form.
Rendered as input file field
Options
Overridden options
Inherited options
Parent type FormType
Class FileType
Basic Usage
Say you have this form definition:
use Symfony\Component\Form\Extension\Core\Type\FileType;
// ...
$builder->add('attachment', FileType::class);
When the form is submitted, the attachment field will be an instance of UploadedFile. It can be used to move the attachment file to a permanent location:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
use Symfony\Component\HttpFoundation\File\UploadedFile;
public function uploadAction()
{
 // ...
 if ($form->isSubmitted() && $form->isValid()) {
 $someNewFilename = ...
 $file = $form['attachment']->getData();
 $file->move($directory, $someNewFilename);
 // ...
 }
 // ...
}
The move() method takes a directory and a file name as its arguments. You might calculate the filename in one of the following ways:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
// use the original file name
$file->move($directory, $file->getClientOriginalName());
// compute a random name and try to guess the extension (more secure)
$extension = $file->guessExtension();
if (!$extension) {
 // extension cannot be guessed
 $extension = 'bin';
}
$file->move($directory, rand(1, 99999).'.'.$extension);
Using the original name via getClientOriginalName() is not safe as it could have been manipulated by the end-user. Moreover, it can contain characters that are not allowed in file names. You should sanitize the name before using it directly.
Read How to Upload Files for an example of how to manage a file upload associated with a Doctrine entity.
Field Options
multiple
type: Boolean default: false
When set to true, the user will be able to upload multiple files at the same time.
Overridden Options
compound
type: boolean default: false
This option specifies whether the type contains child types or not. This option is managed internally for built-in types, so there is no need to configure it explicitly.
data_class
type: string default: File
This option sets the appropriate file-related data mapper to be used by the type.
empty_data
type: mixed default: null
This option determines what value the field will return when the submitted value is empty.
Inherited Options
These options inherit from the FormType:
disabled
type: boolean default: false
If you don't want a user to modify the value of a field, you can set the disabled option to true. Any submitted value will be ignored.
error_bubbling
type: boolean default: false unless the form is compound
If true, any errors for this field will be passed to the parent field or form. For example, if set to true on a normal field, any errors for that field will be attached to the main form, not to the specific field.
error_mapping
type: array default: []
This option allows you to modify the target of a validation error.
Imagine you have a custom method named matchingCityAndZipCode() that validates whether the city and zip code match. Unfortunately, there is no "matchingCityAndZipCode" field in your form, so all that Symfony can do is display the error on top of the form.
With customized error mapping, you can do better: map the error to the city field so that it displays above it:
1
2
3
4
5
6
7
8
public function configureOptions(OptionsResolver $resolver)
{
 $resolver->setDefaults([
 'error_mapping' => [
 'matchingCityAndZipCode' => 'city',
 ],
 ]);
}
Here are the rules for the left and the right side of the mapping:
 - The left side contains property paths;
 - If the violation is generated on a property or method of a class, its path is the propertyName;
 - If the violation is generated on an entry of an array or ArrayAccess object, the property path is [indexName];
 - You can construct nested property paths by concatenating them, separating properties by dots. For example: addresses[work].matchingCityAndZipCode;
 - The right side contains the names of fields in the form.
By default, errors for any property that is not mapped will bubble up to the parent form. You can use the dot (.) on the left side to map errors of all unmapped properties to a particular field. For instance, to map all these errors to the city field, use:
1
2
3
4
5
$resolver->setDefaults([
 'error_mapping' => [
 '.' => 'city',
 ],
]);
label
type: string default: The label is "guessed" from the field name
Sets the label that will be used when rendering the field. Setting to false will suppress the label. The label can also be directly set inside the template:
 - Twig
 1
 {{ form_label(form.name, 'Your name') }}

 - PHP
 1
 2
 3
 4
 echo $view['form']->label(
 $form['name'],
 'Your name'
 );

label_attr
type: array default: []
Sets the HTML attributes for the <label> element, which will be used when rendering the label for the field. It's an associative array with HTML attribute as a key. This attributes can also be directly set inside the template:
 - Twig
 1
 2
 3
 {{ form_label(form.name, 'Your name', {
 'label_attr': {'class': 'CUSTOM_LABEL_CLASS'}
 }) }}

 - PHP
 1
 2
 3
 4
 5
 echo $view['form']->label(
 $form['name'],
 'Your name',
 ['label_attr' => ['class' => 'CUSTOM_LABEL_CLASS']]
 );

label_format
type: string default: null
Configures the string used as the label of the field, in case the label option was not set. This is useful when using keyword translation messages.
If you're using keyword translation messages as labels, you often end up having multiple keyword messages for the same label (e.g. profile_address_street, invoice_address_street). This is because the label is build for each "path" to a field. To avoid duplicated keyword messages, you can configure the label format to a static value, like:
1
2
3
4
5
6
7
8
// ...
$profileFormBuilder->add('address', AddressType::class, [
 'label_format' => 'form.address.%name%',
]);
$invoiceFormBuilder->add('invoice', AddressType::class, [
 'label_format' => 'form.address.%name%',
]);
This option is inherited by the child types. With the code above, the label of the street field of both forms will use the form.address.street keyword message.
Two variables are available in the label format:
%id%
A unique identifier for the field, consisting of the complete path to the field and the field name (e.g. profile_address_street);
%name%
The field name (e.g. street).
The default value (null) results in a "humanized" version of the field name.
Note
The label_format option is evaluated in the form theme. Make sure to update your templates in case you customized form theming.
mapped
type: boolean default: true
If you wish the field to be ignored when reading or writing to the object, you can set the mapped option to false.
required
type: boolean default: true
If true, an HTML5 required attribute will be rendered. The corresponding label will also render with a required class.
This is superficial and independent of validation. At best, if you let Symfony guess your field type, then the value of this option will be guessed from your validation information.
Note
The required option also affects how empty data for each field is handled. For more details, see the empty_data option.
Form Variables
Variable Type Usage
type string The type variable is set to file, in order to render as a file input field.
This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.


Distributed tuning job count
 Type: int
 Default value: 0
 Minimum value: 0
 Maximum value: MAXINT
Enables distributed parallel tuning, which can significantly increase the performance of the tuning tool. A value of n causes the tuning tool to distribute tuning work among n parallel jobs. These jobs are distributed among a set of machines. Use the WorkerPool parameter to provide a distributed worker cluster.
Note that distributed tuning is most effective when the worker machines have similar performance. Distributed tuning doesn't attempt to normalize performance by server, so it can incorrectly attribute a boost in performance to a parameter change when the associated setting is tried on a worker that is significantly faster than the others.
One important note about integer-valued parameters: while the maximum value that can be stored in a signed integer is $2^{31}-1$, we use a MAXINT value of 2,000,000,000. Attempting to set an integer parameter to a value larger than this maximum will produce an error.
For examples of how to query or modify parameter values from our different APIs, refer to our Parameter Examples.


July 18, 2021
Playground Design with Landscape Architects - Q&A With GameTime's Brandon McBride
Brandon McBride - GameTime Landmark DesignWe recently talked with Brandon McBride, GameTime's Vice President of Design, about how our Landmark Design team works with landscape architects. Brandon shared his thoughts on the importance of designing a play and recreation area that appeals to all generations. He also elaborated on the key role landscape architects play in making playgrounds a centerpiece of the community.
Read on and learn how GameTime and landscape architects work together to enrich childhood and build communities through play.
What drives your creative process when working with landscape architects?
What is the primary inspiration for how you design a play area together?
One of the main drivers is envisioning how children will utilize the space. We work with landscape architects to incorporate elements that create positive challenges and spark the imagination. That's a critical component to the success of each play space.
Understanding how children use the area provides a foundation to create a design that facilitates social interaction between peers. Each of us has a fundamental desire to build connections with those around us. A playground is great for a child's physical development, but it's also essential for enriching their social, cognitive, and emotional capacity as well.
What types of products and materials do landscape architects gravitate toward?
What drives the decision to use them?
As a landscape architect, GameTime's Landmark Design team views each project individually and considers the materials or products that will best complement that space. The utilization of custom concrete elements helps build durable spaces with rich texturing. It can also provide a connection to a unique theme or story.
Some spaces lend themselves to a more modern style or advanced levels of play. Selecting the right components and materials is essential to a positive user experience and achieving the community's desired outcomes.
What has changed most about playground design?
How have people changed the way they use playgrounds in the past 5 or 10 years?
One of the most critical shifts in playground design is a thoughtful process toward a multi-generational design philosophy. Playgrounds have shifted from a fringe recreation area to a central community space. There is evidence parents want to engage with their children during play, and communities understand play environments are critical anchor points where people come together and gain a stronger sense of community at every age.
In playground design today, is it just the children who will play on the equipment?
Do you consider other family members/generations?
It is essential to consider all the users that may utilize the space. Each individual has to be comfortable in the environment. We want people to spend as much time in the space as possible so they can enjoy all the benefits (physical, social-emotional, cognitive, etc.) of the design. If someone has a positive experience, they are more likely to come back again and again.
At the beginning of any project, we also consider making a play area accessible and inclusive to the greatest extent possible. I want every space to offer something for everyone, regardless of age or ability. Parents and grandparents need spaces to interact with their children, grandchildren, and peers playfully.
We also look for areas to include comfortable seating to gather, socialize and observe play. By considering how everyone will use a playground, it becomes a vital community centerpiece that impacts a broader cross-section of the community.
Why is thoughtful and creative design important to a playground?
What are the added benefits for the users when you take the time to design something out of the ordinary?
Working with different communities across North America and leading landscape architects helps our designers flex their creative muscles and create better and unexpected designs. Creating something new and unexpected engages children and families to play, explore, and grow together.
A thoughtfully designed play area attracts people, encourages physical activity, and enhances childhood development. It breaks down barriers and brings people together. Ultimately, playground design helps people connect, forge lasting relationships and create memories that last a lifetime.
Let's Design Something Extraordinary Together
If you're planning a park, playground, or other recreation space for people of all ages and abilities, we'd love to talk with you. Our team of designers, architects, and engineers use a collaborative process to ensure every project meets a community's goals and exceeds their expectations. Contact the GameTime play expert in your neighborhood to learn more.


Bayad Name Meaning
Bayad is a Muslim Girl Name. Bayad name meaning is Awareness. It has multiple Islamic meaning. The name is originated from. The lucky number of Bayad name is 8.
Name Bayad
Meaning Awareness
Gender Girl
Lucky Number 8
Religion Muslim
Lucky Days Thursday, Friday
Lucky Colors Light Green, Peach
Lucky Stones Sapphire
Lucky Metals Silver, Copper
Bayad Name Meaning and History
Bayad is a Muslim Girl name Acording to Numerology Predictions, lucky number for Bayad is 8. Bayad name meaning in english are Awareness.
People believes to have their Lucky Days according to their names, Thursday, Friday are Favourable and Lucky Days for name Bayad and lucky metals are Silver, Copper for Bayad name holders.
Lucky colors for Bayad are Light Green, Peach and Bayad name is famous in our names dictionary, and has been searched 48276 times, which is Forty-eight thousand two hundred seventy-six times.
Bayad is listed in the Girls directory of Girls Islamic names meaning section, and can be searched easily online or you can check in alphabetic "B" of the Girls Muslim names area. There are almost 462 baby Girl names which start with alphabet B in our names section. You can also check the Bayad Name meaning in Urdu in our Muslim Urdu names area.
Q. What does Bayad name mean?
Bayad name meaning in Urdu is "بیداری،جاگنا ، ہوشیاری". In English, Bayad name meaning is "Awareness".
Q. What is the Lucky Number of Bayad?
The lucky number associated with the name Bayad is "8".
Q. What is the religion of the name Bayad?
The religion of the name Bayad is Muslim.
Q. What is the origin of Bayad name?
The origin of the name Bayad is.
Q. What is the auspicious color of the name Bayad?
For the name Bayad, the lucky color is Light Green, peach.
Write Your Comments


March 4, 2021
Abandoned lighthouse on Great Isaac Cay
Great Isaac Cay is a small Bahamian island located about 20 miles NNE of the Bimini Islands. It is accessible only by boat. And it is so small that it's not visible on google map or google earth. The most prominent feature of the island is its lighthouse, which was erected in 1859.
In the late 19th century local lore tells of a ship wreck on the island with one survivor, an infant. The child's distraught mother, known as the Grey Lady, is said to haunt the island to this very day, wailing in sorrow during the full moon.
On August 4, 1969, the station was discovered to have been abandoned by its two keepers, who were never found. The keepers' house, cistern, and assorted buildings are crumbling into ruins. The Lighthouse looks abandoned but is actually still in use, fully automated.
It is also claimed to be haunted!


text:
Introduction to MPLS LDP Graceful Restart
MPLS LDP graceful restart preserves data plane forwarding along LDP LSPs in the presence of temporary LDP control plane disruption. The disruption might be an LDP control plane restart caused by a supervisor switchover or process restart or a TCP or UDP event that disrupts control plane communication between two LDP control planes, even if neither restarts.
The following example describes how MPLS LDP graceful restart operates in the presence of an LDP control plane restart. Note that this interaction has two different roles: the router with the restarting LDP control plane and the neighbor router that detects a loss and recovery of its LDP session to the restarting router. Each carries out MPLS LDP graceful restart procedures appropriate to its role.
The topology shown in Figure 10-1 has the following elements:
All three routers are running MPLS LDP, all with graceful restart enabled.
An LDP session exists between R2 and R1, and another LDP session exists between R2 and R3.
LDP LSPs have been established, including LSPs that connect R1 and R3 and are carrying data traffic. In a network with more routers, multiple LSPs might traverse R1-R2-R3 in both directions.
Figure 10-1 Example of a Network Using LDP Graceful Restart
The following sequence shows how the three routers cooperate to provide NSF and avoid a disruption to data traffic:
1. At session establishment, each router reports to its neighbors that it supports graceful restart. Each session endpoint knows that both ends of the session support graceful restart.
2. R2 begins a supervisor switchover. R2's LDP control plane and all of its LDP TCP connections and LDP UDP hello adjacencies stop operating. R2's data plane marks all of its label entries as stale but continues to use those entries for forwarding MPLS data traffic.
3. R1 notices a loss of communication with R2. (In this sequence, R3 performs the same actions as R1.) R1 marks all of its label bindings from R2 as stale but continues to use those entries for forwarding data traffic.
4. R1 and R2 reestablish an LDP session. On R1, entering the
show mpls ldp neighbor graceful-restart
command displays information about the recovering session.
5. R2 reacquires its local label binding information. R2's data plane typically provides R2's control plane with the same local label for each prefix that was used prior to the restart.
6. Both routers readvertise their label binding information. If R1 relearns a label from R2, R1 marks the binding as no longer stale. If R2 learns a label from R1 and submits that label to its data plane, the data plane marks the entry as no longer stale.
7. After a certain amount of time has passed, R1's LDP control plane cleans up all entries that are still marked as stale. Similarly, R2's data plane removes all entries that are still marked as stale.
Typically, if no other network disruption occurs during this graceful restart operation, all bindings are relearned from the neighbor with the same label values as before the session restart. In this scenario, all saved bindings are marked as not stale during recovery, and no entries need to be cleaned up.
Another scenario of interest is a TCP or UDP communication failure without an LDP control plane restart. In this case, the two LDP control planes at either end of the session detect the communication failure. Each LDP control plane applies the same procedures as R1 used above, and NSF is achieved. R1 carries out the same MPLS LDP graceful restart procedures whether the communication failure with R2 was caused by a restart of R2's control plane or by a networking issue without a restart of R2's control plane.
You can set various timers to limit how long the routers wait for an LDP session to be reestablished before restarting the router.
What Happens if a Router Does Not Have MPLS LDP Graceful Restart Enabled
When a router that does not support MPLS LDP graceful restart undergoes a control plane restart, its data plane MPLS forwarding entries are freed.
A neighbor of such a router, detecting a loss of communication, frees all bindings from the restarting router. This behavior occurs whether the neighbor supports MPLS LDP graceful restart or not. A neighbor that supports MPLS LDP graceful restart learns at session establishment that the restarting router is not supporting MPLS LDP graceful restart. The neighbor does not run graceful restart procedures when detecting a loss of communication to the restarting router.
The cleanup actions of both the restarting router and its neighbor cause any data traffic on the old LSPs to be dropped until recovery activities have addressed the situation. Recovery activities include traffic reroute or the reestablishment of MPLS LDP LSPs or both.
How a Router Advertises that it Supports MPLS LDP Graceful Restart
A router that supports MPLS LDP graceful restart announces its capabilities to its neighbors in the fault tolerant (FT) type-length-value (TLV) in the LDP initialization message. The router sends the LDP initialization message to a neighbor as part of establishing an LDP session.
The FT session TLV includes the following information:
The Learn from Network (L) flag is set to 1, which indicates that the router is configured to perform MPLS LDP graceful restart.
The Reconnect Timeout field shows the time (in milliseconds) that the neighbor should wait for a reconnection if the LDP session is lost. If the timer is set to 0 and the local router fails, its peers do not wait for it to recover.
The Recovery Time field shows the time (in milliseconds) that the neighbor should retain the MPLS forwarding state during a recovery currently in progress. For example, if a neighbor restarted and did not preserve the MPLS forwarding state across the restart, the neighbor should set its recovery time to 0.
Note The reconnect time applies to the next communication loss while the recovery time applies to the recovery from the preceding communication loss.


Book A Call
Off-canvas menu toggle button
Google Sheets Tutorial
How To Split First Name and Last Name In Google Sheets
Get Martech tutorials, tips and strategies delivered straight to your inbox - it's free!
G'day guys, Chris Higgins from Electric Monk here. Hope you're doing well.
So today I've got a really fantastic Google Sheets tip to share with you, and I'm only slightly embarrassed to admit that I have only just discovered this feature in the last few months. Now this is one of those features where if you're aware of it and you use it often, you'll likely think that this is the dumbest tutorial in history. However, if you're not already aware of this feature, then this video will probably... maybe change your life.
So let's jump into Google Sheets and have a look at what's going on. You can see here I've got my sample list of contacts. These are all students at a particularly prestigious boarding school, and we've got a column for their name, their email address and their assigned school house.
The problem that we've got is that all of the students' names have been entered as full names in a single column rather than being split into separate columns. If you work with a lot of contact data, you will have received CSV files just like this yourself. And the issue is that platforms like HubSpot typically store names as two separate properties - first name and last name - and they won't actually allow you to upload any contact data if the names aren't formatted correctly. So, we need to find a way to split these names out into separate columns before we can upload this data into our CRM.
Now, the obvious answer is to go through them all line by line, cutting and pasting the surname values into a new column. And that's manageable if you've got a list like this that only contains 40 or so names, but if you're dealing with a file that includes hundreds or perhaps even thousands of names, that can be really time consuming.
So it turns out that there is a feature in Google Sheets that enables you to split data into multiple cells, and it makes it ridiculously quick to format a list of contacts just like this one. So the first thing we need to do is create a new empty column next to our full name column, which you can do by right clicking and selecting the Insert column option. It's worth eyeballing your list of names at this point to see if you've got any contacts with middle names or titles, because at the end of this process each name is going to be split into its own cell. So if you do have any contacts with three or four names, make sure you create a couple of extra columns to accommodate them. Once you've got your empty column in place, you need to highlight the column that contains the names that you want to split, then click Data, and then click Split text to columns.
You should then see this small tool bar that asks you what separator you'd like to use. Choose Space, and then that is literally it. Your names should now be split out into separate columns. The final thing you need to do is just ensure that your column headers are updated so that they'll be recognised when you import them into HubSpot.
I really hope you found this useful and please do feel free to let me know in the comments if there are any other MarTech tutorials that you'd like me to create. Cheers!


How to Find Your Doorbell's IP address
There may be times where you need to find your doorbells IP address. One example is for 3rd party Onvif Implementation. This guide assumes that your doorbell is already installed and has gone through the entire setup process.
Step 1. Download and install the SADP Software
Click here to download the software.
Step 2. Open the SADP program
Side Note: Ensure the SADP program is running on a PC that is on the same exact network as your doorbell.
Step 3. Your Doorbell's IP address should be on the list.
The device type should be listed as NDB313-W. Please note that the device may show "inactive." This is perfectly normal. There is no way to "activate" the doorbell like our standard H-Series IP Cameras. mceclip0.png
Was this article helpful?
2 out of 3 found this helpful


Anti-Racism Statement
Events of the last year have highlighted the systemic racism that exists in Canadian society and around the world. Working within the sport and recreation sectors, we recognize that systemic racism exists here, too. The Sport for Life Society (S4L) and Physical Literacy for Life (PL4L) charity believe that equity, diversity, inclusion and accessibility are foundational to a successful and healthy sport and physical activity ecosystem.
We stand against racism and will be intentional when working towards creating an inclusive and positive environment for everyone to enjoy the benefits of sport and physical activity. Inaction perpetuates systemic racism, but by actively supporting anti-racist policies, programs and services, Sport for Life will work to disrupt, dismantle and abolish racism in the programs, services and resources we deliver, both alone and in partnership with others.
Sport for Life will be purposeful in adding our voice to the powerful messages of anti-racism around the world and ensure our programming, services and resources are inclusive to everyone regardless of race, colour, religion, age, sex, sexual orientation, gender identity, gender expression or national origin.


text:
Contents (view all pages)
Put here the wiki news with what's happened
Contribute to this wiki
To write a new article, just enter the article title in the box below.
- Not sure where to start?
Dinky Duck was a Terrytoons cartoon character that appeared in a number of animated shorts. Dinky was a young duck that lived on a farm with ducks, chickens and other typical farm animals. Dinky often took on the role of an orphan who simply wanted a place to call home. Other times, Dinky would perform some heroic deed and help restore calm to the barnyard when adult animals quarreled. Dinky first appeared in the 1939 short The Orphan Duck.


[20.92 MiB] Rig it Right! Maya Animation Rigging Concepts, 2nd edition books by Tina O'Hailey
Rig it Right! breaks down rigging so that you can achieve a fundamental understanding of the concept. The author will get you up and rigging with step-by-step tutorials covering multiple animation control types, connection methods, interactive skinning, BlendShapes, edgeloops, and joint placement, to name a few. The concept of a bi-ped is explored as a human compared to a bird character allowing you to see that a bi-ped is a bi-ped and how to problem solve for the limbs at hand. Rig it Right! will take you to a more advanced level where you will learn how to create stretchy rigs with invisible control systems and use that to create your own types of rigs.
Key Features Hone your skills every step of the way with short tutorials and editable rigs that accompany each chapter. (17+ rigs!!). Read "Tina's 10 Rules of Rigging" and build the foundational knowledge needed to successfully rig your characters. Visit the companion website and expand your newfound knowledge with editable rigs, exercises, and videos that elaborate on techniques covered in the book. Companion data filled with example files at AR(Augmented Reality) enabled images throughout the book! Coffee is not required – but encouraged.
Rig it Right! Maya Animation Rigging Concepts, 2nd edition
Title:Rig it Right! Maya Animation Rigging Concepts, 2nd edition
Format Type:eBook PDF / e-Pub
Date release:
Size:20.92 MiB
Category:Media Arts, Books, Arts & Entertainment


text:
April 04, 2018
Experience the great outdoors at Touch of Nature's Green Dawgs' Day
CARBONDALE, Ill. — What better way to celebrate spring than immersing yourself in one of Southern Illinois' most beautiful places?
Southern Illinois University Carbondale's Touch of Nature Environmental Center is hosting Green Dawgs' Day from 10 a.m. to 4 p.m. on April 8 and everyone is welcome.
The event is free and open to SIU students and the community.
Free canoeing, hiking, zip lining, rock climbing and more
Numerous special happenings are planned throughout the day. Activities include canoeing, hiking, zip lining, rock climbing and more.
In addition, representatives of various environment- and sustainability-focused campus departments, registered student organizations, and community organizations will be on hand to provide information and greet participants.
The day, sponsored with assistance from an SIU Green Fund grant, will highlight various internships and volunteer opportunities for students at SIU as well as ways to get involved in the region. It's a great chance for some professional networking, too.
Learn about wildlife conservation with Project WILD
Participants can also elect to participate in a Project WILD, wildlife-focused conservation education program taking place that day from 10 a.m. to 2 p.m.
This conservation and environmental education program is geared toward educators of students in kindergarten through high school, but will also appeal to SIU students, organizers said.
Jenna Parks, Touch of Nature naturalist, and Linda Hauser of the U.S. Forest Service, will lead the workshop at the Indian Building in Camp II. The program explores the connections among all of nature and how to conserve and be environmentally conscious and responsible.
Register in advance for the Project WILD program online at _URL_ (select the session option "Project WILD") for $25. The fee covers course materials and books to take home.
Free transportation from campus
Free shuttle service will be offered from the SIU campus to Touch of Nature Environmental Center, located about eight miles south of Carbondale on Giant City Road.
The bus will leave from the front of the Student Center every hour beginning at 9:45 a.m. with the last run at 1:45 p.m.; there will not be an 11:45 a.m. shuttle.
Return rides will from the center back to the Student Center are scheduled every hour starting at 10:30 a.m. with the last return bus at 3:45 p.m.; there won't be an 11:30 a.m. bus.
No signup required
Although pre-registration is required for the optional Project WILD program, no advance signup is required for Green Dawgs' Days. Participants may come any time that day and enjoy the fun.


Get the length of an Object in TypeScript
avatar
Borislav Hadzhiev
Last updated: Feb 27, 2024
3 min
banner
# Get the length of an Object in TypeScript
To get the length of an object in TypeScript:
 1. Use the Object.keys() method to get an array of the object's keys.
 2. Access the length property on the array of keys.
index.ts
interface Person { id: number; name: string; age: number; } const obj: Person = { id: 1, name: 'bobby hadz', age: 30 }; // 👇 const length: number const len = Object.keys(obj).length; console.log(len); // 👉 3
get length of object in typescript
The code for this article is available on GitHub
We used the Object.keys method to get an array of the object's keys.
index.ts
// 👇 ['id', 'name'] console.log(Object.keys({ id: 1, name: 'Bobby Hadz' }));
The only parameter the method takes is the object for which the keys are returned.
The last step is to access the length property on the array to get the number of key-value pairs in the object.
index.ts
interface Person { id: number; name: string; age: number; } const obj: Person = { id: 1, name: 'bobby hadz', age: 30 }; // 👇 const length: number const len = Object.keys(obj).length; console.log(len); // 👉 3
Alternatively, you can use a for...in loop.
An alternative approach is to initialize a length variable, set it to 0 and use a for...in loop to iterate over the object.
# Get the Length of an Object using a for...in loop in TypeScript
This is a three-step process:
 1. Declare a length variable and initialize it to 0.
 2. Use a for...in loop to iterate over the object.
 3. Increment the value of the length variable on each iteration.
index.ts
interface Person { id: number; name: string; age: number; } const obj: Person = { id: 1, name: 'Bobby Hadz', age: 30 }; let len = 0; for (const key in obj) { if (obj.hasOwnProperty(key)) { len += 1; } } console.log(len); // 👉 3
The code for this article is available on GitHub
The for...in loops iterates over the object's enumerable properties, including the inherited ones.
This is why we had to use the Object.hasOwnProperty method to check if the property exists directly on the object or is inherited.
We only increment the length variable if the property exists directly on the object.
After the last iteration, the length variable stores a number representing the length of the object.
# Get the Length of an Object using Object.values()
You can also use the Object.values() method to get the length of an object.
index.ts
interface Person { id: number; name: string; age: number; } const obj: Person = { id: 1, name: 'Bobby Hadz', age: 30 }; const len = Object.values(obj).length; console.log(len); // 👉 3
get length of object using object values
The code for this article is available on GitHub
The Object.values() method returns an array of the object's values.
index.ts
interface Person { id: number; name: string; age: number; } const obj: Person = { id: 1, name: 'Bobby Hadz', age: 30 }; // 👇 [ 1, 'Bobby Hadz', 30 ] console.log(Object.values(obj));
# Get the Length of an Object using Object.entries()
The Object.entries() method can also be used to get an object's length.
index.ts
interface Person { id: number; name: string; age: number; } const obj: Person = { id: 1, name: 'Bobby Hadz', age: 30 }; const len = Object.entries(obj).length; console.log(len); // 👉 3
get length of object using object entries
The code for this article is available on GitHub
The Object.entries method returns an array of the object's key-value pairs
index.ts
interface Person { id: number; name: string; age: number; } const obj: Person = { id: 1, name: 'Bobby Hadz', age: 30 }; // 👇 [ [ 'id', 1 ], [ 'name', 'Bobby Hadz' ], [ 'age', 30 ] ] console.log(Object.entries(obj));
The first element in each nested array is the key and the second is the value.
Which approach you pick is a matter of personal preference. I'd use the Object.keys() method as it is most commonly used to get an object's length and is quite intuitive.
I wrote a book in which I share everything I know about how to become a better, more efficient programmer.
book cover
You can use the search field on my Home Page to filter through all of my articles.


text:
If you often find your screen to be too bright, especially when you are viewing it in a dark environment, then you may be looking for a solution.
Fortunately many devices and apps have options to fix this, including the Google Pixel 4A.
The setting that you can use on your Pixel is called "Dark Theme" and it's similar to the dark mode option found on other devices, apps, and websites.
Our guide below will show you how to turn on dark mode on the Google Pixel 4A.
How to Turn on Google Pixel 4A Dark Mode
The steps in this article were performed on a Google Pixel 4A in Android 10.
Changing to dark mode is going to adjust many of the display settings on the device, and many things are going to look very different.
Step 1: Swipe up from the bottom of the screen.
Step 2: Scroll down and select the Settings option.
Step 3: Touch the Display button.
Step 4: Tap the button to the right of Dark theme to turn it on.
The phone is going to switch to dark mode immediately. The most obvious different will be that the background of this menu will switch from white to black. Dark mode is enabled in the picture above.
Our guide to taking screenshots on a Pixel 4A can show you how to capture images of what is appearing on your screen.
Matthew Burleigh has been writing tech tutorials since 2008. His writing has appeared on dozens of different websites and been read over 50 million times.
After receiving his Bachelor's and Master's degrees in Computer Science he spent several years working in IT management for small businesses. However, he now works full time writing content online and creating websites.
His main writing topics include iPhones, Microsoft Office, Google Apps, Android, and Photoshop, but he has also written about many other tech topics as well.
Disclaimer: Most of the pages on the internet include affiliate links, including some on this site.


DermNet provides Google Translate, a free machine translation service. Note that this may not provide an exact translation in all languages
Translate
Morbilliform drug reaction
Author: Dr Delwyn Dyall-Smith FACD, Dermatologist, Australia, 2009. Updated by A/Prof Amanda Oakley, January 2016.
Morbilliform drug reaction — codes and concepts
open
What is morbilliform drug reaction?
Morbilliform drug eruption is the most common form of drug eruption. Many drugs can trigger this allergic reaction, but antibiotics are the most common group. The eruption may resemble exanthems caused by viral and bacterial infections.
 - A morbilliform skin rash in an adult is usually due to a drug.
 - In a child, it is more likely to be viral in origin.
Morbilliform drug eruption is also called maculopapular drug eruption, exanthematous drug eruption and maculopapular exanthem.
Morbilliform drug eruption
Who gets morbilliform drug eruption?
About 2% of prescriptions of new drugs cause a drug eruption. About 95% of these are morbilliform drug eruptions.
They mainly affect people prescribed beta-lactam antibiotics (penicillins, cephalosporins), sulfonamides, allopurinol, anti-epileptic drugs and nonsteroidal anti-inflammatory drugs (NSAID). Numerous other drugs have been reported to cause morbilliform drug eruptions, including herbal and natural therapies.
Predisposing factors include:
What causes morbilliform drug eruption?
Morbilliform drug eruption is a form of allergic reaction. It is mediated by cytotoxic T-cells and classified as a Type IV immune reaction. The target of attack may be drug, a metabolite of the drug, or a protein bonded to the drug. Inflammation follows the release of cytokines and other effector immune cells.
What are the clinical features of morbilliform drug eruption?
On the first occasion, a morbilliform rash usually appears 1–2 weeks after starting the drug, but it may occur up to 1 week after stopping it. On re-exposure to the causative (or related) drug, skin lesions appear within 1–3 days. It is very rare for a drug that has been taken for months or years to cause a morbilliform drug eruption.
Morbilliform drug eruption usually first appears on the trunk and then spreads to the limbs and neck. The distribution is bilateral and symmetrical.
The primary lesion is a pink-to-red flat macule or papule.
 - Annular, targetoid, urticaria-like or polymorphous morphology may occur.
 - Lesions mostly blanch with pressure but may be non-blanchable (purpuric) on the lower legs.
 - Discrete lesions may merge together to form large erythematous patches or plaques.
 - Axilla, groin, hands and feet are usually spared.
 - Paradoxical prominent rash in axillae and groins may be due to symmetrical drug related intertriginous and flexural exanthem (SDRIFE)
 - Mucous membranes, hair and nails are not affected in uncomplicated drug eruptions.
The rash may be associated with a mild fever and itch. As it improves, the redness dies away and the surface skin peels off.
What are the complications of morbilliform drug eruption?
In the early phase, it may not be possible to clinically distinguish an uncomplicated morbilliform eruption from other more serious cutaneous adverse reactions (SCAR). These are:
Patients with the following symptoms/signs should be hospitalised for specialist assessment and supportive care.
 - Erythroderma (whole-body involvement)
 - High fever or significant malaise
 - Any mucosal involvement
 - Skin tenderness
 - Blistering
 - Pustules
 - Palpable purpura
 - Evidence of other organ involvement (eg liver, kidneys, lungs, blood)
How is morbilliform drug eruption diagnosed?
A strong clinical suspicion of morbilliform drug eruption depends on:
 - Typical exanthematous rash
 - Recently introduced medication
To identify the possible causative drug, a drug calendar, including all prescribed and over-the counter products, may be helpful. The starting date of each new drug is documented together with the onset of the rash. The calendar must extend back at least 2 weeks and up to one month. Drugs can then be classified as unlikely or likely causes based on:
 - Time relative to onset of the rash
 - The specific drug; some drugs can be excluded as rarely causing allergy
 - Patient's past experience with other drugs in the same class
There are no routine tests to make the diagnosis or to identify the culprit drug. Differential diagnosis includes measles, rubella, scarlet fever, non-specific toxic erythema associated with infection, Kawasaki disease, connective tissue disease and acute graft-versus-host disease.
Tests are not usually necessary if the cause has been identified and stopped, the rash is mild and the patient is well. They may include:
 - Routine blood count, liver and kidney function tests, C-reactive protein
 - Serology for infections that can cause similar rashes
 - Possible skin biopsy, which shows interface dermatitis, mixed perivascular infiltration and other histopathological features.
Eosinophilia is supportive but not diagnostic. Further investigations will depend on clinical features, progress of the patient, and the results of the initial tests.
What is the treatment for morbilliform drug eruption?
The most important thing is to identify the causative drug and if possible, stop it. If the reaction is mild, and the drug is essential and not replaceable, obtain a specialist opinion whether it is safe to continue the drug before doing so.
How can morbilliform drug eruption be prevented?
It is not possible to completely prevent morbilliform eruptions. Prescribers must be vigilant. Their incidence may be reduced by:
 - Minimising prescriptions for antibiotics
 - Educating the patient about the cause of their rash and the danger of re-exposure to the same medication
 - Adding the reaction to the medical record alerts
What is the outlook for morbilliform drug eruption?
If the causative drug is ceased, the rash begins to improve within 48 hours and clears within 1–2 weeks.
If the drug is continued, the rash may:
 - Resolve despite continued exposure to the drug
 - Persist without change
 - Progress to erythroderma
See smartphone apps to check your skin.
[Sponsored content]

Related information
Sign up to the newsletter


text:
NLM and National Endowment for the Humanities to Cooperate on Initiatives of Common Interest
The National Library of Medicine (NLM), the world's largest medical library and a component of the National Institutes of Health, and the National Endowment for the Humanities (NEH), are forming a new partnership. They will collaborate to develop initiatives that bring together scholars, scientists, librarians, doctors and cultural heritage professionals from the humanities and biomedical communities in order to share expertise and develop new research agendas.
Representatives from the NLM and the NEH signed a memorandum of understanding that outlines their partnership and recognizes their shared interest in advancing health and medical education, training and information dissemination for research, teaching and learning by the humanities and biomedical communities.
As initial efforts, the partners will work together to:
- Explore areas of mutual interest for research, particularly in the fields of digital humanities and the history of medicine;
- Develop and participate in curricula and courses, training and internship opportunities, and other educational initiatives; and
- Develop initiatives to increase access to careers in medicine and health, with a particular interest in reaching students who are under-represented in the fields