that's calling it. (Some corner cases might not work on Pythons below 3.7 where asyncio doesn't support context variables.)
However, this feature should generally not be necessary, because you should know whether each function in your program is asyncio-flavored or Trio-flavored. (The two have different semantics, especially surrounding cancellation.) It's provided mainly so that your trio-asyncio program can safely depend on libraries that use sniffio to support both flavors. It can also be helpful if you want to assert that you're in the mode you think you're in, using
assert sniffio.current_async_library() == "trio"
(or "asyncio") to detect mismatched flavors while porting code from asyncio to Trio.
Cross-calling
First, a bit of background.
For historical reasons, calling an async function (of any flavor) is a two-step process – that is, given
async def proc():
 pass
a call to await proc() does two things:
 - proc() returns an awaitable, i.e. something that has an __await__ method.
 - await proc() then hooks this awaitable up to your event loop, so that it can do whatever combination of execution and cooperative blocking it desires. (Technically, __await__() returns an iterable, which is iterated until it has been exhausted, and each yielded object is sent through to the event loop.)
asyncio traditionally uses awaitables for indirect procedure calls, so you often see the pattern:
async def some_code():
 pass
async def run(proc):
 await proc
await run(some_code())
This method has a problem: it decouples creating the awailable from running it. If you decide to add code to run that retries running proc when it encounters a specific error, you're out of luck.
Trio, in contrast, uses (async) callables:
async def some_code():
 pass
async def run(proc):
 await proc()
await run(some_code)
Here, calling proc multiple times from within run is not a problem.
trio-asyncio adheres to Trio conventions, but the asyncio way is also supported when possible.
Calling asyncio from Trio
Wrap the callable, awaitable, generator, or iterator in trio_asyncio.aio_as_trio().
Thus, you can call an asyncio function from Trio as follows:
async def aio_sleep(sec=1):
 await asyncio.sleep(sec)
async def trio_sleep(sec=2):
 await aio_as_trio(aio_sleep)(sec)
trio_asyncio.run(trio_sleep, 3)
or use as a decorator to pre-wrap:
@aio_as_trio
async def trio_sleep(sec=1):
 await asyncio.sleep(sec)
trio_asyncio.run(trio_sleep, 3)
or pass an awaitable:
async def aio_sleep(sec=1):
 await asyncio.sleep(sec)
async def trio_sleep(sec=2):
 await aio_as_trio(aio_sleep(sec))
trio_asyncio.run(trio_sleep, 3)
If you have a choice between aio_as_trio(foo)(bar) and aio_as_trio(foo(bar)), choose the former. If foo() is an async function defined with async def, it doesn't matter; they behave equivalently. But if foo() is a synchronous wrapper that does anything before delegating to an async function, the first approach will let the synchronous part of foo() determine the current asyncio task, and the second will not. The difference is relevant in practice for popular libraries such as aiohttp.
aio_as_trio() also accepts asyncio.Futures:
async def aio_sleep(sec=1):
 await asyncio.sleep(sec)
 return 42
async def trio_sleep(sec=2):
 f = aio_sleep(1)
 f = asyncio.ensure_future(f)
 r = await aio_as_trio(f)
 assert r == 42
trio_asyncio.run(trio_sleep, 3)
as well as async iterators (such as async generators):
async def aio_slow():
 n = 0
 while True:
 await asyncio.sleep(n)
 yield n
 n += 1
async def printer():
 async for n in aio_as_trio(aio_slow()):
 print(n)
trio_asyncio.run(printer)
and async context managers:
class AsyncCtx:
 async def __aenter__(self):
 await asyncio.sleep(1)
 return self
 async def __aexit__(self, *tb):
 await asyncio.sleep(1)
 async def delay(self, sec=1):
 await asyncio.sleep(sec)
async def trio_ctx():
 async with aio_as_trio(AsyncCtx()) as ctx:
 print("within")
 await aio_as_trio(ctx.delay)(2)
trio_asyncio.run(trio_ctx)
As you can see from the above example, aio_as_trio() handles wrapping the context entry and exit, but it doesn't know anything about async methods that may exist on the object to which the context evaluates. You still need to treat them as asyncio methods and wrap them appropriately when you call them.
Note that creating the async context manager or async iterator is not itself an asynchronous process; i.e., AsyncCtx.__init__ or __aiter__ is a normal synchronous procedure. Only the __aenter__ and __aexit__ methods of an async context manager, or the __anext__ method of an async iterator, are asynchronous. This is why you need to wrap the context manager or iterator itself – unlike with a simple procedure call, you cannot wrap the call for generating the context handler.
Thus, the following code will not work:
async def trio_ctx():
 async with aio_as_trio(AsyncCtx)() as ctx: # no!
 print("within")
 async for n in aio_as_trio(aio_slow)(): # also no!
 print(n)
trio_asyncio.aio_as_trio(proc, *, loop=None)
Return a Trio-flavored wrapper for an asyncio-flavored awaitable, async function, async context manager, or async iterator.
Alias: asyncio_as_trio()
This is the primary interface for calling asyncio code from Trio code. You can also use it as a decorator on an asyncio-flavored async function; the decorated function will be callable from Trio-flavored code without additional boilerplate.
Note that while adapting coroutines, i.e.:
await aio_as_trio(proc(*args))
is supported (because asyncio uses them a lot) they're not a good idea because setting up the coroutine won't run within an asyncio context. If possible, use:
await aio_as_trio(proc)(*args)
instead.
Too complicated?
There's also a somewhat-magic wrapper (trio_asyncio.allow_asyncio()) which, as the name implies, allows you to directly call asyncio-flavored functions from a function that is otherwise Trio-flavored.
async def hybrid():
 await trio.sleep(1)
 await asyncio.sleep(1)
 print("Well, that worked")
trio_asyncio.run(trio_asyncio.allow_asyncio, hybrid)
This method works for one-off code. However, there are a couple of semantic differences between asyncio and Trio which trio_asyncio.allow_asyncio() is unable to account for. Additionally, the transparency support is only one-way; you can't transparently call Trio from a function that's used by asyncio callers. Thus, you really should not use it for "real" programs or libraries.
await trio_asyncio.allow_asyncio(fn, *args)
Execute await fn(*args) in a context


text:
landing was a masterpiece of management, planning and, in the final analysis, gutsy flying from a team with nerves of steel.
To mark the 50th anniversary of the first Moon landing, Professor Lattanzio will deliver a public lecture on the decisions and methods used to achieve this goal. In addition to Apollo 11, he'll cover the Apollo 1 fire, the Apollo 12 lightning strike, and the near-disastrous oxygen tank explosion on Apollo 13. The lecture will be held on Tuesday, 30 July, at 6.30pm in Theatre S3, 16 Rainforest Walk, Monash University Clayton campus.
This article was first published on Monash Lens. Read the original article

source: m-a-p/FineFineWeb


text:
Dr Sonal Nakar presents the study: Ethical Dilemmas Faced by Vocational Education and Training (VET) Teachers in Times of Rapid Change.
This study was directed to developing an understanding of how Vocational education and training (VET) teachers in Australia experienced the ethical challenges raised by changes in the contemporary cultural context of their work in the sector. Four common dilemmas were identified. Each was seen as being created by tensions between what participants (intrinsically) understood that they should do in a particular situation and what they felt impelled to do by extrinsic imperatives or pressures from changed circumstances in VET. Three types of response were evident: standing by their intrinsic moral commitments, compromising those commitments and appealing for ethical training.

source: openbmb/Ultra-FineWeb


ner.Client()
 instance = spanner_client.instance(instance_id)
 database = instance.database(database_id)
 operation = database.update_ddl(
 [
 "CREATE INDEX AlbumsByAlbumTitle2 ON Albums(AlbumTitle)"
 "STORING (MarketingBudget)"
 ]
 )
 print("Waiting for operation to complete...")
 operation.result(OPERATION_TIMEOUT_SECONDS)
 print("Added the AlbumsByAlbumTitle2 index.")
Run the sample using the add_storing_index argument.
python snippets.py test-instance --database-id example-db add_storing_index
You should see:
Added the AlbumsByAlbumTitle2 index.
Now you can execute a read that fetches all AlbumId, AlbumTitle, and MarketingBudget columns from the AlbumsByAlbumTitle2 index:
def read_data_with_storing_index(instance_id, database_id):
 """Reads sample data from the database using an index with a storing
 clause.
 The index must exist before running this sample. You can add the index
 by running the 'add_scoring_index' sample or by running this DDL statement
 against your database:
 CREATE INDEX AlbumsByAlbumTitle2 ON Albums(AlbumTitle)
 STORING (MarketingBudget)
 """
 spanner_client = spanner.Client()
 instance = spanner_client.instance(instance_id)
 database = instance.database(database_id)
 with database.snapshot() as snapshot:
 keyset = spanner.KeySet(all_=True)
 results = snapshot.read(
 table="Albums",
 columns=("AlbumId", "AlbumTitle", "MarketingBudget"),
 keyset=keyset,
 index="AlbumsByAlbumTitle2",
 )
 for row in results:
 print("AlbumId: {}, AlbumTitle: {}, " "MarketingBudget: {}".format(*row))
Run the sample using the read_data_with_storing_index argument.
python snippets.py test-instance --database-id example-db read_data_with_storing_index
You should see output similar to:
AlbumId: 2, AlbumTitle: Forever Hold Your Peace, MarketingBudget: 300000
AlbumId: 2, AlbumTitle: Go, Go, Go, MarketingBudget: None
AlbumId: 1, AlbumTitle: Green, MarketingBudget: None
AlbumId: 3, AlbumTitle: Terrified, MarketingBudget: None
AlbumId: 1, AlbumTitle: Total Junk, MarketingBudget: 300000
Retrieve data using read-only transactions
Suppose you want to execute more than one read at the same timestamp. Read-only transactions observe a consistent prefix of the transaction commit history, so your application always gets consistent data. Use a Snapshot object for executing read-only transactions. To get a Snapshot object, call the snapshot() method of the Database class in a with statement.
The following shows how to run a query and perform a read in the same read-only transaction:
def read_only_transaction(instance_id, database_id):
 """Reads data inside of a read-only transaction.
 Within the read-only transaction, or "snapshot", the application sees
 consistent view of the database at a particular timestamp.
 """
 spanner_client = spanner.Client()
 instance = spanner_client.instance(instance_id)
 database = instance.database(database_id)
 with database.snapshot(multi_use=True) as snapshot:
 # Read using SQL.
 results = snapshot.execute_sql(
 "SELECT SingerId, AlbumId, AlbumTitle FROM Albums"
 )
 print("Results from first read:")
 for row in results:
 print("SingerId: {}, AlbumId: {}, AlbumTitle: {}".format(*row))
 # Perform another read using the 'read' method. Even if the data
 # is updated in-between the reads, the snapshot ensures that both
 # return the same data.
 keyset = spanner.KeySet(all_=True)
 results = snapshot.read(
 table="Albums", columns=("SingerId", "AlbumId", "AlbumTitle"), keyset=keyset
 )
 print("Results from second read:")
 for row in results:
 print("SingerId: {}, AlbumId: {}, AlbumTitle: {}".format(*row))
Run the sample using the read_only_transaction argument.
python snippets.py test-instance --database-id example-db read_only_transaction
You should see output similar to:
Results from first read:
SingerId: 2, AlbumId: 2, AlbumTitle: Forever Hold Your Peace
SingerId: 1, AlbumId: 2, AlbumTitle: Go, Go, Go
SingerId: 2, AlbumId: 1, AlbumTitle: Green
SingerId: 2, AlbumId: 3, AlbumTitle: Terrified
SingerId: 1, AlbumId: 1, AlbumTitle: Total Junk
Results from second read:
SingerId: 1, AlbumId: 1, AlbumTitle: Total Junk
SingerId: 1, AlbumId: 2, AlbumTitle: Go, Go, Go
SingerId: 2, AlbumId: 1, AlbumTitle: Green
SingerId: 2, AlbumId: 2, AlbumTitle: Forever Hold Your Peace
SingerId: 2, AlbumId: 3, AlbumTitle: Terrified
Cleanup
To avoid incurring additional charges to your Cloud Billing account for the resources used in this tutorial, drop the database and delete the instance that you created.
Delete the database
If you delete an instance, all databases within it are automatically deleted. This step shows how to delete a database without deleting an instance (you would still incur charges for the instance).
On the command line
gcloud spanner databases delete example-db --instance=test-instance
Using the Google Cloud console
 1. Go to the Spanner Instances page in the Google Cloud console.
 Go to the Instances page
 2. Click the instance.
 3. Click the database that you want to delete.
 4. In the Database details page, click Delete.
 5. Confirm that you want to delete the database and click Delete.
Delete the instance
Deleting an instance automatically drops all databases created in that instance.
On the command line
gcloud spanner instances delete test-instance
Using the Google Cloud console
 1. Go to the Spanner Instances page in the Google Cloud console.
 Go to the Instances page
 2. Click your instance.
 3. Click Delete.
 4. Confirm that you want to delete the instance and click Delete.
What's next


text:
Oil & Gas Maintenance
Maintenance worker delays at shift start-up were costing one of Canada's largest producers of crude oil millions of dollars a year.
- Implement a "site permit process" to maintain safety and enable Maintenance workers to start repairs no later than 30 minutes following shift start
- Reduced permit issue time of 40 minutes, and authorization time by 48 minutes.
- Achieved an annualized productivity increase of $24 million from more time-on-tools.
Implement a Permit Process for MaintenancePDF
Maintenance worker delays at shift start-up were costing one of Canada's largest producers of crude oil millions of dollars a year. The Highland Group was engaged to investigate and repair the work permit process, which was not processing permits needed for the workers to start.
he project began with an analysis of the current situation and the development of new processes required to affect measurable and sustainable changes within the company. Several barriers to success were uncovered and resolved, including poor coordination between business units preventing standardization across site, morning line up and safety talks delaying workers from meeting shift start-up time, and permits being routinely issued for work to be performed right after shift start.
- Installed a Permit Application Tool for reports and charts.
- Developed a real-time reporting structure in Maintenance and implemented standardized reporting across business units.
- Implemented system for submitting permits a day prior to the work being performed.
- Installed a process for conducting a safety review at the job site.
- Developed management accountability and job focus.
- Installed a permit authorization process in Production.
- Developed a streamlined Operator Care Program.
Achieved annualized productivity increase of


Skip to main content
Russian training focus in 2017 - Amphibious operations
For the Russian armed forces 2014 was the year of snap drills and the Ukraine war. 2015 brought in the Syrian expeditionary force and larger readiness exercises. 2016 saw the resurgence of army level operations and strategic relocation training. In 2017 the most notable change is the focus on the amphibious operations and river crossings.
Russian Naval infantry BTR-82A APC:s and a Zubr class landing craft
The Russian naval infantry was established by Peter the great in 1705. The naval infantry has been subordinated to the Russian Navy and it has never been treated as an individual service like the United States Marine Corps. While the quality of the Russian Naval infantry has varied wildly along the centuries it established an elite status during the World War 2. The importance of the Soviet Naval Infantry grew steadily and some elements of it, such as the parachute battalions, were considered equal to the VDV airborne troops.
After the Cold War the Russian military turned to face more unconventional threats and major naval landing operations were not given a high priority. Most of the modernization budget of the Russian Armed Forces went to the army and the VDV. The importance of the Naval infantry began to grow as the President Putin restructured the Russian armed forces for offensive operations.
Crimea and Syria
The most high profile operation of the Russian naval infantry in the recent times was the invasion of Crimea, where the 810. Naval Infantry brigade was involved in disarming the Ukrainian marines and naval forces together with GRU speznaz and VDV airborne units.
The naval infantry from the Black Sea Fleet and the Northern Fleet have also been active in Syria. They have been providing security for the Russian naval base in Tartus for a long time. As the Russian involvement in the Syrian civil war has deepened, the naval infantry has also expanded its force in the theater. The motorized naval infantry units with their BTR-82 APC:s have supported the Syrian Arab Army in many operations. Syria, while not exactly a naval operation, has been an important test for the combat and expeditionary capabilities of the Russian naval infantry.
Increased drills in 2016
The focus of the Russian naval infantry and naval spetznaz forces have been in unconventional warfare, base security and special operations against enemy shore based facilities. In 2016 the Russian naval infantry conducted several amphibious landing drills into unprepared shores with the support of the naval gunfire, army aviation helicopters and air-force tactical bombers.
These drills happened in all of the four major fleets and they ranged from a battalion sized landings to the small islands in the Gulf of Finland to a brigade level operations in the occupied Crimea.
In 2017 these drills evolved into more complicated ones. The drills involved more units and support assets. All of the fleets also tested and exercised loading and unloading of the VDV airborne units in amphibious landing conditions. The unique equipment of the VDV such as the BMD-4 infantry fighting vehicles and the Sprut-SD tank destroyers can provide important capabilities to a landing force. More importantly the VDV units are by design expeditionary and can operate independently inside enemy territory.
VDV BMD-2 taking a swim (photo: Sputnik)
The integration of the VDV units into the naval infantry forces significantly bolsters the number of elite troops that Russia can use to land into the enemy shores. The VDV units are also easily air-transportable, so they have an unsurpassed strategic mobility. These landing operations would also provide an use for the newly formed VDV tank battalions, that can't be airdropped, unlike the other VDV formations.
During the fall training season, the Russian northern fleet took on new challenges. It conducted a long distance training operation that spanned nearly the entire northern coastline of Russia. The Northern Fleet landing force carried a mix of marines, paratroopers and arctic warfare specialists form the 200th Independent Motor Rifle Brigade based at Alakurtti, to a several landings in the high arctic. The longest assault happened over 2000 kilometers away from the jump off point. These locations and transit distances could mimic assaults against Iceland or Svalbard.
In addition to the published amphibious landing exercises, the Russian Northern Fleet has also been actively training small units into arctic operations under the disguise of scientific expeditions and environmental cleanup projects. Some of these expeditions have even transited through the demilitarized Svalbard islands.
New boats
While the introduction of the airborne forces into the naval infantry operations indicates a desire to conduct larger scale amphibious operations that would be possible with only the dedicated units, the procurement of naval landing equipment shows that there is still significant drive to increase the special operations capability of the Russian navy.
Russia has recently introduced four separate classes of combat boats, that provide it's naval infantry and spetsnaz forces with increased mobility and protection in coastal waters and riverine operations.
Raptor combat boat (photo: Russian MOD)
Three of the boat classes resemble the Swedish Combat Boat 90 at least visually. Kalashnikov BK-16 and BK-18 can transport half a platoon of infantry to a range of 400 km Armament of these boats are a mix of crewed machine guns and grenade launchers and a remote weapon station mounting a 12,7 mm machine gun. The boats also carry a Kalashnikov designed UAV:s to provide the landing unit with better situational awareness. BK-series boats have two 780 hp engines, that can push the boat to speeds up to 43 knots.
The Project 03160 Raptor, while externally similar to the BK-series, is supposed to be a more advanced design than the Kalashnikov boats. It's armed with 14,5 mm RWS and supposed superior sensors and better sea going abilities. It's also supposedly faster and easier to operate. The Raptor has 2000 hp engines and a top speed of 50 knots.
Project 02800 class boat (Photo: Ru MOD)
The fourth boat design is a more streamlined project 02800. The first time one of these sleek boats participated in a real world training exercise was on 19th of October 2017, when it supported an amphibious landing drill of the Baltic Fleet in Kaliningrad. Technical details of the new boat are still scarce. The layout of the Project 02800 resembles the Finnish Jurmo-class assault boats, but my subjective opinion is that the Russian counterpart looks way more sexy.
In addition to the combat boats, the Russian navy has procured five Project 21820 aka. Dyugon-class landing crafts. These crafts can land an motorized infantry company or a main battle tank platoon into an unprepared shore. Three of these crafts are based in the Baltic fleet, one in the Pacific Fleet and one in the Caspian sea.
Dyugon-class landing craft deploying BTR-80 APC:s (photo
In order to support larger amphibious operations in the high arctic, where harbors and shore facilities are scarce, Russia has developed their version of a Mulberry Harbor. Mobile harbor facilities that were established on the coast of Normandy immediately after the D-Day landings, were crucial for the allied war effort.
None of the recent acquisitions can replace the capabilities that the Russian Navy lost, when the French government refused to sell Russia the Mistral-class assault ships. If Russia had received the Mistrals it could pose a threat even to a defended shoreline.
Possible targets and capabilities
The Russian navy has limited number of amphibious assault ships and larger landing crafts that are capable of supporting mechanized naval infantry units. These assets are divided between the four major fleets. This limits the Russian naval infantry more than the number of available amphibious trained infantry units.
Russia can land an brigade from its Northern, Baltic and Black Sea fleets. With the support of the new high speed boats this can be improved only slightly. The greatest advantage they bring is the ability to land special forces in advance of the main landing party. Naturally they also increase the ability to conduct special operations missions along the enemy shorelines and into hostile and neutral installations, such as the Ukrainian gas rigs, that Russia occupied in the Black Sea.
Considering the obvious lack of heavy naval assets and carrier borne aviation, the list of targets Russia can use it's expanding naval landing capabilities for is relatively short. In the high arctic there are only four probable targets Svalbard, that has a Russian settlement of Barentsburg as a staging area, Iceland and Jan Mayen. The fourth is a landing along the Norwegian coast, but that would mean a full blown ground war against a NATO member.
Ropucha-Class landing ship (photo: Russian Militaryphotos)
In the Baltic Sea region the list of suitable targets for amphibious landings is likewise very short, Gotland and Åland that can provide a game changing advantage by effectively cutting off NATO access to the Baltic states. As with Norway, Russia could use naval landings to support a strategic strike against Finland or the Baltic states. Especially Finland would be a suitable target for such strike as the Finnish reserve based defense takes some time to respond to a brigade level or larger operations against it's shoreline. Although situation in Finland in improving.
In the Black Sea there is a broader spectrum of possible naval operations that Russia could conduct against Ukraine or Georgia. The concentration of combat boats in the Black Sea Fleet shows that Russia is expecting to use SOF assets rather than brute force landings. The landing and transport ships of the Black Sea Fleet are also crucial at supplying the Russian expeditionary force in Syria.
While the expansion of amphibious trained troops and the introduction of the new combat boats are not massive game changers, they clearly show that Russian armed forces


text:
Red-feathered birds suffer from eye damage
Birds with red, orange or chestnut feathers are more likely to suffer from eye damage, researchers have found.
Scientists discovered the link after analysing the lenses in the eyes of 81 different species of bird.
Birds known for their bright flashes of colour, such as robins, were found to be more prone to cataracts.
Dr Ismael Galvan from Paris-Sud University, who led the study, said the results could have implications for other species, including humans.
A cataract is when the clear lens of the eye becomes cloudy, limiting the passage of light and affecting vision.
Bird's eye facts
- Vision is cited as the most important sense for birds; it is essential for flying
- The ostrich has the largest eye in the bird world. Measuring up to 5cm across, it is also the largest eye of any land animal
- Birds of prey have specialised eyes to allow them greater peripheral vision and super-sharp focus
- Birds have much more complex colour vision than humans and can see UV light
"Vision is of paramount importance for birds, and birds with cataracts are likely to have limited ability to hunt, forage or perceive visual [signs] used in communication," Dr Galvan told BBC Nature.
The study, published in the journal Comparative Biochemistry and Physiology, Part A, is the first to study cataracts in wild animals.
Professor Graham Martin, an expert in bird vision from the University of Birmingham, suggested that eye damage in birds may have not been considered previously, because comparing a large sample of birds' eyes was such a considerable challenge.
"The eyes are one of the first things that deteriorates when a bird dies," he explained.
"I've seen cataracts in birds myself, but how prevalent they are and their distribution across different species has not been looked at before."Hobby help
To ensure they were studying fresh specimens, Dr Galvan and his team worked with taxidermists to investigate the lenses of birds they had collected for preservation.
End Quote Dr Ismael Galvan South Paris University
This may have implications for understanding the patterns of cataract prevalence in humans"
They discovered that a particular pigment linked the species that suffered from cataracts.
The pigment, called pheomelanin, is the same one that is responsible for red hair and freckles in humans.
"Pheomelanin generates red colouration, like the throat colour of barn swallows, but also orange-chestnut colourations," said Dr Galvan.
Birds found to be more susceptible to lens damage included ginger-winged barn owls, copper-chested kingfishers and aptly named redwings.
Exposure to ultraviolet (UV) radiation is cited as one of the causes of cataracts, and because birds fly in open skies, they are exposed to high levels of UV.
Although some species have previously been found to have antioxidants that prevent UV damage, birds with reddish colourings have less of this protection.
"The production of pheomelanin consumes part of an antioxidant that plays a key role in the protection of lenses from cataracts," Dr Galvan explained.
The team hopes the results will stimulate further investigation into the links between pigments, antioxidants and lens damage.
"Our study may have implications for understanding [the] patterns of cataract prevalence in humans and other species," said Dr Galvan.
Prof Martin believes the results could also encourage bird ringers to add eye quality to the list of data they collect on birds.

source: HuggingFaceFW/fineweb-edu


text:
New Seedlings, New Beginnings: HOPE's First Coconut Relief Drive
Typhoon Odette swept through the nation in mid-December of 2021, devastating communities in Visayas and Mindanao, who were left without basic necessities such as food, water, and shelter.
Unbeknownst to many is the fact that agricultural lands were also wiped out by the storm. Such was the case for smallholder farmers in the province of Surigao del Norte, who rely on coconut trees as one of their main sources of income. According to the Philippine Coconut Authority, 70% of coconut trees were destroyed during the typhoon. It would take 3-5 years for the decimated trees to be restored.
A cluster of destroyed coconut trees. The coastal areas of Surigao were especially affected by the typhoon.
To aid in their process of rebuilding, HOPE reached out to local government units in Surigao to organize a relief drive that will distribute coconut seedlings to farmers who were severely affected by the disaster. By working closely with the Philippine Coconut Authority, HOPE was able to identify smallholder farmers across the communities of Surigao City, Placer, and San Francisco.
"The Surigao operation was a new experience for the agriculture team," says Bruce Arinzol, Farmer Engagement Officer. "We're used to distributing coconuts to partner farmers who want a stable source of income. However, with this operation, the need was different and overwhelming. That's why we wanted to extend help."
The relief drive happened last February 17, 2022, in all three areas simultaneously, made possible by HOPE's on-the-ground agriculture team. Each farmer got to take home an average of 50 seedlings that will help them recover the trees they had lost.
At the end of the day, 27,977 seedlings were distributed to 446 recipients. "As witnesses of the Surigaonons' resilience and hard work, we are convinced they will be able to get back on their feet again," continues Arinzol.
HOPE has been supporting farmers since 2014 with the goal of increasing income opportunities to promote sustainable livelihood. These farmers are located in Mindanao, mainly in the provinces of South Cotabato and Sarangani. HOPE commits to staying cognizant of these farmers' needs.


text:
This page features maps that are based on annual water level monitoring programs in the Tucson basin and in Avra Valley. Groundwater levels in all available City of Tucson wells are periodically measured to maintain long-term records to assist in management of local groundwater resources.
For further information, see 2018 Status and Quality of the Aquifer.
Depth to Groundwater Map
Discrete depth-to-groundwater data points and locations as well as contours depicting depth to groundwater in the Tucson basin and in Avra Valley are shown in the Depth to Groundwater Map.
Groundwater Elevation Map
Discrete groundwater table elevation data points and contours depicting groundwater elevation above sea level in the Tucson basin and in Avra Valley are shown in the Groundwater Elevation Map.
18-Year Groundwater Level Change
The result of 18 years of recharge and recovery of renewable water has been the recovery of groundwater levels in central Tucson of almost 63 feet and in southwestern Tucson of more than 88 feet.
These maps were updated and uploaded in September 2019. Recent groundwater levels can be queried directly from the Arizona Department of Water Resources Groundwater Site Inventory .
Have a question about area groundwater or groundwater maps? Send an e-mail to Tucson Water's Public Information / Conservation Office (PICO).
For more information, see the Arizona Department of Environmental Quality's Groundwater Open File Report and Groundwater Basin Fact Sheet for the Avra Valley Sub-Basin.


Your Goals
Our Mission
TBI Awareness Day At Ann Visger Elementary
Classes came down each hour and were split into rotating groups with each group focusing on a specific part of the brain. Kids participated in a variety of activities to help them learn which parts of the brain were responsible for skills like balance, vision, taste, smell, and touch. Special Tree also purchased 10 bicycle helmets as prizes for drawing held throughout the day. The students not only learned about brain anatomy, but the Special Tree Team really stressed the importance of TBI prevention including wearing a seat belt and bicycle helmet.
The Special Tree Team takes a quick break from a day of educational fun at Ann Visger Elementary


text:
Tank blanketing, also known as tank padding, is the injection of a gas into the open space of a liquid storage tank. It is to maintain a layer of gas above the liquid to prevent atmospheric gasses from entering the tank. Air in the tank contains oxygen, moisture, along with whatever else may be in the air. The type of gas used for blanketing is dependant on process, environmental constraints and available gas. Smaller tanks may be blanketed with nitrogen. Tanks used in the oil industry are blanketed with natural gas, when available.
Blanketing is used to remove Oxygen from the vapor space which will cause corrosion of the tank. Corrosion could lead to contamination of the process or failure of the tank. Additionally, by keeping an inert gas or natural gas blanket on the process conditions will not be right for combusion should there be a spark.
Tank padding works by setting an inlet valve to open when the tank vapor space drops below a preset pressure. This indicates that the tank level is dropping and a vacuum is forming. The valve will remain open until the set pressure is met at which point the valve will close. To capture gas that is displaced by rising fluid, a vapor recovery unit must be installed.


Signal Visualization and Measurements in MATLAB
This example shows how to visualize and measure signals in the time and frequency domain in MATLAB using a time scope and spectrum analyzer.
Signal Visualization in Time and Frequency Domains
Create a sine wave with a frequency of 100 Hz sampled at 1000 Hz. Generate five seconds of the 100 Hz sine wave with additive $N(0,0.0025)$ white noise in one-second intervals. Send the signal to a time scope and spectrum analyzer for display and measurement.
SampPerFrame = 1000;
Fs = 1000;
SW = dsp.SineWave('Frequency', 100, ...
 'SampleRate', Fs, 'SamplesPerFrame', SampPerFrame);
TS = dsp.TimeScope('SampleRate', Fs, 'TimeSpan', 0.1, ...
 'YLimits', [-2, 2], 'ShowGrid', true);
SA = dsp.SpectrumAnalyzer('SampleRate', Fs);
tic;
while toc < 5
 sigData = SW() + 0.05*randn(SampPerFrame,1);
 TS(sigData);
 SA(sigData);
end
Time-Domain Measurements
Using the time scope, you can make a number of signal measurements.
The following measurements are available:
 - Cursor Measurements - puts screen cursors on all scope displays.
 - Signal Statistics - displays maximum, minimum, peak-to-peak difference, mean, median, RMS values of a selected signal, and the times at which the maximum and minimum occur.
 - Bilevel Measurements - displays information about a selected signal's transitions, overshoots or undershoots, and cycles.
 - Peak Finder - displays maxima and the times at which they occur.
You can enable and disable these measurements from the time scope toolbar or from the Tools > Measurements menu.
To illustrate the use of measurements in the time scope, simulate an ECG signal. Use the ecg function to generate 2700 samples of the signal. Use a Savitzky-Golay filter to smooth the signal and periodically extend the data to obtain approximately 11 periods.
x = 3.5*ecg(2700).';
y = repmat(sgolayfilt(x,0,21),[1 13]);
sigData = y((1:30000) + round(2700*rand(1))).';
Display the signal in the time scope and use the Peak Finder, Cursor and Signal Statistics measurements. Assume a sample rate of 4 kHz.
TS_ECG = dsp.TimeScope('SampleRate', 4000, ...
 'TimeSpanSource', 'Auto', 'ShowGrid', true);
TS_ECG(sigData);
TS_ECG.YLimits = [-4, 4];
Peak Measurements
Enable Peak Measurements by clicking the corresponding toolbar icon or by clicking the Tools > Measurements > Peak Finder menu item. Click Settings in the Peak Finder panel to expand the Settings pane. Enter 10 for Max Num of Peaks and press Enter. The time scope displays in the Peaks pane a list of 10 peak amplitude values and the times at which they occur.
There is a constant time difference of 0.675 seconds between each heartbeat. Therefore, the heart rate of the ECG signal is given by the following equation:
$$\frac{60\,{\rm sec/min}}{0.675\,{\rm sec/beat}} =
88.89\,{\rm beats/min\,(bpm)}$$
Cursor Measurements
Enable Cursor Measurements by clicking the corresponding toolbar icon or by clicking the Tools > Measurements > Cursor Measurements menu item. The Cursor Measurements panel opens and displays two cursors in the time scope. You can drag the cursors and use them to measure the time between events in the waveform. In the following figure, cursors are used to measure the time interval between peaks in the ECG waveform. The $\Delta T$ measurement in the Cursor Measurements panel demonstrates that the time interval between the two peaks is 0.675 seconds corresponding to a heart rate of 1.482 Hz or 88.9 beats/min.
Signal Statistics and Bilevel Measurements
You can also select Signal Statistics and Bilevel Measurements from the Tools > Measurements menu. Signal Statistics can be used to determine the signal's minimum and maximum values as well as other metrics like the peak-to-peak, mean, median, and RMS values. Bilevel Measurements can be used to determine information about rising and falling transitions, transition aberrations, overshoot and undershoot information, pulse width, and duty cycle. To read more about these measurements, see the Time Scope Measurements tutorial example.
Frequency-Domain Measurements
This section explains how to make frequency domain measurements with the spectrum analyzer.
The spectrum analyzer provides the following measurements:
 - Cursor Measurements - places cursors on the spectrum display.
 - Peak Finder - displays maxima and the frequencies at which they occur.
 - Channel Measurements - displays occupied bandwidth and ACPR channel measurements.
 - Distortion Measurements - displays harmonic and intermodulation distortion measurements.
 - CCDF Measurements - displays complimentary cumulative distribution function measurements.
You can enable and disable these measurements from the spectrum analyzer toolbar or from the Tools > Measurements menu.
Distortion Measurements
To illustrate the use of measurements with the spectrum analyzer, create a 2.5 kHz sine wave sampled at 48 kHz with additive white Gaussian noise. Evaluate a high-order polynomial (9th degree) at each signal value to model non-linear distortion. Display the signal in a spectrum analyzer.
Fs = 48e3;
SW = dsp.SineWave('Frequency', 2500, ...
 'SampleRate', Fs, 'SamplesPerFrame', SampPerFrame);
SA_Distortion = dsp.SpectrumAnalyzer('SampleRate', Fs, ...
 'PlotAsTwoSidedSpectrum', false);
y = [1e-6 1e-9 1e-5 1e-9 1e-6 5e-8 0.5e-3 1e-6 1 3e-3];
tic;
while toc < 5
 x = SW() + 1e-8*randn(SampPerFrame,1);
 sigData = polyval(y, x);
 SA_Distortion(sigData);
end
clear SA_Distortion;
Enable the harmonic distortion measurements by clicking the corresponding icon in the toolbar or by clicking the Tools > Measurements > Distortion Measurements menu item. In the Distortion Measurements, change the value for Num. Harmonics to 9 and check the Label Harmonics checkbox. In the panel, you see the value of the fundamental close to 2500 Hz and 8 harmonics as well as their SNR, SINAD, THD and SFDR values, which are referenced with respect to the fundamental output power.
Peak Finder
You can track time-varying spectral components by using the Peak Finder measurement dialog. You can show and optionally label up to 100 peaks. You can invoke the Peak Finder dialog from the Tools > Measurements > Peak Finder menu item, or by clicking the corresponding icon in the toolbar.
To illustrate the use of Peak Finder, create a signal consisting of the sum of three sine waves with frequencies of 5, 15, and 25 kHz and amplitudes of 1, 0.1, and 0.01 respectively. The data is sampled at 100 kHz. Add $N(0,10^{-8})$ white Gaussian noise to the sum of sine waves and display the one-sided power spectrum in the spectrum analyzer.
Fs = 100e3;
SW1 = dsp.SineWave(1e0, 5e3, 0, 'SampleRate', Fs, 'SamplesPerFrame', SampPerFrame);
SW2 = dsp.SineWave(1e-1, 15e3, 0, 'SampleRate', Fs, 'SamplesPerFrame', SampPerFrame);
SW3 = dsp.SineWave(1e-2, 25e3, 0, 'SampleRate', Fs, 'SamplesPerFrame', SampPerFrame);
SA_Peak = dsp.SpectrumAnalyzer('SampleRate', Fs, 'PlotAsTwoSidedSpectrum', false);
tic;
while toc < 5
 sigData = SW1() + SW2() + SW3() + 1e-4*randn(SampPerFrame,1);
 SA_Peak(sigData);
end
clear SA_Peak;
Enable the Peak Finder to label the three sine wave frequencies. The frequency values and powers in dBm are displayed in the Peak Finder panel. You can increase or decrease the maximum number of peaks, specify a minimum peak distance, and change other settings from the Settings pane in the Peak Finder Measurement panel.
To learn more about the use of measurements with the spectrum analyzer, see the Spectrum Analyzer Measurements example.


text:
In order to read or download eBook, you need to create FREE account. eBook available in PDF, ePub, MOBI and Kindle versions
This book surveys matching theory, with an emphasis on connections with other areas of mathematics and on the role matching theory has played, and continues to play, in the development of some of these areas. Besides basic results on the existence of matchings and on the matching structure of graphs, the impact of matching theory is discussed by providing crucial special cases and nontrivial examples on matroid theory, algorithms, and polyhedral combinatorics. The new Appendix outlines how the theory and applications of matching theory have continued to develop since the book was first published in 1986, by launching (among other things) the Markov Chain Monte Carlo method.


Skip to main content
An inertial extrapolation method for multiple-set split feasibility problem
Abstract
In this paper, we propose an iterative algorithm with inertial extrapolation to approximate the solution of multiple-set split feasibility problem. Based on Lopez et al. (Inverse Probl. 28(8):085004, 2012), we have developed a self-adaptive technique to choose the stepsizes such that the implementation of our algorithm does not need any prior information about the operator norm. We then prove the strong convergence of a sequence generated by our algorithm. We also present numerical examples to illustrate that the acceleration of our algorithm is effective.
Introduction
Throughout the paper, unless otherwise stated, we assume \(H_{1}\) and \(H_{2}\) are two real Hilbert spaces, and \(A:H_{1}\rightarrow H_{2}\) is a bounded linear operator.
The split feasibility problem (SFP) is a problem of finding a point with a property
$$ \bar{x}\in C\quad \text{such that } A\bar{x}\in Q, $$
(1)
where C and Q are nonempty closed convex subsets of \(H_{1}\) and \(H_{2}\), respectively. The SFP was first introduced in 1994 by Censor and Elfving [2] for modeling inverse problems in finite-dimensional Hilbert spaces which arise from phase retrievals and in medical image reconstruction. Many projection methods have been developed for solving the SFP, see [37] and the references therein. The SFP has broad theoretical applications in many fields such as approximation theory [8], control [9], etc., and it plays an important role in the study of signal processing, image reconstruction, intensity-modulated radiation therapy, etc. [3, 4, 10, 11].
The original algorithm by Censor and Elfving [2] involves the computation of the inverse of A per each iteration assuming the existence of the inverse of A, and thus has not become popular. A seemingly more popular algorithm that solves the SFP is the CQ algorithm by Byrne [11] which is found to be a gradient-projection method (GPM) in convex minimization. It is also a special case of the proximal forward–backward splitting method [12]. The CQ algorithm starts with any \(x_{1}\in H_{1}\) and generates a sequence \(\{x_{n}\}\) through the iteration
$$ x_{n+1}=P_{C}\bigl(I-\gamma _{n} A^{*}(I-P_{Q})A\bigr)x_{n}, $$
where \(\gamma _{n}\in (0,\frac{2}{\|A\|^{2}})\) (where \(\|A\|^{2}\) is the the spectral radius of the operator \(A^{*}A\)), \(P_{C}\) and \(P_{Q}\) denote the metric projections of \(H_{1}\) and \(H_{2}\) onto C and Q, respectively, \(A^{*}\) denotes the adjoint operator of A, and I stands for the identity mapping in \(H_{1}\) and \(H_{2}\). Many of the SFP findings are continuation of the study on the CQ algorithm, see, for example, [3, 4, 1317]. An important advantage of the CQ algorithm by Byrne [11] and its continuation of studies is that computation of inverse of A (matrix inverses) is not necessary, but the implementation of the algorithm requires prior knowledge of the operator norm. However, operator norm is a global invariant and is often difficult to estimate, see, for example, a theorem of Hendrickx and Olshevsky in [18]. Moreover, the computation of a projection onto a closed convex subset is generally difficult. To overcome this difficulty, Fukushima [19] suggested a way to calculate the projection onto a level set of a convex function by computing a sequence of projections onto half-spaces containing the original level set. This idea is applied to solve SFPs in the finite-dimensional and infinite-dimensional Hilbert space setting by Yang [20] and Lopez et al. [1], respectively, and see more recent split type problems in this direction, for example, [21, 22] and the references therein. They considered SFPs in which the involved sets C and Q are given as sublevel sets of convex functions, i.e.,
$$ C=\bigl\{ x\in H_{1}:c(x)\leq 0\bigr\} \quad \text{and} \quad Q=\bigl\{ y\in H_{2}:q(y)\leq 0\bigr\} , $$
(2)
where \(c:H_{1}\rightarrow \mathbb{R}\) and \(q:H_{2}\rightarrow \mathbb{R}\) are convex and subdifferentiable functions on \(H_{1}\) and \(H_{2}\), respectively, and that ∂c and ∂q are bounded operators (i.e., bounded on bounded sets). Yang introduced a relaxed CQ algorithm
$$ x_{n+1}=P_{C_{n}}\bigl(x_{n}-\gamma _{n} A^{*}(I-P_{Q_{n}})A(x_{n})\bigr), $$
(3)
where \(\gamma _{n}=\gamma \in (0,\frac{2}{L})\), L denotes the largest eigenvalue of matrix \(A^{*}A\), for each \(n\in \mathbb{N}\) the set \(C_{n}\) is given by
$$ C_{n}=\bigl\{ x\in H_{1}:c(x_{n}) \leq \langle \xi _{n},x_{n}-x\rangle \bigr\} $$
(4)
for \(\xi _{n}\in \partial c(x_{n})\), and the set \(Q_{n}\) is given by
$$ Q_{n}=\bigl\{ y\in H_{2}:q(Ax_{n}) \leq \langle \varepsilon _{n},Ax_{n}-y \rangle \bigr\} $$
(5)
for \(\varepsilon _{n}\in \partial q(Ax_{n})\). Obviously, \(C_{n}\) and \(Q_{n}\) are half-spaces and \(C\subset C_{n}\) and \(Q\subset Q_{n}\) for every \(n\geq 1\). More important, since the projections onto \(C_{n}\) and \(Q_{n}\) have closed form, the relaxed CQ algorithm is now easily implemented. The specific form of the metric projections onto \(C_{n}\) and \(Q_{n}\) can be found in [23]. Moreover, Lopez et al. [1] introduced a new way of selecting the stepsizes for solving SFP (1) such that the information of operator norm is not necessary. To be precise, Lopez et al. [1] replaced the parameter \(\gamma _{n}\) which appeared in (3) by
$$ \gamma _{n}=\frac{\rho _{n}f(x_{n})}{ \Vert \nabla f(x_{n}) \Vert ^{2}}, \quad \forall n\geq 1, $$
where \(\rho _{n}\in (0,4)\), \(f(x_{n})=\frac{1}{2}\|(I-P_{Q_{n}})Ax_{n}\|^{2}\) and \(\nabla f(x_{n})=A^{*}(I-P_{Q_{n}})Ax_{n}\).
The most recent and prototypical split problem is presented by Censor et al. [24] and is called the split inverse problem (SIP) formulated as follows:
$$\begin{aligned}& \text{find a point } \bar{x}\in X \text{ that solves (IP1)} \


Sodom-apple plants.
While elephants ate an enormous amount of Solanum seeds, they also often destroyed the entire plant, ripping it out of the ground and stuffing the whole bush into their mouths. The model showed that to offset the damage an elephant wreaks on a plant, 80 percent of the seeds the animal eats would have to emerge from it unscathed. On top of that, each seed would have to be 10-times more likely to take root than one that simply fell to the ground from its parent.
Impalas, on the other hand, can have a positive overall effect on the plants, the researchers found. Impalas ate the majority of the fruit consumed — one impala ate 18 fruit in just a few minutes. But they do not severely damage the parent plant while feeding and also spread a lot of seeds in their dung. Of the seeds eaten by an impala, only 60 percent would need to survive, and those seeds would have to be a mere three-times more likely to sprout than a seed that simply fell from its parent.
"A model allows you to explore a space you're not fully able to reach experimentally," said Tarnita, who uses math to understand the outcome of interactions between organisms. "Once you've explored it, however, the conclusions and predictions need to be confronted with reality. This model helped us conclude that although it is theoretically possible for elephants to benefit the plant, that outcome is extremely unlikely."
Source: Princeton University
comments powered by Disqus


I have a 1976 Triumph Bonneville and recently replaced the garbage LED chips inside the eBay signal lights with brighter Cree LED chips. I bench tested the circuit shown below with a 12v bench supply and everything worked perfectly. I also tested it with the motorcycle battery with the same success. However, once I began installing the system and testing it on the motorbike as I went along, I've been burning out LED's (they only glow dimly when fried). I want to know what I am doing to be frying these things left right and center!
I will mention that the bike is positive ground. This means the LED lighting circuit cannot ground to the frame and must have it's own closed circuit directly to the battery. Occasionally when wiring I'll have the battery connected and one of these negative return wired will spark off the bike (potential culprit?). What do you guys think is killing the lights?
I've already come up with some potential solutions:
 1. Adding protection diodes in the reverse direction parallel to the led's (prevent reverse current)
 2. Make absolutely sure the wire attaching to the chips are insulated from the metal lamp housing.
 3. Add a tiny fuse to each leg of the circuit.
Here's the wiring diagram:signal lighting
Thank so much everyone!
 - Have you measured the voltage across and the current through the LEDs? – Ignacio Vazquez-Abrams Jul 26 '16 at 17:13
 - How about connecting the battery ground to the frame?. Quick Edit : Don't. – ammar.cma Jul 26 '16 at 17:15
 - What specific cree led did you use (link to data sheet and not some ebay site)? How many in parallel? – Andy aka Jul 26 '16 at 17:19
 - _USER_ _URL_-Components-and-Modules/Products/XLamp/… 2 per leg in parallel. – kyle_engineer Jul 26 '16 at 17:50
 - _USER_, how did you know? – dlu Jul 26 '16 at 18:01
Did you factor in the resistance supplied by the fuse? Fuses will add resistance (of some level or another) and smaller fuses (smaller conductors) will supply more resistance.
But, as noted in the comments, check the voltages at various points (before and after each element).
Also, where is the fuse on your diagram?
Yes. LEDs are generally very sensitive to voltage/amperage flux and shorting while doing wiring could definitely do that.
As a slightly less important point, why can't you draw the positive (+) from the frame and the negative (-) from the power circuits?
In addition, as dlu mentioned, you will be pulling more than 12VDC if you tap the battery directly, or are otherwise not going through a voltage regulator (VR)... So if you are doing a straight battery pull, you need a VR.
 - The resistance of the fuse should help, no? I'm thinking that it would increase the series resistance to the LEDs and reduce the likelihood of burning them out. – dlu Jul 26 '16 at 18:00
 - Not necessarily. I haven't done much work with LED in cars, but I have handled a TON for custom interior lighting applications. It's been my experience that LEDs only perform correctly under specific ranges, and that under powering them will also cause accelerated burn-out. – kyle_engineer Jul 26 '16 at 18:04
 - Interesting. Guess it would good to go looking and see if Cree has an application note. – dlu Jul 26 '16 at 18:06
 - From an LED physics point of view, underpowering can't shorten the life of the LED itself. However it coudl easily shorten the life of an LED module. When working with LEDs for automotive application, you shoudl calculate the resistance required based on the maximum charging voltage rounded up (so call it 15V). But even this doesn't protect against spikes, which maybe the issue. – Chris H Jul 27 '16 at 10:50
 - I think you're right about the voltage regulator. The problem I think is that I may have sparked while bench testing (killing 2 chips) and the other being that I ran the circuit with only one led connected. Speaking of which, if I did only power one led off the circuit, would I have a larger voltage being dropped across the led causing it to fail? – Pipi Pipongo Jul 27 '16 at 22:58
There are two things here that sound like possible culprits:
 1. When the bike is running the voltage seen by the LEDs will be the output of the alternator or generator, which will be around 14.2 V, depending on the LED you're using that might be enough to cause problems.
 2. The sparks. They are not a good thing. They imply that there was a sudden rush of current. Off hand I wouldn't expect much current to be drawn by the LEDs in their correct configuration, so I'm not sure if you would see a spark in normal circumstances (if the circuit had enough resistance to limit the current to the LED's spec).
It sounds like what you are trying to do it to upgrade the LEDs in an already working circuit. In that case it would be good to look at what you had and what you're doing with an eye to what is different. It would be good to understand why any changes were made – or at the very least to know what the changes are and be able to ask about them.
I'm curious about the positive ground. I can't see any theoretical problem with running a separate ground for the turn signals back to the battery, but it seems like it adds a complication and may lead to confusion down the road. Couldn't use modify the circuit to accommodate the positive return and do your switching on the negative side? It seems like that would avoid possible problems with the return path and the confusion of having two different wiring conventions on the bike.
Looking at the data sheet for the Cree XPG2 I see that reverse voltage spec is only 5 V. That makes me think that it would be pretty easy to fry one of these if you hook it up backwards even for a second. So be very careful of that, both as you work and in your circuit design.
 - If his 1976 has a similar alternator to the Lucas RM21 in my 1973 Norton he's probably not getting 14.2 Volts until 2 or 3000 rpm with the lights off and higher and higher with the lights on. – Eric Sep 18 '16 at 0:07
The calculations I have done show that you will only be driving 0.5 amp through the LEDs when the supply is at 14 volts, so you should be ok, since they can take 1.5 amps.
Touching the negative wire against the chassis will be shorting the battery, and so bypassing the LEDs, so they shouldn't be damaged.
The only thing I can think of is that you haven't got a sufficient heat sink. These LEDs rely on the surface that they are soldered to to keep them cool. Have they got sufficient cooling? If not they will quickly get hot and become damaged.
Possibly on the bench running off a battery at 12volts, the lower current will stop them getting hot enough to damage them.
 - The led chips are soldered to a small 20mm heat sink. I tried to design the circuit so that each would be dissipating about 1W. The other thing I realized is I turned the circuit on when there was only one LED connected. Because that single led would draw less current than 2 (normal turnsignal operation) or four (4 way on), I figured that you would have a much larger drop across the chip than the maximum 3-ish volts. I am only using resistors, not a voltage regulatorso when I change the number of led's connected, I change the forward voltage drop across them...right? – Pipi Pipongo Jul 27 '16 at 22:51
Could the diodes in the rectifier be leaking voltage in the reverse direction? I could see that causing your problem but the battery wouldn't charge very well. Do you have the original Lucas rectifier?
Your Answer


text:
30 October 2015
Graham Beaton. Alzheimer's: What to remember
Graham Beaton's lecture summary
Memory challenges, cognitive dementia and Alzheimer's disease are common problems amongst the elderly. These conditions can impact memory, language, reasoning and judgement. While there are many factors that contribute to the development of cognitive decline in the elderly, there are several steps that can be taken to reduce the risk of developing these conditions, and to reduce their impact on memory and mental functioning. My presentation will examine the contributing factors and steps that can be taken to mitigate their effects.
Graham Beaton's bio.
Graham Beaton earned an Honors Bachelor of Health Sciences from the University of Western Ontario, then completed his training as a Doctor of Naturopathic Medicine from the Canadian College of Naturopathic Medicine (CCNM). Upon graduating, Graham established the multidisciplinary Rosedale Natural Health Clinic in Toronto, where he was in private practice for 5 years. In addition to his private practice, Graham was a faculty member with the Canadian College of Naturopathic Medicine, mentoring and supervising 4th year Naturopathic students in their clinical internships at the Robert Schad Naturopathic Clinic and the Sherbourne Community People with HIV/AIDS clinic. Graham now practices in Ottawa.


📝 Feedback
Depressor Supercilli
The depressor supercilii muscle is a facial muscle which is located in the eye region. But, instead of being a separate muscle a lot of anatomical experts assume it to be a portion of the orbicularis oculi muscle.
The depressor supercilii arises:
 - From the medial orbital rim.
 - From the fascia covering the lower part of the nasal bone.
The depressor supercilii attaches into the skin inferior to the eyebrow and on the medial side of the bony orbit within the intercanthal zone.
The depressor supercilii mainly lowers of the eyebrow. Furthermore, it is assumed to help in moving the glabella, the skin superior to the nose and in the middle of the eyebrows.
The temporal branch of the facial nerve (CN VII) supplies the depressor supercilii.
Blood Supply
Mainly, divisions of the facial artery supply the depressor supercilii.
Rate this Article: 1 Star2 Stars3 Stars4 Stars5 Stars (53 votes, average: 4.81 out of 5)
Trusted By The World's Best


1. Join a video meeting.
4. If you present a Chrome tab, it shares that tab's audio by default.
5. To present a different tab, select the tab you want to present, click Share this tab instead.
6. Select Share.
7. If someone is presenting, confirm that you want to present instead.
8. If your camera is turned on, your video is active while you're presenting.


text:
The NYCI Skills Summary project is delighted to announce it has been awarded the Job Bridge Award 2020! Skills Summary is an innovative way for young people to explore the skills they gain through non-formal education, including volunteering, and identify areas that need development.
This is a two-part training. In the first part, we look at embedding inclusive practice in your youth work setting. The second part introduces the online tool Skills Summary that helps young people communicate the value of the skills they gain when participating in youth work to future employers.


text:
Sun is probably the first biggest, brightest and magnificent object observed by the mankind. With its prolific impact upon everything that stays in the planet, every motion and emotions are somehow related with sun. What could be as important as the mighty sun?
Without the warmth and brightness, this earth would just an ice coated ball underneath darkness. Sun sustains life and the festival of "Chhath" is how Nepal thanks Sun for its contribution.
Entire Nepal and India is observing the setting and rising sun and offering auspicious prayers and devotions to the sun, the festival is called Chhath. Chhath is the cultural manifestation of the importance of sun where a devotee offers his/her prayers to sun from underneath a river or pond. Since thousands of years, this festival has been advocating for the preservation of nature, natural resources and bio diversity.
"Chhath" is one of the biggest and important festival in eastern culture. As per the Yogic school of thought, the existence and sustainability of life depends upon the highly advanced energy and consciousness channels. Chhath is the process of undergoing through spiritual cosmic solar energy infusion to realize, assimilate and acknowledge the energy and consciousness. A devotee will not intake any solid or liquid foods, and he/she will entirely depend on the sunlight for the required energy for the body function. Everyone can take the fast of Chhath irrespective of gender, caste or other fragmentation. The reflection of rising and setting sun in the water source and the immaculately decorated praying avenues on the banks, Chhath communicates purity and compassion.
Chhath is something bigger to the orthodox religious pilgrimage, it's a way of life.For the harvest, clouds, warmth, energy, brightness, gravity, eclipse and every other things, Chhath is dedicated to the mighty sun. For the believers, Sun is a living source of energy whom they acknowledge through their own rituals.
Only during sunrise and sunset majority of humans can safely receive the solar energy. However, there may be some exceptions. This is why the festival Chhath Puja features a tradition of offering Chhath to the sun in late evening and early in the morning.
You can see the Chhath pictures in the given link Photo Nepal , This link redirects you to the digital platform "Photo Nepal", Photo Nepal is a digital window where you can have a brief glimpse of Nepal through photos.
Nepal observes Chhath with its prayers and wishes. The Chhath hymns apparently requests the sun to be equally kind for everyone. Chhath considers the whole planet as a single home and prays for the protection and prosperity of the entire globe and galaxy.
Happy Chhath Pooja


LED Office Lighting: the Best Color Temperature to Increase Productivity
Dec 20th 2018
For a while now people have wanted to know more about the positive effects of LED lighting. Many studies have been conducted to find out how much LED lighting impacts the productivity and alertness of people at work and in school. Studies have even been performed on soldiers in the US Army to see how different lighting affects their productivity—soldiers show slower response times on cognitive tasks measuring spatial and verbal memory with fluorescent lighting instead of LED lighting.
superior lighting round led light
In this article, we're going to tell you all about color temperature and how it can positively affect the productivity of people while they're at work. We're also going to tell you what specific color temperatures are the best options for offices. Here we go!
First Things First: What's Color Temperature?
Easily stated, color temperature is measured in degrees Kelvin (K).
The color temperature describes how the light appears when the human eye looks directly at the illuminated bulb.Bulbs with color temperatures of approximately 2700K appear yellowish white. As the color temperature increases to 3000K and 3500K, the color starts to appear less yellow and whiter. Color temperatures above 5000K appear more bluish white.
superior lighting hanging panel led light
Daylight Is Ideal
Here's the thing, the best type of lighting that an office can have for optimized productivity is good old natural daylight.Unfortunately, there aren't many offices, or any, that have constant access to natural daylight. Therefore, the next best solution is to mimic natural daylight with artificial light. The color temperature of daylight is typically between 5000K and 7000K. The daylight color temperature at noon is 5600K and sunlight color temperature varies depending on the time of day and weather conditions.
To give the perception of daylight, Superior Lighting suggests offices use light sources with color temperatures of 5000K or higher.
As you might imagine, the amount of blue light in the spectrum of light sources increases with increasing color temperature. Higher color temperatures have a greater impact on mental activity, alertness, and the central nervous system.
How LED Lighting Affects Us
Bright white light that mimics daylight can improve performance for people at work. In addition to aiding people visually and helping them complete tasks that are otherwise impossible to complete without artificial light, the brightness and wavelength of ambient light can also impact the human circadian system, biological clock, mood, and alertness.
Researchers have found that exposure to short wavelength or blue light during the day directly improves alertness and performance. Blue-enriched white light stimulates the brain,improves alertness, performance, and sleep quality. The intensity and color temperature of artificial lighting affects physiological processes in the human body, including: blood pressure, heart rate variability, and core temperature.
Is Fluorescent Lighting Bad for Office Workers?
superior lighting fluorescent sleep disruption
For many years, fluorescent lighting has been the go-to solution for office spaces all across the world. Previous to that, the only option was incandescent lighting. When fluorescent lighting came along, offices where quick to adopt as it was a significantly cheaper option.
There have been many scary stories about fluorescent lighting, as when it was introduced there had been term studies about the implications. Rumors began to circulate that fluorescent lighting induced migraines, and that it caused sleep-pattern disruption. There were even rumors that it caused cancer. Let's address these three rumors.
 - Fluorescent lighting causes migraines. While it has been proven that fluorescent lighting does not cause migraines, it can make people who do suffer from migraines feel worse at times. People with migraines are very sensitive to light, and bright lights such as fluorescent lighting can turn a mild headache into a full-blown migraine.
 - Fluorescent lighting causes sleep-pattern disruption. Normally, people who work in offices work during the day then leave work before evening and have some time before they go to bed. For such people, fluorescent lighting will have no effect on their sleep patterns, as the negative effect that fluorescent lighting has on the production of melatonin – which is a natural chemical we produce that helps us sleep – will have diminished by the time bed time arrives.
However, people who work in the evenings under fluorescent lights then go straight to bed may have difficulty sleeping, due to their lack of melatonin. Additionally, some studies have shown that florescent lighting can make people tired and sleepy during the day.
 - Fluorescent lighting causes cancer. This rumor came about because it was found that fluorescent lights emitted radiation. Studies have shown that the amount of radiation (around the same amount as cellphones emit) given by such lights is nowhere near enough to cause cancer.
Is LED Lighting Better than Fluorescent Lighting?
led lighting better for office workers
LED lighting is definitely better for businesses as it is more energy-efficient, the bulbs last a great deal longer and the lights can be dimmed as required so they use much less energy. But is LED lighting better for people working in offices?
You have to remember that overhead lighting is not the only source of light that office workers are subjected to.Some offices do actually have windows, plus there are computer monitors, laptops, cellphones, televisions … office work can be a bombardment of light at times.
Anything that helps sap a person's morale will result in them producing less-than-perfect work, and will leave them feeling tired and jaded. For the many reasons outlined above, choosing LED over fluorescent lighting will help make your office environment a more pleasing place to work.
It could be considered a no-brainer –making the switch from fluorescent to LED lighting is one of the best things you can do for your business, and one of the best things you can do for the people who work for you.
>>> Purchase LED Office Lighting
It can't be denied that natural and artificial light affects peoples' health. Purchase LED office lighting for your office location today. Find the perfect lighting style, wattage, and customization options you need with Superior Lighting today. Visit our website to view our entire selection of LED light fixtures. Reach out to our knowledgeable team with any questions or comments by filling out our online contact form.
Quality Lights at a Great Price


text:
The interfacial phenomena of wettability, adhesion, mass transfer, and phase behavior due to miscible hydrocarbon gas injection have been studied by the use of the sessile drop contact angle technique, qualitative adhesion tests, and visual phase behavior observations under reservoir conditions. This experimental study has been conducted using crude oils from three Canadian reservoirs, pure mineral crystals of quartz, calcite and dolomite to represent the reservoir rock, and ethane for the hydrocarbon solvent.
While one of the three reservoir crude oils, namely that of Beaverhill Lake, showed significant changes in contact angles upon miscible gas addition, the others did not. The changes observed in the Beaverhill Lake system constituted and shift from water-wet to intermediately-wet behavior. However, phase behavior effects such as solids separation and settling within the crude oil drop due to solvent injection were common to all three reservoir systems studied. This indicated that the observed phase behavior changes were not reflected by the contact angle measurements.
Qualitative tests for adhesion at the crude oil/mineral crystal interface were also conducted under reservoir conditions. In contrast to the response of contact angles, the adhesion behavior was affected both by the aging time of the interface and by the injection of a misciblegas. These experiments demonstrated the insensitively of the contact angles to the phenomenon of adhesion at the oil/crystal interface. The adhesion tests further demonstrated that an oil drop could adhere to the crystal surface even after the heavy ends (like asphaltenes) had precipitated within the oil drop away from the interface. This indicated that the heavy ends may not be solely responsible for the interfacial adhesion effects. Furthermore, it was observed that the solvent-mixed oil drop, when moved to a new spot on the crystal surface, could redevelop the adhesive bond with the solid surface.
This study brings forth the importance of including interfacial phenomena, which affect the reservoir flow characteristics, as an integral part of designing miscible gas floods.
Substantial commercial interest lies in enhanced oil recovery by hydrocarbon flooding. In order to obtain maximum benefits, it is essential to understand the various physico-chemical effects that could result from injecting the hydrocarbon solvent into an oil bearing formation. These effects could include phase behavior changes in the crude oil (such as wax agglomeration and asphaltene deposition) due to the addition of light hydrocarbons and changes in the rockfluids interactions at the oil/brine/rock three-phase interface. Such changes within the bulk of the reservoir crude and at the interface could alter the rock wettability and also the flow behavior of oil and water in the porous medium.
Some of the important considerations to be made in the design and performance prediction of a miscible flood are adequate reservoir description, miscible sweepout, displacement efficiency, and injectivity. Changes in reservoir wettability and relative permeability during gas flooding (for example, due to permeability during gas flooding (for example, due to deposition and adsorption of heavy ends) would affect some of the above design factors, and would have to be taken into account for a reliable design and realistic prediction of performance and overall process prediction of performance and overall process economics.


text:
carry out consultation represents a further advance in expanding decision-making powers to local communities and social movements.
It may also prove an important step in broadening the necessary debate on how to flesh out the constitution's provisions on indigenous autonomy and land reform.
This entails dealing with complex issues, such as how best to tackle poverty and develop Bolivia's economy while protecting the environment and the rights of indigenous communities.


text:
Definition of pyrotechnics
n. - The art of making fireworks; the manufacture and use of fireworks; pyrotechny. 2
The word "pyrotechnics" uses 12 letters: C C E H I N O P R S T Y.
Direct anagrams of pyrotechnics:
Adding one letter to pyrotechnics does not form any other word in this word list.Words within pyrotechnics not shown as it has more than seven letters.
All words formed from pyrotechnics by changing one letter
Browse words starting with pyrotechnics by next letter


Cat Facts, Cat Health, Guest Blogs
When Do Cats Stop Growing? Cat Growth Chart
Author bio: This post was submitted by George Vezilic, a freelance content writer and photographer. As a passionate cat lover, he owns and runs a blog for cats at where he writes about the most interesting topics related to cat health, behavior, and different cat breeds.
Photo by Pixabay from Pexels
Every period of our cats' lives brings with it different positive and negative aspects. For instance, we all love when they are sweet little kittens who are exploring the world and look at us with their curious little eyes. But, often we can't wait for them to grow up and become loafing older cats that mostly want to cuddle with us or take naps. This usually happens when we are tired of their constant games where they are simply acting like teenagers. In these times, it's not rare that we ask ourselves when do cats stop growing? When do they reach adulthood?
The simple answer to this question is that the growth of every cat is different, but there are certain growth stages. Often due to the different characteristics that each cat breed holds, you can't determine the age of the cat. Maine Coon cats, for instance, are big cats, and compared to Munchkin cats they may seem older even if both are at the same age.
Cats' Stages of Life / Cat Growth Chart
In general, there are five stages of a cat's life. Before we take a closer look at them, it's important to point out that cats don't grow in the same consistency in each stage. In other words, when they are younger they grow faster, and as time goes by they grow slower.
Here are the main stages of their life cycle:
 1. Kittens (newborn – 6 months old). This is the stage where cats grow the fastest. Kittens spend their time with their mother learning how to walk, eat, play, and by the age of six months they already have adult teeth. In the period between 3 and 6 months, their facial features become more prominent and they are very active and playful.
 2. Junior cats (6 months to 2 years). After they reach six months, kittens' growth is slower and by 12 months, the kitten is considered to be fully grown. Still, there is some difference between cat breeds. Some of them reach adulthood in 1 year, but for others, it takes longer, up to 2 years. In this period, cats are adolescents and may be rebellious and they reach their sexual maturity. Usually, this is the period when they should be spayed or neutered.
 3. Young adults (2 years to 6 years). The third stage of a cat's life is the prime of their life. Usually, cats stop growing at this stage or grow very slowly. They are adults now and will enjoy sleeping, hunting their prey and eating treats, and grooming themselves.
 4. Mature adults (6 years to 10 years). This is the time when cats stop being very active and enjoy their naps more than they used to. They are fully matured and more laid back. In this period, they may start experiencing health issues and gain weight.
 5. Senior cats (10 years to 14 years). The last stage of the cat's life is after their 10th year of life when they start to have more serious health problems. It is also known as the geriatric stage when cats lose weight, hair, or get other diseases as a result of their age.
Factors That Influence Cat Growth
Besides these general stages of life in cats, there are some other factors that need to be considered which influence their growth. So, if you are wondering how big your cat will become or when will it stop growing have these factors in mind:
 - Cat breed – One of the main factors in a cat's growth is their breed. For instance, larger cat breeds grow slower, while smaller cat breeds grow faster.
 - Spayed or neutered cat – the earlier your cat is spayed or neutered the faster it will grow. Some studies pointed out the fact that spaying and neutering affect a cat's metabolic rate and it may affect their growth.
 - Gender male cats grow slower than female cats, but they may grow much larger.
 - Diet and nutrition – A balanced and nutritional diet leads to the proper growth of your cat. It is important to pay attention to the vet's advice on how to feed your cat and provide a diet appropriate to their age.
 - Genetics – Some genetic factors play an important role in the growth of your cat. For example, cats can have dwarfism or bone abnormalities which are usually caused by genetics.
Conclusion – When Do Cats Stop Growing?
Finally, we must understand that the first year of every cat's life is crucial for their proper growth. This is the time when kittens grow the most and reach their full growth in their first or second year of life. Most cats should reach their full size by the end of their junior cat life stage. Bottom line is that you have to take care of your cat: make regular vet check-ups, keep a well-balanced and healthy diet, and give them lots of exercise and playtime. In that way, cats can grow properly and have fewer chances of getting some diseases.


text:
Release:2016, Vol. 2. №1
About the authors:Galina I. Moreva, Cand. Sci. (Psych.), Associate Professor, Department of General and Social Psychology Institute of Psychology and Pedagogy, Tyumen State University; _EMAIL_
Abstract:Nowadays it is possible to observe the contradictory phenomena, when the activity of young electors goes down during the elections, young people demonstrate a mistrust to the political structures, and the amount of the young people involved in the political organizations activity still remains at a low level. Apart from that one can see a high enough level of the public's destructive activity, including protesting, as in the street protest acts, which easily turn into calls for mutiny and power takeover, as it on the Bolotnaya Square in 2012. The article presents an attempt to study the features of young of different political activity.


Amazon Elastic MapReduce
Developer Guide (API Version 2009-03-31)
« PreviousNext »
View the PDF for this guide.Go to the AWS Discussion Forum for this product.Go to the Kindle Store to download this guide in Kindle format.Did this page help you? Yes | No | Tell us about it...
Change the Number of Spot Instances in a Cluster
With some restrictions, you can modify the number of Spot Instances in a cluster. For example, because the master instance group contains only one instance, you cannot modify the master group's instance count whether or not the instance group is using a Spot Instance.
If you are running a cluster that contains only a master node, you cannot add instance groups or instances to that cluster. A cluster must have one or more core instances for you to be able to add or modify instance groups.
You can only define an instance group using Spot Instances when it is created. For example, if you launch the core instance group using on-demand instances, you cannot change them to Spot Instances later.
The following examples show how to change the number of Spot Instances in an instance group using the console, CLI, SDK, and API.
Change the Number of Spot Instances Using the Amazon EMR Console
If you launch a cluster using Spot Instances for one or more instance groups, you can change the number of requested Spot Instances for those groups using the Amazon EMR console. Note that you can only increase the number of core instances in your cluster while you can increase or decrease the number of task instances. Setting the number of task instances to zero removes all Spot Instances for that instance group.
To change the number of Spot Instances in an instance group using the console
 1. In the Amazon EMR console, on the Cluster List page, click the link for your cluster.
 2. Click Resize.
 3. In the Resize Cluster dialog, in the Count column, click the Resize link for the instance groups to which you wish to add Spot Instances.
 4. To add core or task instances, type a higher number in the Count column and click the check mark to confirm the change. To reduce the number of task instances, type a lower number in the Count column and click the check mark to confirm the change. After changing the instance count, click Close.
 Resizing spot instance groups in the console
 Note
 You cannot change the bid price when adding or removing Spot Instances from instance groups using the console. Also note, changing the instance count of the task group to 0 removes all Spot Instances but not the instance group.
Change the Number of Spot Instances Using the AWS CLI or Amazon EMR CLI
Using the AWS CLI, you can: increase the number of Spot Instances in the core instance group, increase or decrease the number of Spot Instances in the task instance group, add a task instance group containing Spot Instances, or terminate a Spot Instance in the core instance group.
Using the Amazon EMR CLI, you can: increase the number of Spot Instances in the core instance group, increase or decrease the number of Spot Instances in the task instance group, or add a task instance group containing Spot Instances.
To change the number of Spot Instances for instance groups using the AWS CLI
 - You can add Spot Instances to the core group or task group, and you can remove instances from the task group using the AWS CLI modify-instance-groups subcommand with the InstanceCount parameter:
 aws emr modify-instance-groups --instance-groups InstanceGroupId=string,InstanceCount=integer
 To add instances to the core or task groups, increase the InstanceCount. To reduce the number of instances in the task group, decrease the InstanceCount. Changing the instance count of the task group to 0 removes all Spot Instances but not the instance group. For example, to increase the number of Spot Instances in the task instance group from 3 to 4, type:
 aws emr modify-instance-groups --instance-groups InstanceGroupId=ig-31JXXXXXXBTO,InstanceCount=4
 To retrieve the InstanceGroupId, use the describe-cluster subcommand. The output is a JSON object called Cluster that contains the ID of each instance group. To use this command, you need the cluster ID (which you can retrieve using the aws emr list-clusters command or the console):
 aws emr describe-cluster --cluster-id string
 You can also pipe the JSON object to a program like grep or jq. To retrieve a cluster's instance group name and ID using jq on Unix-based systems, type the following:
 aws emr describe-cluster --cluster-id string | jq ".Cluster.InstanceGroups[] | {name,Id}"
For more information on using Amazon EMR commands in the AWS CLI, see _URL_
To add a task instance group with Spot Instances to a cluster using the AWS CLI
 - Using the AWS CLI, you can add a task instance group of Spot Instances to a cluster with the --add-instance-groups subcommand:
 aws emr add-instance-groups --cluster-id string --instance-groups InstanceCount=integer,BidPrice=string,InstanceGroupType=string,InstanceType=string
 For example:
 aws emr add-instance-groups --cluster-id j-JXBXXXXXX37R --instance-groups InstanceCount=6,BidPrice=.25,InstanceGroupType=task,InstanceType=m1.large
 Note
 You cannot add a task instance group to a cluster if the cluster was created with a task group, even if the instance count for the group is 0.
 For more information on using Amazon EMR commands in the AWS CLI, see _URL_
To terminate a Spot Instance in the core instance group using the AWS CLI
 - Using the AWS CLI, you can terminate a Spot Instance in the core instance group with the --modify-instance-groups subcommand. This should be done with caution. Terminating an instance in the core instance group risks data loss, and the instance is not automatically replaced. To terminate a specific instance you need the instance group ID (returned by the aws emr describe-cluster --cluster-id command) and the instance ID (returned by the aws emr list-instances --cluster-id command):
 aws emr modify-instance-groups --instance-groups InstanceGroupId=string,EC2InstanceIdsToTerminate=string
 For example:
 aws emr modify-instance-groups --instance-groups InstanceGroupId=ig-6RXXXXXX07SA,EC2InstanceIdsToTerminate=i-f9XXXXf2
 For more information on using Amazon EMR commands in the AWS CLI, see _URL_
To add a task instance group with Spot Instances to a cluster using the Amazon EMR CLI
Note
The Amazon EMR CLI is no longer under feature development. Customers are encouraged to use the Amazon EMR commands in the AWS CLI instead.
 - You can use --add-instance-group to add a task instance group of Spot Instances to a running cluster. In the directory where you installed the Amazon EMR CLI, type the following command. For more information, see the Command Line Interface Reference for Amazon EMR.
 - Linux, UNIX, and Mac OS X users:
 ./elastic-mapreduce --jobflow JobFlowId \
 --add-instance-group task --instance-type m1.small \
 --instance-count 5 --bid-price 0.05
 - Windows users:
 ruby elastic-mapreduce --jobflow JobFlowId --add-instance-group task --instance-type m1.small --instance-count 5 --bid-price 0.05
To change the number of Spot Instances in instance groups using the Amazon EMR CLI
Note
The Amazon EMR CLI is no longer under feature development. Customers are encouraged to use the Amazon EMR commands in the AWS CLI instead.
 - You can change the number of requested Spot Instances in a cluster using the --modify-instance-group and --instance-count commands. Note that you can only increase the number of core instances in your cluster while you can increase or decrease the number of task instances. Setting the number of task instances to zero removes all Spot Instances (but not the instance group). In the directory where you installed the Amazon EMR CLI, type the following command to increase the number of requested Spot Instances for the task instance group from 4 to 5. For more information, see the Command Line Interface Reference for Amazon EMR.
 - Linux, UNIX, and Mac OS X users:
 ./elastic-mapreduce --jobflow JobFlowId \
 --modify-instance-group task --instance-count 5
 - Windows users:
 ruby elastic-mapreduce --jobflow JobFlowId --modify-instance-group task --instance-count 5
Add Spot Instances to Instance Groups Using the Java SDK
To add Spot Instances to a cluster using the Java SDK
 - To specify that an instance group should be launched as Spot Instances, set the withBidPrice and withMarket properties on the InstanceGroupConfig object that you instantiate for the instance group. The following code creates a task instance group of type m1.large with an instance count of 10. It specifies $0.35 as the maximum bid price,


]\) is finite since both moments \(\mathbb {E}[|X_{p}|^{n}]~=~\infty \) and \(\mathbb {E}[|X_{2}|^{n}]=\infty \). The result in Proposition 13 is interesting because it states that \(\mathbb {E}[V_{G,p}^{n}]\) is finite even if absolute moments of Xp and X2 are infinite. The result in Proposition 13 plays an important role in deriving non-Shannon type bounds in problems of communicating over channels with GG noise; see (Dytso et al. 2017b) for further details.
Additive decomposition of a GG random variable
In this section we are interested in determining whether a GG random variable \(X_{q}~\sim ~\mathcal {N}_{q}(0,\alpha ^{q})\) can be decomposed into a sum of two or more independent random variables.
6.1 Infinite divisibility of the characteristic function
Definition 7
A characteristic function ϕ(t) is said to be infinitely divisible if for every \(n \in \mathbb {N}\) there exists a characteristic function ϕn(t) such that
$$ \phi(t)= \left(\phi_{n}(t) \right)^{n}. $$
(50)
Similarly to stable distributions, we use infinitely divisible distribution, infinitely divisible random variable, and infinitely divisible characteristic function interchangeably.
Next we summarize properties of infinitely divisible distributions needed for our purposes.
Theorem 4
(Properties of Infinitely Divisible Distributions.) An infinitely divisible distribution satisfies the following properties:
 1. 1
 ((Lukacs 1970, Theorem 5.3.1).) An infinitely divisible characteristic function has no real zeros;
 2. 2
 ((van Harn and Steutel 2003, Theorem 10.1).) A symmetric distribution that has a completely monotone pdf on (0,) is infinitely divisible;
 3. 3
 (Lévy-Khinchine canonical representation (Lukacs 1970, Theorem 5.5.1).) The function ϕ(t) is an infinitely divisible characteristic function if and only if it can be written as
 $$ \log \left(\phi(t) \right)= ita + \int_{-\infty}^{\infty} \left(\mathrm{e}^{itx}-1 -\frac{itx}{1+x^{2}} \right) \frac{1+x^{2}}{x^{2}}d\theta(x), $$
 (51)
 where a is real and where θ(x) is a non-decreasing and bounded function such that \({\lim }_{x \to -\infty } \theta (x)=0\). The function dθ(x) is called the Lévy measure. The integrand is defined for x=0 by continuity to be equal to \(-\frac {t^{2}}{2}\). The representation in (51) is unique; and
 4. 4
 ((van Harn and Steutel 2003, Corollary 9.9).) A non-degenerate infinitely divisible random variable X has a Gaussian distribution if and only if it satisfies
 $$ \limsup_{x \rightarrow \infty} \frac{- \log \mathbb{P}[ |X| \ge x] }{x \, \log (x)}=\infty. $$
 (52)
In general, the Lévy measure dθ is not a probability measure and hence the distribution function θ(x) is not bounded by one.
We use Theorem 4 to give a complete characterization of the infinite divisibility property of the GG distribution.
Theorem 5
A characteristic function ϕp(t) is infinitely divisible if and only if p (0,1] {2}.
Proof
For the regime p(0,1] in Corollary 2 it has been shown that the pdf is completely monotone on (0,). Therefore, by property 2) in Theorem 4 it follows that ϕp(t) is infinitely divisible for p(0,1].
Next observe that
$$\begin{array}{*{20}l} \limsup_{x \rightarrow \infty} \frac{-\log \mathbb{P}[ |X| \ge x] }{x \, \log (x)}& \stackrel{a)}{=} \limsup_{x \to \infty} \frac{- \log \left(\frac{\Gamma\left(\frac{1}{p}, \frac{x^{p}}{2} \right)}{\Gamma(\frac{1}{p})}\right) }{x \, \log(x)} \notag\\ & \stackrel{b)}{=}\limsup_{x \rightarrow \infty} \frac{- \log \left(x^{\frac{1}{p}-1} \mathrm{e}^{-\frac{x^{p}}{2}} \right) }{x \, \log(x)} \notag\\ &=\limsup_{x \rightarrow \infty} \frac{x^{p}}{2x \,\log(x)} =\left\{ \begin{array}{ll} 0 & p \le 1,\\ \infty & p>1, \end{array} \right. \end{array} $$
(53)
where the equalities follow from: a) the expression for the CDF in (16); and b) using the limit \({\lim }_{x \to \infty } \frac {\Gamma (s,x)}{x^{s-1} \mathrm {e}^{-x} }=1\) (Olver 1991).
From the limit in (53) and since the distribution is Gaussian only for p=2 we have from property 4) in Theorem 4 that ϕp(t) is not infinitely divisible for p≥1 unless p=2.
Another proof that ϕp(t) is not infinitely divisible for p>2 follows from Theorem 3 since ϕp(t) has at least one zero, which violates property 1) of Theorem 4. This concludes the proof. □
Next, we show that the Lévy measure in the canonical representation in (51) is an absolutely continuous measure. This also allows us to give a new representation of ϕp(t) for p(0,1] where it is infinitely divisible.
Proposition 14
For p(0,1], the Lévy measure is absolutely continuous with density fθ(x) and ϕp(t) can be expressed as follows:
$$ \phi_{p}(t)= \mathrm{e}^{-\int_{-\infty}^{\infty} \left(1-\cos(tx) \right) \frac{1+x^{2}}{x^{2}} f_{\theta}(x) dx}. $$
(54a)
Moreover, for x≠0
$$ \left(1+x^{2}\right) f_{\theta}(x)=- \frac{x}{\pi} \int_{0}^{\infty} \left(\log \phi_{p}(t) \right)^{\prime} \sin(tx) dt. $$
(54b)
Proof
See Appendix J. □
Remark 5
For the Laplace distribution with \(\phi _{1}(t)= \frac {1}{1+4t^{2}}\), the density fθ(x) can be computed by using (54b) and is given by
$$ \left(1+x^{2}\right) f_{\theta}(x)=|x| \mathrm{e}^{-\frac{|x|}{2}}, $$
(55a)
and the exponent in the Lévy-Khinchine representation is given by
$$ \int_{-\infty}^{\infty} (1-\cos(tx)) \frac{1+x^{2}}{x^{2}} f_{\theta}(x) dx =\log \left(1 +4 t^{2} \right). $$
(55b)
6.2 Self-decomposability of


Dilly's Delights Irish Sea Moss is attained from the North Coast of Jamaica, from depths 15ft or greater by our divers. Our Irish Sea Moss is 100% authentic, raw, ocean grown and sourced.
Jamaican Cerasee Leaf Tea
SKU 00009
In stock
Product Details
Made from the leaves and stems of the Bitter Melon (Bitter Gourd) plant, Cerasse is used throughout Jamaica and the Caribbean as a potent blood purifier. Apart from its ability to cleanse drug related toxins from the body, Cerasee is known to lower blood sugar, blood pressure, aid digestive issues and kill parasites or worms.
Though native to Africa, the Middle East and Caribbean, Cerasee can now be found all over the world. The Bitter Melon fruit it produces is incorporated into many Indian and Chinese dishes. It doesn't stop there, the fruit extract is a potent herbal remedy used to lower blood pressure and sugar. If you're interested in learning more about the fruit benefits, click here.
Like the fruit it produces, the Cerasee plant has a very bitter taste. The tea is usually prepared from both leaves and stems. It can be sweetened with both honey and cinnamon--this adds flavor while maintaining the amazing therapeutic benefits which we get more into below.
Cerasee Benefits
Rich in Vitamins A, C, iron and phosphorous, Cerasee excels in detoxing the body. However, its many therapeutic benefits originate from its rich antioxidant and polyphenol content.
Lower Cholesterol
Rich in catechin (a flavonol), the same powerful antioxidant found in green tea, Cerasee has the ability to fight inflammation, lower Cholesterol and protect the heart.
Lower Blood Sugar and Pressure
Although tea made from the Bitter Melon fruit is filled with antioxidants, researchers have found tea made from the Cerasee plant (leaves and stems) have a higher concentration of gallic acid. This polyphenol possesses powerful hypoglycemic and anti-hypertensive properties.
Kill Parasites and Worms
Cerasee's anti-microbial properties have long been used to kill worms and parasite in the body. In addition, it laxative effects also help to expel them.
Relieve constipation, upset stomach and aid digestion
That pizza you had earlier isn't sitting too well in your stomach? No worries, brew a cup of cerasee tea, it's a go to for Caribbean moms. It's bitter characteristics stimulate bile production that helps to break down food and expel bloating.
Flush Drug related toxins from the body
Cerasee is a long time remedy used to flush residual medication and drug related toxins like THC out of the blood. If used continuously over a short period of time, its potent diuretic properties can dehydrate the body.
Treat Skin Rash and Eczema
In the Caribbean, Cerasee is sometimes combined with other herbs to make a "bush" bath that is used to alleviate skin conditions like eczema, rash or ring worms (fungal infections)
Treat Menstrual Cramps
Cerasee Tea is great for women experiencing menstrual cramps. It helps to alleviate pain and cramps.
Save this product for later
 - Grey Facebook Icon
 - Grey Instagram Icon


text:
More and more research is coming out in recent years tending to show that the subset of humanity who are violent repeat offenders may have genetic tendencies. It has long been known that the vast majority of violent crime is committed by this subset of repeat offenders.
a recent article about this research has found that there may be a genetic link to violent crime.
Are thugs BORN, not made? Genes associated with violent behaviour identified
- Experts at the Karolinska Institute in Sweden say the majority of violent crime is committed by a small group of anti-social, repeat offenders
- They have identified two genes that may be associated with extremely violent behaviour, leading them to suggest that violent criminals are born
- One of the genes is a variant of cadherin 13 (CDH13) – involved in neural connectivity – and has been linked to impulse control in violent offenders