text:
… excerpted from Ryukyu Survey 1960 ~51~ By Naioichi Kokubu and Erika Kaneko
Sanai-Isoba. In local tradition the key figure is the female chieftain Sanai-Isoba.
Ikema and Arazato (1957:46) explain the name as a combination of the given female name Isoba with the place-name Sanai which in turn denotes the place of the gajumaru' (ficus retusa, small-leafed banyan).
Sanai-Isoba is a female of superhuman stature and strength; she performed astonishing feats and taught the islanders agriculture and improved ways of life. She also established her four brothers as village heads of Donanbaru, Dateg, Dannu, and Tebaru. She is said to have gone abroad t oishigaki and Iriomote, thereby initiating a cultural pattern, whereby the less advanced ust learn from their superiors, viz. the Okinawans from the Chinese, the Miyakoans from the Okinowans and so forth, isolated, marginal Yonaguni was the lowest rung on the ladder.
Is Sanai-Isoba a historical person and if so when did she live? Every Yonaguni child can point out the field 'where her house once stood' and knows the location of her grave where under a large tree village trials were held until quite recently Sannai Isoba is worshipped in a ritual which takes place once a ear. The high ranking Chimafuka family consider her their ancestor and until a generation ago reckoned from her its matrilineal descent.
All Yonagunian ships call at a place called Ohatake at Sonai village, suggesting an ancestral place of worship, on Iriomote island.
Around 1700, Keraikedagusuku family were sent by the central government to the island of Yonaguni to rule, and they were called Master of Yonaguni (confirmed by the genealogy of the family. Lord of Iriomote
Yonaguni history is shrouded in complete mystery. Neither local traditions, nor outside sources provide reliable data for a reconstruction. Official written sources like the court gazette of the 'Shuri ofu' (AD 1707) offer no detailed information on the outlying Yayeyama islands, let alone isolated Yonaguni. The Yaeyama to yurai ki and other locally compiled documents , originally in 7 volumes, was lost in the tidal wave of AD 1771; and it was subsequenty reconstructed by order of the officials Miyara, Ishigaki and Ohama.
Is Sanai-Isoba a historical person and if so when did she live? Every Yonaguni child can point out the field 'where her house once stood' and knows the location of her grave where under a large tree village trials were held until quite recently.
Sannai Isoba is worshiped in a ritual which takes place once a year. The high ranking Chimafuka family consider her their ancestor and until a generation ago reckoned from her its matrilineal descent."
Note: Details from the story check out with written histories from the Shuri court in Ryukyu or Okinawa, and put Sanai-Isoba's rule at 1500 AD, but the extent of her powers are seriously questioned, given that Yonaguni and Yaeyama were recorded to have been taken in an invasion by Nakayama Kanemaru who conquered Lord Oyake Akahachi in that year.
From the Nippon-kichi article, "Yonaguni" which describes Sana-Isoba as Empress:
"Yonaguni (Yona Country) was an ancient state that once existed on Yonagunijima (Yonaguni Island) at the westernmost end of Okinawa Prefecture. The oldest archeological remains verified there are the Tsuguruhama-Iseki. They were thought to be from the late Eolithic age, but recent research shows they may date back to 4400 years ago.
No earthenware has been excavated from this site, which suggests that the people who lived here practiced a culture where pottery was not used. In recent years, further sites have been discovered that lie under water, which may lead to some interesting correlations.
The history of Yonaguni is still vague, but it is known that in the 11th century, the people living in this country established settlements on plateaus. It is also thought that in the 14th century the culture and civilization of Yonaguni further developed as a result of its position as a marine crossroads.
In 1522, Yonaguni was ruled by the empress Sanai Isoba, but fell before vanishing completely under the domination of the Ryukyu Dynasty. The lost history of Yonaguni is still wrapped in a mystery, and leaves many questions unsolved."
According to Nicolas Tranter's "The Languages of Japan and Korea" the languages of Yonaguni and of the main Yaeyama District an Yaeyama (Ishigaki)islands are not mutually intelligible, and that the people of Yonaguni used to feel an affinity to Taiwan and mainland Japan, rather than to Yaeyama Island from which Yonaguni Islanders have been centrally controlled. In 1477, fishermen from the Korean peninsula are said to have drifted to an island ruled by a female ruler called Sanai-Isoba.
Although Sanai-Isoba is described as an Empress in some quarters, it is more likely that she was a noro shaman prietess.
George H. Kerr in his book "Okinawa, the history of an island people" writes of an ancient cult that he calls a "living fossil" of a prehistoric age.
"From legendary times until the present day the noro priestess has exercised a powerful influence in the Ryukyuan community. until 1879 a daughter or sister of the king at Shuri usually assumed the role of the chief high priestess as intercessor between the spirit world and the king's household,and was often an important counselor in royal affairs.
It was the noro's duty to preserve the fire on the hearth. It can be imagined with what difficulty fire was transported from island to island in primitive days, and what hardships a community suffered if the precious flames were extinguished by accident. A daughter in each household was assigned the task of conserving and feeding the hearth" fire. Fire was a communal treasure, in itself a living thing, handed on from generation, to generation. A taboo system grew up around the office of the fire-custodian. She was expected to remain a virgin and was thought to be in close communication with the ancestors from whom fire descended. When new households were establishes, fire was transferred from the family home to the new dwelling or kindled anew with ceremony. In this way the continuity of the fire came to represent blood relationships and family continuity as well. The custodian of the fire upon the oldest hearth in the community assumed an official distinction; her office was hereditary, passing usually to a female child of the noro's brother. A plot of land was set aside for he support. Thank offerings from the community enlarged her income. Within her house, three hearthstones served as a center of worship, for these formed the locus of the root deity (ne-gami) of the village.
It has been suggested that in ancient days fire was always made by striking stones together and that, through association the stones themselves became sacred. Another theory suggests that the three stones originally were used to support the earthenware pots over the fire and so became associated with it. It is noteworthy that the stones are brought from the seashore, no matter how far inland the house or village altar may be, and that among the pantomimic seasonal dances performed by okinawan villagers, there usually is one which tells a legend of the "fire-bringing visitors."
Vestments of white cloth (symbolizing ritual cleanliness) and a string of beads (including the magatama or curved jewels) have been symbols of the noro's office since prehistoric times. her duties require care of the hearth fire, worship of the ancestors through ritual devotion, and divination to settle upon auspicious days for marriage, burial, travel, or the simple tasks of the agricultural community."
While the noro has all but disappeared at Naha and Shuri, the institution still commands respect as diviner and intercessor for the common man in the country villages and in the outlying islands, where she guards the ritual objects on the sacred heath and attends springs and sacred groves associated with the welfare and protection of the village life.
Kerr is of the view that this noro institution is a relic matriarchal cult similar to those neolithic cults "once found in many regions of the Eurasian land-mass long before the literate and historic cultures of China, the Middle East, and the Mediterranean areas were evolved. The sacred groves, the springs and wells, the oracular shrines, and the guardian priestesses of British Isles find close counterpart in the 20th-century mysteries of the noro cult."
Kerr also wrote of the important role of fire before 1945 to Ryukyu Kingdom peoples from the Ryukyu Shinto-ki source:
Origin of the ancestral fire and ancestors
According to the Ryukyu Shinto-ki, (about 1603) at the beginning of time two deities named Shineri-kyu and a female named Amai-kyu. in due time, they built huts side by side. Although they indulged in no sexual intercourse, the female deity Amami-kyu became pregnant, thanks to the influence of a passing wind. Three children were born to her. The eldest, a son became the first ruler of the islands; the second, a girl became the first noro or priestess; and a third, a son, became the first of the common people. Fire, which was essential for their well-being, was obtained "from the Dragon Palace," traditionally believed to rest on the bottom of the sea.
With this simple tale the Okinawans provide for the virgin birth of demigods who personify the essential social functions of administration, religious practice, and economic production. The Dragon Palace episode hints at a folk-memory that that at sometime in the dim past the fire treasured on every hearth was brought with religious care from somewhere over the open seas.
[the Okinawan scholar iha Fuyu, who devoted much time to an analysis of the early records, language and legend to discover the origins of okanwan people and their prehistory. In the story of the two progenitores of the okinawan people, he detected a fable emboying the meeting and blending if two peoples, possibly in the island of Amami oshima. The name of the female deity was Amami-kyu, which by a process of linguistic analysis, he identifies with a fishing people from kyushu who moved into Oshima and thence pushed on southward unto okinawa. The people of Oshima say they are descended from Amami-dake, who created Amami-Oshima. Some of the Omoro songs refer to the Amami-ya ("Dwelling of the Ama-bo" or fishers' community).
According to the legendary history of one line of paramount local chieftains – singled out and styled a "royal house" called the Tenson dynasty, their first king called Shunten was descended from the gods who ruled for "seventeen thousand years."
One version of the Tametomo legend says that Tametomo was sailing one day between two Izu islands when he was blown far out to sea, drifting at last in the storm's wake to Okinawa.
There he and his men were welcomed by a local chieftain, the Lord of Osato, with whose daughter he contracted a marriage. Shunten was born of that union. This was a temporary arrangement; he was to get back to the wars in Japan, and after ien vain attemot to take his Okinawan wife and child with him, he and his men left Okinawa.
…we must note the existence in the Ryukyus of many stories of the sun goddess Amaterasu. One of these repeats the tradition into a great cave and of her return to bring light to the world after fearful darkness. In japan this legend is associated with a cave near the Ise Grand shrines in the Shima Peninsula; in Ryukyu it is associated with a deep hillside cavern overlooking the sea on the eastern shores of Iheya island. This legend of Ama no Iwa To may have been introduced from Japan in later years. The cave is still held sacred by the local priestesses, and the Okinawans have not lost pride in repeating local beliefs that the first Japanese emperor, Jimmu began his great north-eastward conquest of Japan from this minor island in the Ryukyus."


Ziegler CAT has an opening for an Inventory Control Manager in the Parts Department. This position provides daily leadership and strategic direction for material sourcing, vendor management, and parts inventory control activities at all Ziegler locations. This position is responsible for providing adequate material availability, balanced with investment levels, conducive to profitable operations as well as ensuring consistent and accurate inventories.
4 yr Bachelor's Degree required with emphasis in supply chain, materials management, operations management, inventory control, or similar field.
Proficient in Microsoft Office applications, including intermediate to expert level knowledge of Microsoft Excel.
Working Conditions are indoors. Noise level is quiet.
This job description is intended to describe the general nature and level of work being performed; it is not intended to be construed as an exhaustive list of all responsibilities, duties and skills required for the position. Ziegler Inc. will reasonably accommodate the known disabilities of qualified disabled individuals.


I forgot to add that the G1000 is also CPU intensive. It's a great way to ensure that my framerates plummet, which is a pity.
Thanks. I am only a casual flight simmer, so I didn't stop to think about this. So the good news is that with this in mind, it's only a matter of qualifying whether each of the display options either requires substantial CPU cycles or can be offloaded to the graphics card. Most of the latter can then be enabled!
Not understanding the link between display settings and performance is not just your frustration - it is a nightmare for designers also.There are a number of other factors in a simulation which affect the update rate:1. RAM bus speed - how fast you push data between memory, the CPU and the graphics bus into graphics RAM2. secondary storage transfer rates - how quickly you can ship data between the hard disks and RAM; FSX (and FS9 and FS8) spool scenery etc from the drive constantly, so this can be an issue3. the bandwidth between the CPU and the sound card, and the efficeincy of the sound card D-to-A convertersAnd then these things all interact in strnage ways; for instance, if your cpu is really fast, but your hard drive and RAM can't feed it data fast enough, you don't get advantage. Of if you have a very fast cpu with lots of bandwidth to the ram, but your hard drive is fragmented, you are not feeding data fast enough to those; and so on (and then the nightmare of thread and fibre scheduling, which can lead to cpu pipeline stalls, and a lot of other things). The CPU takes the biggest load because essentially the heart of FSX is a lot of physics equations (flight model, weather model, plus the AI of the traffic, cars and boats), with a scenery engine around that, and then a gfx and sound display system around all that. The graphics card (and most display settings) only affect that outer layer. Games like Oblivion (to take an example of a recent non-sim) have very little (in relative terms) in simulation (just AI and driving the story, which is quite cheap), so they get away with having great frame rates, and they benefit massively from upgrades to the graphics card.I must say, having some know-how about how simulation works, I am absolutely bowled over by FSX performance. I did upgrade my machine to run it (it was due for an upgrade anyway), and yes it can be set to run more slowly than FS9 if you turn things up, but I have spent a good while tweaking and experimenting based on various forum posts and other sources, and for about the same frame rates as FS9, it looks better, and gives a better experience of flight than fs9. The best part for me is, unlike FS9, in three years time, it will be running absolutely great, and run fantastic; and the new features (like simconnect) are going to mean a huge slew of new add-ons which FS9 could not hope for.
> The jury's still out until DX10 cards are released.That may be, but if the previous posts are correct, it does not appear that improved graphics systems are going to help very much.It also means that the future performance prospects are quite bleak for this release. Upgrading hardware may not be a good proposition, because the trend is definitely to slower CPU's (not faster ones), but more of them.This speeds a systems overall work load and makes it run smoother, but has negligible effect on FSX. It is my understanding that the only concession to multi-threading since FS9 (which had none) is that scenery is now loaded on a separate thread.This will help when traveling very fast and when turning, but otherwise has practically no effect on framerates. This is what I see on my twin CPU system.regards,Alan.
You're absolutely RIGHT!After reading your post..and the replies, I went back to FSX...and took out the stuff you postulated was sucking up the CPU cycles.Right on the money!I got rid of: (tabs fully to the left and off)Marine Equipment (pleasure and ferry)Put Commercial A.I. at 33 percentTurned GENERAL Aviation full to the left (nothing)Put Road Traffic at 25 percentPut AIRPORT vehicles at MEDIUMPut all SCENERY sliders WEST, (smile), other than no AUTO GEN.The only exception to that was SCENERY DETAIL at NORMAL.With all the above, on a Pentium 4 3.4/ATI X800XT:I get 25 and UP!!!! FPS (Yesssssssssssssssir!) at 1,500 ASL and higher (ANY SCENERY, any part of the world)I get 12-19 on approach to MAJOR, DETAILED airports.I get 8-18 whilst on the ground at the majors, with all animation going on around me, including departure and arrival A.I.FSX is now VERY, VERY usable.Give my settings a try and you will love it. If you like what you see..then make sure to SAVE it as DEFAULT.cfgCheers!Mitch R.
None of this do me any good. With water set to Mid 1x, and nothing matters until I turn off autogen completely. FSX stays at 8fps over New York City.
>None of this do me any good. >>With water set to Mid 1x, and nothing matters until I turn off>autogen completely. FSX stays at 8fps over New York City.crikey you get 8fps i only get 5 thats a 60% improvement!!I am beginning to think that this is one version of flight sim that will quickly die. The singl core cpu speeds for none overclocked systems will possibly never be fast enough.I cant see fsx flying of the shelves now.


The age of steam was the age of Britain's global maritime dominance, the age of enormous ocean liners and human mastery over the seas. The world seemed to shrink as timetabled shipping mapped out faster, more efficient and more reliable transoceanic networks. But what did this transport revolution look like at the other end of the line, at the edge of empire in the South Pacific?
Through the historical example of the largest and most important regional maritime enterprise - the Union Steam Ship Company of New Zealand - Frances Steel eloquently charts the diverse and often conflicting interests, itineraries and experiences of commercial and political elites, common seamen and stewardesses, and Islander dock workers and passengers.
Drawing on a variety of sources, including shipping company archives, imperial conference proceedings, diaries, newspapers and photographs, this book will appeal to cultural historians and geographers of British imperialism, scholars of transport and mobility studies, and historians of New Zealand and the Pacific.


text:
España y COVID-19: impacto sectorial
Infographic: The importance of the pork sector for the spanish economy as a whole
Infographic: The size of spain's wine industry
The chip shortage is going nowhere fast
Jordi Singla
A giant step towards recovery
Javier Ibáñez de Aldecoa Fuster
Consumption and pent-up demand: profiling the recovery's star consumer
Màxim Ventura Bolet
Which sectors have benefitted the most from pent-up demand?
The real estate sector is picking up momentum
Strong demand is reviving Spain's residential market
Pedro Álvarez Ondina
Measuring the tail risks to Spanish house prices
The growth of housing demand, one of the most positive surprises of 2021
Recovery beyond the latest COVID wave
An uncertain but promising year
Sustainability in tourism: make or break
The importance of revitalising the tourism industry's digitalisation
Supply chains: no escalation in the disruptions
Oriol Carreras Baquer
The role of new technologies in Spain's productivity
Clàudia Canals
Resilience and growth in the agrifood sector during the pandemic
The strength of the agrifood sector during the coronavirus crisis
Changing consumption patterns during lockdown: from the restaurant to the home
Digitalisation of the agrifood sector: what does Twitter tell us?
The resilience of Spanish agrifood exports
COVID-19 and international trade: an asymmetric impact
Taking stock of the «intermediate» sectors in Spain
Weathering a historic storm that is coming to an end
The beginning of a necessary recovery
Rural tourism as a response to COVID-19
The need to take off in 2021
Cut-price tourism: the role played by hotel rate adjustments in the recovery
The role played by retail in Spain's economy
Retail withstands and adapts
Pent-up demand during the health crisis and the outlook for consumption
An overview of Spain's manufacturing industry
A major transformation to fight the effects of the pandemic
The manufacturing industry during the pandemic
Spain's automotive industry: strategic and undergoing a transformation
The resurgence of industry after the pandemic
El sector inmobiliario en la nueva normalidad
Infographic: The real estate sector in the new normal
The crisis tiptoes through the real estate sector
The impact of COVID-19 on commercial real estate investment in Spain
The impact of the pandemic on international housing markets: is there a risk of overheating?
Infographic: The agrifood sector is driving the recovery
The agrifood sector is driving the recovery
The agrifood sector has performed well during the recovery
Spanish pork is thriving
Rural destinations have emerged as the most attractive choice after the outbreak of the pandemic. Rural areas were a great alternative in the summer for those tourists wanting to travel whilst still maintaining a social distance. As a result, the loss of tourism business in the less urban regions of Spain has been much lower than in more traditional coastal destinations and cities. This article has applied big data techniques to analyse the trends in card payments made by both domestic and international tourists according to the characteristics of the destinations they visited. The results confirm the increased resilience of rural tourism destinations in 2020, suggesting a positive outlook for rural tourism in 2021.
Content available in
catalan spanish
Rural tourism has emerged as one of the alternatives for both domestic and international tourists during 2020. During the summer months, those regions with a relatively large share of rural tourism, such as Asturias, Cantabria and Navarra, recorded a smaller decline in the number of overnight stays by domestic tourists, while the region that suffered the most was the Community of Madrid, Spain's main urban destination along with Barcelona. In fact, overnight stays in rural tourist accommodation barely decreased in the months of July and August, specifically by 12% year-on-year, while total tourist accommodation recorded a drop of 60% year-on-year.
However, the overnight stay data provided by the National Statistics Institute only allows us to analyse tourist movements and we cannot assess the likely changes in tourist consumption habits in 2020. For a broader analysis, we have used data on card payments and cash withdrawals via CaixaBank POS terminals and ATMs. Specifically, we have focused on the payments made with tourists' cards, eliminating all spending by local consumers from the sample.1 We have also classified all the municipalities in Spain as urban, rural or coastal2 in order to analyse the tourist expenditure in the different types of destinations.
1. Payments and cash withdrawals via cards issued by foreign companies are used to identi-fy expenditure by international tourists. In the case of domestic tourists, payments and cash withdrawals via cards issued by Spanish companies and made outside the holder's usual place of residence are used. The result has been adjusted using a CaixaBank POS penetration metric to balance the sample across regions with a disparate CaixaBank presence.
2. All municipalities, urban and rural, that have a coastline have been classified as coastal destinations. All non-coastal municipalities with fewer than 30,000 inhabitants or 100 inhabitants per km2 have been classified as rural. The remaining non-coastal municipalities have been classified as urban.
We have used big data
methodology to analyse the data from card payments made by tourists in rural destinations.
Breakdown of tourism by type of destination
According to this analysis, rural tourism accounted for about 10% of total tourism expenditure in 2019, of which only 3 pp was due to spending by international tourists. In 2020, on the other hand, the better performance of rural tourism compared with the rest of the sector increased this share to 14%. This is an appreciable portion of total expenditure, in line with the percentage of the population residing in rural municipalities, which is also 14%. As can be seen in the chart, tourism in coastal municipalities, which could be classified as the most traditional destinations for the tourism industry, accounted for 58% of total expenditure in 2020. In addition to being the most important, this was also the type of destination that attracted the highest proportion of foreigners last year, with 55% of expenditure in coastal destinations made via foreign cards. Finally, urban destinations accounted for 28% of total tourist expenditure in 2020.
Tourist expenditure by type of municipality
% of total tourist expenditure
Tourist expenditure by type of municipality (2019)
Last actualization: 03 May 2021 - 15:09
Rural tourism accounted for about 10% of total tourism expenditure in 2019
In 2020 rural tourism performed better than the rest of the sector, increasing its share to 14%.
Tourist expenditure by type of destination
If we look at the trends in tourist expenditure in 2020, spending by all tourists (domestic and international) identified via their card payments and cash withdrawals at CaixaBank POS terminals and ATMs fell by 51% in 2020.3 By type of destination, tourist spending fell by 46% annually in cities and by 56% in coastal destinations. In contrast, tourism expenditure in rural destinations fell considerably less (31% year on year) thanks to a much faster recovery in the period when the lockdown restrictions were eased and also because it remained more attractive in terms of social distancing during the months of the summer and early autumn.
As can be seen in the chart, in January this year, the latest month for which we have a detailed breakdown at the time of going to press, the decrease in tourist expenditure was very similar across all destination types: between 51% and 58% year-on-year. This is due to the fact that restrictions on movements have affected the autonomous regions to a similar extent during the second and third waves, in many cases prohibiting travel between regions (and even within the same region), thereby preventing tourists from crossing regional borders.
3. The decrease in tourist expenditure reflected by CaixaBank POS terminals is lower than the figure published by the National Statistics Institute. The total tourism expenditure figures published by the National Statistics Institute between January and September 2020 (domestic tourism data for Q4 were not available at the time of going to press) fell by 67.0% year-on-year, while CaixaBank's total fell by 50.5% year-on-year. It should be noted that our metric is affected by the increasing use of cards as a means of payment following the outbreak of the pandemic. There may also be differences due to the fact that CaixaBank POS terminals do not capture spending at origin or payments via cash not withdrawn from ATMs at the destination, while the National Statistics Institute does re-flect this in its Egatur and Familitur surveys.
Share of rural tourism in Spain
The greater resilience shown by rural destinations during 2020 was not enough to cushion the huge impact of COVID-19 on Spain's tourism sector, due to their small share within the tourism industry overall and because tourist numbers also declined appreciably for rural destinations. Nevertheless, this has played a very important role in terms of the geographical scope of the impact. Although rural tourism accounted for 14% of the total in 2020, 15 Spanish provinces recorded more than 40% of their tourism expenditure in rural municipalities. In these provinces that are more dependent on rural tourism, total expenditure fell by 33% annually, 17 pp less than the average for Spain. In comparison, the predominantly urban and coastal regions have been harder hit by the COVID-19 pandemic. In the 9 provinces with less than 5% of rural tourism, tourist expenditure fell by 60% (9 pp more than the average for Spain).
In 2020, 15 Spanish provinces recorded over 40% of their tourist expenditure in rural municipalities
In these provinces that are more dependent on rural tourism, total expenditure fell by 33% annually, 17 pp less than the average for Spain.
Tourism expenditure in non-urban municipalities as a percentage of total tourism expenditure
Notes: Expenditure via cards issued by foreign companies (international tourists) and cards is-sued by Spanish companies outside the holder's usual place of residence (domestic tour-ists) via CaixaBank POS terminals. To identify urban, rural and coastal m
Tourist expenditure by type of destination and type of business
If we look at the trends in tourist expenditure by type of destination and business, we can see that all types of businesses located in rural municipalities recorded smaller decreases in turnover from international and domestic tourists. Firstly, the tourist accommodation establishments (hotels and non-hotels) located in rural municipalities were much less affected by the crisis in 2020. As shown in the table, rural tourism expenditure fell by 44% annually while the decrease was 76% and 79% for urban and coastal destinations, respectively. A similar situation can be seen in spending on food and drink, one of the sectors that has been hardest hit by the consequences of COVID-19 in major tourist destinations, with tourist expenditure falling by more than 55% annually in urban and coastal destinations but falling by 27% in rural destinations. However, it is worth noting that the decrease in tourist expenditure in rural destinations was also considerable, albeit not as severe as in the rest of the destinations.
If we look at the trends in tourist expenditure by type of destination and business,
we can see that all types of businesses located in rural municipalities have recorded smaller decreases
in turnover.
Trends of tourist expenditure in 2020, by type of destination and business
Notes: Expenditure via cards issued by foreign companies (international tourists) and cards issued by Spanish companies outside the holder's usual place of residence (domestic tourists) via CaixaBank POS terminals. To identify urban, rural and coastal mun
CaixaBank's internal data show that the impact of COVID-19 on rural and inland tourism has been notable but more moderate than in other tourism destinations. Tourists have largely opted for less crowded and relatively tranquil destinations, with rural tourism reigning supreme.
In 2021, rural tourism will also be one of the driving forces of the recovery as its growth will not be so restricted by the social distancing requirements in place during the first few months of returning to normal, while the population's immunisation will still be incomplete.
In the medium term, the two major destinations for post-COVID tourism will still be coastal and urban locations. However, COVID-19 may notably speed up changes in the economy, with rural tourism gaining in importance.
The initiatives supported by the European Recovery Plan (NGEU) to digitalise and modernise Spain's tourism supply could particularly boost destinations that are currently less wellestablished, including rural ones, helping Spain's tourism supply to diversify and thereby maintain its competitive edge over the rest of the international markets.
To read below
Europe's saturated airports: a brake on the summer's recovery
Taxonomy of the hospitality sector in Spain
Signs of strength in Spain's tourism industry

redpajama_set_name: RedPajamaCommonCrawl


In this guide I will show you how to make your own Arduino digital thermometer by using the DHT-22 sensor and Arduino Pro Mini board. It can be powered up from any USB power source and it can report the max and min values for temperature and humidity as it works.
You will also need 4x 3mm screws and glue.
You can download the .stl 3D files from here.
Download the code from here and open it with Arduino IDE. Inside you will also find all necessary libraries.


text:
Posts tagged "trail dangers"
Kidnapped on the Trail
…. He found the 550 para-cord in my backpack and used it to bind our hands behind our backs and to the trunk of a large manzanita bush. We were beyond scared and prayed for deliverance knowing that when "el jefe" returned, we would be on our way south of the border to be held for ransom, or worse. Dusk was coming quickly as I made eye contact with my wife and gave her a wink.
The Espinosa Trail is a well-known trek for locals in the greater San Diego area. The goal is normally Corte Madera Mountain, a distinct rock formation on a plateau in the southern Cleveland National Forest. I actually found the hike in our local guidebook while looking for something closer to home. Normally, we would head north toward the San Bernardino Mountains. Today would be a bit different with views of Mexico and the Pacific Ocean.
View from the Espinosa Trail looking north.
We loaded up our packs with the typical days' fare of 2-3 liters of water, a lunch and some extra snacks. With the microclimate in this area the temperatures can vary 40-50 degrees within 60 miles, so we took our layers of clothing.
Making our way out on the I-8 freeway, we passed El Cajon and a handful of smaller communities in eastern SD county. Zipping by the exit for Mt. Laguna, we noticed a Border Patrol checkpoint on the eastbound side. The exit to the Corte Madera Mtn trailhead came up and we headed south toward the small town of Campo. It's well-known for the beginning of the Pacific Crest Trail (PCT). The southern terminus of the PCT is very close to the Mexican-U.S. border. We turned down another road with a gravel washboard for a surface. It bounced the heck out of us until we came up on a military installation (Navy SEAL training base) behind a barb-wired topped fence. Of special note, we were behind a Border Patrol SUV. Hmm, that is interesting, but we are near the border. We also noticed that this road led to an Off-Highway-Vehicle (OHV) recreation area and noticed quite a few trucks pulling Jeeps and hauling dirt bikes. The road changed to a mostly one-lane black top as we drove the 4 miles to the trailhead.
The trailhead wasn't labeled, but the gate to the private road was noted in the trail guidebook. There was a USDA placard describing how this area is subject to closure due to the mating season of the raptors. Like many trails, this one was diverse. Beginning as a dirt road, we exited at a handmade trail sign sitting on top of a trash can. "Espinosa Trail", yes that's the way. Starting our 1,800 ft. climb we emerged into a nondescript area of chaparral and scrub. Apparently, the Espinosa Creek was nearby, but there was no evidence of water. We could see a fire tower in the distance, one of the last remaining ones in the county. Emerging on a jeep trail, we took a right and proceeded up a winding dirt road to the next trail junction. Noticed our second set of hikers today, but this would be a fairly uncrowded trail. To the north was Hill 4588, as the Forest Service calls it on their maps. Topped with Coulter pines, it was our first objective. The trail narrowed and began a steep ascent. Scrambling over rocks, this became the hardest part of the hike. My wife – as nimble as a billy-goat going uphill, steadily traversed the path. I huffed and puffed while taking an occasional drink from my hydration pack.
The cleft of a rock…
The view from Hill 4588 was nice as we could see for miles in every direction. The trail was full of those senseless up-downs (SUDS) and we finally leveled out on a plateau. Now, we could see the cliff, a notable 300 ft. drop into the canyon below. We stopped, found a trail log and had our late lunch. The view was amazing. So this was Corte Madera! The Pacific to the west, Mexico to the south and the rest of Cleveland National Forest to our north. It was getting late as the days were getting short. I estimated that we had less than two hours of daylight left. We set a decent pace as our hiking poles helped us to skirt down the hill, the sun setting quickly behind the mountain. We entered the last leg near the jeep road and I was looking forward to a hot shower to knock of the trail dust.
They came out of the bushes to our right and shouted something unrecognizable in spanish. There were four of them, two with guns drawn. Shocked, we dropped our hiking poles and raised our hands. In broken english one of them pointed to the woods and said something like "go to there". They herded us off the path about 50 yards or so into the woods.
Next – Kidnapped on the Trail – Part II – Time for a Decision
I recommend these hiking poles. They are lightweight and fairly sturdy. Kelty Upslope 2.0 Trekking Poles, Ano Blue
We use this Nikon camera forour treks: Nikon D3300 DX-format DSLR Kit w/ 18-55mm DX VR II & 55-200mm DX VR II Zoom Lenses and Case
March 11, 2014 | Categories: Desert, Hikes in Southern California, Hiking, My Tall Tales | Tags: backcountry fiction, backcountry stories, drama on trail, hiking fiction, hiking stories, southern california hiking, trail dangers, trail kidnapping, trail stories | 3 Comments


text:
Russia: New US bans against Iran 'alarming,' could lead to dangerous scenario
Tue Jun 25, 2019 04:39PM [Updated: Tue Jun 25, 2019 05:37PM ]
Russian Foreign Minister Sergei Lavrov
Russian Foreign Minister Sergei Lavrov warns that the new round of US sanctions on Iran is "alarming," saying the bans signal that the situation amid Washington-Tehran tensions is headed towards a dangerous scenario.
Speaking at a news conference in Maldives on Tuesday, Lavrov expressed his concern over the ongoing events and the latest move by US President Donald Trump's administration to impose "another round of sanctions, very personal sanctions" against senior Iranian officials.
He emphasized that these restrictions "are alarming and sending a signal that the situation is unfolding under a very bad scenario," Russian media cited him as saying.
The top Russian diplomat said the current tensions over Iran were reminiscent of events in 2003 when the US tried to build a case for invading Iraq. Back then, Washington claimed that Iraqi dictator Saddam Hussein was stockpiling weapons of mass destruction, which was proven false post-invasion.
"All of us know the result. In May [2003], the US declared victory of democracy in Iraq. Draw your conclusion on how this democracy has demonstrated itself over the 16 past years," Lavrov said.
On Monday, Trump signed an executive order imposing sanctions on Leader of the Islamic Revolution Ayatollah Seyyed Ali Khamenei, his office and eight senior commanders of Iran's Islamic Revolution Guards Corps (IRGC).
PressTV-Trump imposes new harsh sanctions on Iran
Trump has announced new sanctions against Iran targeting the office of Leader, Iran's foreign minister and senior IRGC commanders.
Signing off on the measures, Trump said the new "hard-hitting" sanctions will deny access to "key financial resources and support" for the Leader, his office and those "closely affiliated" with him.
US Treasury Secretary Steven Mnuchin has also said that Iran's Foreign Minister Mohammad Javad Zarif would also face sanctions "later this week."
Meanwhile, the Russian Foreign Ministry also issued a statement on Tuesday to criticize the latest round of US sanctions against Iran.
Since leaving the 2015 Iran deal last year, the US has been escalating tensions by making baseless accusations against Tehran and building up pressure with new rounds of sanctions, it said.
"The US authorities should consider what the results of their reckless course towards Iran could be. It is fraught with not only destabilization of the Middle East, but could also undermine the entire system of international security," the ministry said.
PressTV-Rouhani: New bans expose US lie about seeking dialog
President Rouhani says the fresh US sanctions prove Washington is lying about seeking to hold talks with Tehran.
China calls for calm, avoidance of further escalation
Similarly, China on Tuesday said it "firmly opposes unilateral sanctions" and expressed hope that all relevant parties would remain "calm and restraint" to avoid further escalation of the ongoing situation.
Speaking at a press conference, spokesman for China's Ministry of Foreign Affairs Geng Shuang said Beijing is worried about the tensions gripping the Persian Gulf region.
"We think a capricious move with maximum pressures will not help resolve the problems at all. And the fact shows that these actions have had the opposite effect, and increased turbulence in the region," he said.
He added that the Persian Gulf region lacks "dialogs and negotiations instead of tension and containment."
"We hope the relevant parties can show political courage and political wisdom, and resolve conflicts and differences between each other through dialogs and consultations in a peaceful way on the basis of equality and mutual respect, so as to work with all parties to safeguard peace and stability in the region," Geng said.
Iran: New US bans mean permanent closure of path to diplomacy
Syria blasts new US sanctions against Iran, blames Washington for rise in tensions
New sanctions another sign of US disrespect for intl. law: Iran UN envoy


text:
A szerelem hullámhosszán (eredeti cím: Sleepless in Seattle) egy 1993-ban bemutatott amerikai romantikus film Nora Ephron rendezésében, Tom Hanks és Meg Ryan főszereplésével.

Egy kisfiú egy betelefonálós rádióműsorban az édesapjának kér segítséget, aki egyedül neveli őt. Annie, a bájos, fiatal lány elhatározza, hogy megkeresi őket.

Cselekmény

Sam Baldwin építész a nyolcéves fiával Chicagóból Seattle-be költözik, hogy szeretett felesége, Maggie halála után elmeneküljön a fájdalmas emlékeitől.

18 hónappal később, karácsonykor Annie Reed, egy baltimore-i újságszerkesztő meglátogatja szüleit Walterrel, jövendőbelijével, hogy bejelentse eljegyzésüket, bár úgy érzi, hogy hiányzik valami a kapcsolatukból.

Aznap este hazafelé menet meghallja, hogy egy Jonah nevű kisfiú egy rádióműsorban a karácsonyi kívánsága miatt telefonál. Elmondja édesanyja halálát, és hogy új feleséget szeretne apjának, mivel látja, hogy azóta is nagyon szenved. A rádiós műsorvezető kéri a meglepett Samet, hogy vegye át a telefont, és kérdéseket tesz fel neki felesége haláláról és az azt követő életéről. Sam először szűkszavúan és tárgyilagosan válaszolgat, de aztán bevallja, hogy ez még mindig nagyon nehéz neki. Amikor a műsorvezető megkérdezi Samet, hogy mi volt olyan különleges a feleségében, Sam egy pillanatnyi tétovázás után azt kérdezi: "Mennyi a műsoridőd?", és elmondja, mennyire szerette a feleségét, hogy már a puszta jelenléte is gazdagította az életét, hogy ezernyi apró dolog alkotta ezt a mély szerelmet, és hogy már az első érintéstől kezdve "varázslatot" érzett kettejük között. Sam a legmélyebb érzéseit is kibeszéli magából, és nem Annie az egyetlen, aki meghatódottan hallgatja a rádióban az egyedülálló apa személyes vallomását.

Annie még napokkal később is a lelkes Samre gondol, mint sok más hallgató, akit a rádiós műsorvezető az álmatlansága miatt "Álmatlanul Seattle-ben" néven emleget. Ennek ellenére továbbra is tervezi az esküvőjüket Walterrel és előtte egy romantikus hétvégét New Yorkban a Valentin-napon.

Sam több száz levelet kap az Egyesült Államok minden tájáról, de nem mutat érdeklődést irántuk, hagyományos módon szeretne megismerkedni egy új nővel. Randit beszél meg Victoriával, aki belsőépítész.

Annie megfogalmaz egy levelet Samnek, amelyet a Félévente randevú című film ihletett, amiben Valentin-napi találkozót javasol az Empire State Building tetején. A levelet nem szándékozik elküldeni, de barátnője, Becky Annie tudta nélkül elküldi.

Jonah el van ragadtatva a levéltől, és megpróbálja meggyőzni apját, hogy találkozzon Annie-vel. Apja azonban a Victoriával való új kapcsolatára összpontosít, akit Jonah nem kedvel.

Annie úgy dönt, hogy Seattle-be repül, azzal az ürüggyel, hogy egy cikkhez végez kutatást. Ott a távolból meglátja Samet, de nincs bátorsága odamenni hozzá, miután látja, hogy a férfi bizalmasan ölelget egy nőt. A nő Sam húga, Suzy, de Annie azt hiszi, ő lehet Sam új barátnője. Sam odapillant és lenyűgözi Annie megjelenése.

Baltimore-ba Annie-nak érkezik egy levél Samtől, amelyet azonban Jonah írt a nevében, és amelyben megerősíti a Valentin-napi találkozásukat. Azonban Annie-t elbizonytalanítja Sam "barátnőjének" léte, és vissza akar térni Walterhez teljes idejében.

A Bálint-napi hétvégén Jonah egyedül repül New Yorkba, és hiába próbál megtalálni egy Annie nevű nőt az Empire State Buildingnél. Sam utána megy, és a kilátóteraszon találja, éppen mielőtt az épület bezárna. Közben Annie elmondja Walternek, hogy nemrég érzelmileg összezavarodott, és felbontja az eljegyzésüket.

Spontán módon Annie is az immár kihalt találkozóhelyre megy, de nem talál ott senkit. Nem sokkal később Sam és Jonah visszatérnek a teraszra, mivel a fiú ott felejtette a hátizsákját. Sam és Annie között azonnal különleges kapcsolat alakul ki.

Szereplők

Díjak, jelölések
Oscar-díj (1994)
jelölés: legjobb eredeti forgatókönyv – Nora Ephron, David S. Ward és Jeff Arch
jelölés: legjobb eredeti dal – Marc Shaiman, Ramsey McLean:  "A Wink and a Smile"
Golden Globe-díj (1994)
jelölés: legjobb komédia vagy musical
jelölés: Legjobb férfi színész (komédia vagy musical) – Tom Hanks
jelölés: Legjobb színésznő (komédia vagy musical) – Meg Ryan
American Comedy Awards (1994)
díj: legmulatságosabb női színész – Meg Ryan

Jegyzetek

Fordítás

További információk

1993 filmjei
Amerikai filmvígjátékok
Amerikai filmdrámák
Amerikai romantikus filmek
TriStar Pictures-filmek
InterCom-filmek

redpajama_set_name: RedPajamaWikipedia


Women need men to tackle all the Weinstein's. The mini ones who lack the fame but who transgress women every single day. These are the Mini Weinstein's that society silently condones. Until that is acknowledged and resolved by men, Weinstein's will continue to flourish, whatever their public status.
Brixton; Regeneration, Gentrification or Social Cleansing?


text:
Home » TV & Movies » Lee Daniels Confirms 'Star' Revival 'Ain't Happening'
Lee Daniels Confirms 'Star' Revival 'Ain't Happening'
Although Fox TV pulled the 'Empire' spin-off series after three seasons, the man behind the show gives a shout out to the network for 'letting us into your homes every Wednesday.'
AceShowbiz –Lee Daniels has admitted defeat in his attempt to revive his cancelled TV drama "Star".
The "Empire" spin-off, which focuses on three singers trying to make it in showbusiness, was pulled after three seasons by executives at U.S. TV network Fox earlier this month, despite featuring stars including Queen Latifah, and Benjamin Bratt.
Daniels tried to revive the show, which starred Queen Latifah and Benjamin Bratt, but admitted in an Instagram video on Thursday, May 30 he had failed to find a home for its fourth series.
"It ain't happening," the show's executive producer said. "I did my best. Just know that like with Precious or 'Empire'…'The Butler' (Lee Daniels' The Butler), Monster's Ball, the next thing I do is going to be Star. It will exist in all my work."
Despite the cancellation, he assured fans he had no hard feelings towards Fox chiefs, writing in the video's caption: "Thank you guys for loving 'Star'! I'm at a loss for words to describe my sadness. So I'm gunna (sic) just say THANKS ….to my incredible cast and crew and FANS!!!! And a shout out to #foxtv for letting us into your homes every Wednesday."
After news broke that the show had been cancelled, Daniels treated the cast – which also includes Jude Demorest, Brittany O'Grady, Ryan Destiny and Evan Ross – to an all expenses skating party in Los Angeles.
Stacey Solomon struggling with breastfeeding and sobbing fits after giving birth
Woman trying to sell iPhone for £200 is offered adorable dog in swap deal
06/01/2019 TV & Movies Comments Off on Lee Daniels Confirms 'Star' Revival 'Ain't Happening'


go from party kid and bedroom producer to in-demand DJ/producer on the world circuit.
America, South America, Europe, Asia and Australia.
Holla! Sweet 1 set of muscles of the nicest, most talented peeps you could ever hope to meet goes out there and makes ya proud.
Tittsworth, go from party kid and bedroom producer to in-demand DJ/producer on the world circuit.


The VMware vSphere 5.5 Ultimate Bootcamp® course maximizes the students' training experience with hands-on VMware vSphere labs based upon real-world scenarios and conducted with state-of-the art equipment. The Ultimate Bootcamp® imparts students with the knowledge and skills necessary to maximize efficiency in the work place. The class will prepare the student to achieve the Certified Virtualization Expert® 5.5 (CVE5.5) vmware certification which will demonstrate practical VMware vSphere knowledge and skills as a certified professional.
Taught by leading experts in the field of virtual technologies, students will gain key insights into the constant evolution of cloud based datacenters, hybrid cloud modeling, new improved technologies like SSO 5.5, setting up and managing multiple hosts, mastering vCenter 5.5 services and how to maximize datacenter efficiency while maintaining VMware licensing compliance policies.
The content of 5 of VMware's most popular classes all in one affordable, comprehensive bootcamp!
Jeff Weiss has held a broad spectrum of positions within the IT field for over 30 years. Jeff has owned and operated his own IT business and has installed and supported networks and data centers at almost every level of the IT world. Jeff has recently authored both courseware and exams for Microsoft. For the past 15 years, Jeff has worked as a consultant and trainer with a focus on the design of Enterprise Architecture, as well as Windows and VMware networks.
Class Exercise - Why Virtualize?
Why Virtualize? - Simplified Management!
SSH Access: PuTTY, SecureCRT, WinSCP, etc.


text:
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Xunit;

namespace System.IO.Tests
{
    public abstract class FileStream_ReadWrite_Span : FileSystemTest
    {
        protected abstract FileStream CreateFileStream(string path, FileMode mode, FileAccess access = FileAccess.ReadWrite);

        [Fact]
        public void DisposedStream_ReadWrite_Throws()
        {
            var fs = CreateFileStream(GetTestFilePath(), FileMode.Create);
            fs.Dispose();
            Assert.Throws<ObjectDisposedException>(() => fs.Read(new Span<byte>(new byte[1])));
            Assert.Throws<ObjectDisposedException>(() => fs.Write(new Span<byte>(new byte[1])));
        }

        [Fact]
        public void EmptyFile_Read_Succeeds()
        {
            using (var fs = CreateFileStream(GetTestFilePath(), FileMode.Create))
            {
                // use a recognizable pattern
                var buffer = (byte[])TestBuffer.Clone();

                Assert.Equal(0, fs.Read(Span<byte>.Empty));
                Assert.Equal(0, fs.Read(new Span<byte>(buffer, 0, 1)));
                Assert.Equal(TestBuffer, buffer);

                Assert.Equal(0, fs.Read(new Span<byte>(buffer, 0, buffer.Length)));
                Assert.Equal(TestBuffer, buffer);

                Assert.Equal(0, fs.Read(new Span<byte>(buffer, buffer.Length - 1, 1)));
                Assert.Equal(TestBuffer, buffer);

                Assert.Equal(0, fs.Read(new Span<byte>(buffer, buffer.Length / 2, buffer.Length - buffer.Length / 2)));
                Assert.Equal(TestBuffer, buffer);
            }
        }

        [Fact]
        public void NonEmptyFile_Read_GetsExpectedData()
        {
            string fileName = GetTestFilePath();
            File.WriteAllBytes(fileName, TestBuffer);

            using (var fs = CreateFileStream(fileName, FileMode.Open))
            {
                var buffer = new byte[TestBuffer.Length];
                Assert.Equal(TestBuffer.Length, fs.Read(new Span<byte>(buffer, 0, buffer.Length)));
                Assert.Equal(TestBuffer, buffer);

                // Larger than needed buffer, read into beginning, rest remains untouched
                fs.Position = 0;
                buffer = new byte[TestBuffer.Length * 2];
                Assert.Equal(TestBuffer.Length, fs.Read(new Span<byte>(buffer)));
                Assert.Equal(TestBuffer, buffer.Take(TestBuffer.Length));
                Assert.Equal(new byte[buffer.Length - TestBuffer.Length], buffer.Skip(TestBuffer.Length));

                // Larger than needed buffer, read into middle, beginning and end remain untouched
                fs.Position = 0;
                buffer = new byte[TestBuffer.Length * 2];
                Assert.Equal(TestBuffer.Length, fs.Read(new Span<byte>(buffer, 2, buffer.Length - 2)));
                Assert.Equal(TestBuffer, buffer.Skip(2).Take(TestBuffer.Length));
                Assert.Equal(new byte[2], buffer.Take(2));
                Assert.Equal(new byte[buffer.Length - TestBuffer.Length - 2], buffer.Skip(2 + TestBuffer.Length));
            }
        }

        [Fact]
        public void ReadOnly_Write_Throws()
        {
            string fileName = GetTestFilePath();
            File.WriteAllBytes(fileName, TestBuffer);

            using (var fs = CreateFileStream(fileName, FileMode.Open, FileAccess.Read))
            {
                Assert.Throws<NotSupportedException>(() => fs.Write(new Span<byte>(new byte[1])));
                fs.Dispose();
                Assert.Throws<ObjectDisposedException>(() => fs.Write(new Span<byte>(new byte[1]))); // Disposed checking happens first
            }
        }

        [Fact]
        public void WriteOnly_Read_Throws()
        {
            using (var fs = CreateFileStream(GetTestFilePath(), FileMode.Create, FileAccess.Write))
            {
                Assert.Throws<NotSupportedException>(() => fs.Read(new Span<byte>(new byte[1])));
                fs.Dispose();
                Assert.Throws<ObjectDisposedException>(() => fs.Read(new Span<byte>(new byte[1]))); // Disposed checking happens first
            }
        }

        [Fact]
        public void EmptyWrites_NoDataWritten()
        {
            using (var fs = CreateFileStream(GetTestFilePath(), FileMode.Create))
            {
                fs.Write(Span<byte>.Empty);
                Assert.Equal(0, fs.Length);
                Assert.Equal(0, fs.Position);
            }
        }

        [Fact]
        public void NonEmptyWrite_WritesExpectedData()
        {
            using (var fs = CreateFileStream(GetTestFilePath(), FileMode.Create))
            {
                fs.Write(new Span<byte>(TestBuffer));
                Assert.Equal(TestBuffer.Length, fs.Length);
                Assert.Equal(TestBuffer.Length, fs.Position);

                fs.Position = 0;
                var buffer = new byte[TestBuffer.Length];
                Assert.Equal(TestBuffer.Length, fs.Read(new Span<byte>(buffer)));
                Assert.Equal(TestBuffer, buffer);
            }
        }

        [Fact]
        public void DisposedStream_ReadWriteAsync_Throws()
        {
            var fs = CreateFileStream(GetTestFilePath(), FileMode.Create);
            fs.Dispose();
            Assert.Throws<ObjectDisposedException>(() => { fs.ReadAsync(new Memory<byte>(new byte[1])); });
            Assert.Throws<ObjectDisposedException>(() => { fs.WriteAsync(new ReadOnlyMemory<byte>(new byte[1])); });
        }

        [Fact]
        public async Task EmptyFile_ReadAsync_Succeeds()
        {
            using (var fs = CreateFileStream(GetTestFilePath(), FileMode.Create))
            {
                // use a recognizable pattern
                var buffer = (byte[])TestBuffer.Clone();

                Assert.Equal(0, await fs.ReadAsync(Memory<byte>.Empty));
                Assert.Equal(0, await fs.ReadAsync(new Memory<byte>(buffer, 0, 1)));
                Assert.Equal(TestBuffer, buffer);

                Assert.Equal(0, await fs.ReadAsync(new Memory<byte>(buffer, 0, buffer.Length)));
                Assert.Equal(TestBuffer, buffer);

                Assert.Equal(0, await fs.ReadAsync(new Memory<byte>(buffer, buffer.Length - 1, 1)));
                Assert.Equal(TestBuffer, buffer);

                Assert.Equal(0, await fs.ReadAsync(new Memory<byte>(buffer, buffer.Length / 2, buffer.Length - buffer.Length / 2)));
                Assert.Equal(TestBuffer, buffer);
            }
        }

        [Fact]
        public async Task NonEmptyFile_ReadAsync_GetsExpectedData()
        {
            string fileName = GetTestFilePath();
            File.WriteAllBytes(fileName, TestBuffer);

            using (var fs = CreateFileStream(fileName, FileMode.Open))
            {
                var buffer = new byte[TestBuffer.Length];
                Assert.Equal(TestBuffer.Length, await fs.ReadAsync(new Memory<byte>(buffer, 0, buffer.Length)));
                Assert.Equal(TestBuffer, buffer);

                // Larger than needed buffer, read into beginning, rest remains untouched
                fs.Position = 0;
                buffer = new byte[TestBuffer.Length * 2];
                Assert.Equal(TestBuffer.Length, await fs.ReadAsync(new Memory<byte>(buffer)));
                Assert.Equal(TestBuffer, buffer.Take(TestBuffer.Length));
                Assert.Equal(new byte[buffer.Length - TestBuffer.Length], buffer.Skip(TestBuffer.Length));

                // Larger than needed buffer, read into middle, beginning and end remain untouched
                fs.Position = 0;
                buffer = new byte[TestBuffer.Length * 2];
                Assert.Equal(TestBuffer.Length, await fs.ReadAsync(new Memory<byte>(buffer, 2, buffer.Length - 2)));
                Assert.Equal(TestBuffer, buffer.Skip(2).Take(TestBuffer.Length));
                Assert.Equal(new byte[2], buffer.Take(2));
                Assert.Equal(new byte[buffer.Length - TestBuffer.Length - 2], buffer.Skip(2 + TestBuffer.Length));
            }
        }

        [Fact]
        public void ReadOnly_WriteAsync_Throws()
        {
            string fileName = GetTestFilePath();
            File.WriteAllBytes(fileName, TestBuffer);

            using (var fs = CreateFileStream(fileName, FileMode.Open, FileAccess.Read))
            {
                Assert.Throws<NotSupportedException>(() => { fs.WriteAsync(new ReadOnlyMemory<byte>(new byte[1])); });
                fs.Dispose();
                Assert.Throws<ObjectDisposedException>(() => { fs.WriteAsync(new ReadOnlyMemory<byte>(new byte[1])); }); // Disposed checking happens first
            }
        }

        [Fact]
        public void WriteOnly_ReadAsync_Throws()
        {
            using (var fs = CreateFileStream(GetTestFilePath(), FileMode.Create, FileAccess.Write))
            {
                Assert.Throws<NotSupportedException>(() => { fs.ReadAsync(new Memory<byte>(new byte[1])); });
                fs.Dispose();
                Assert.Throws<ObjectDisposedException>(() => { fs.ReadAsync(new Memory<byte>(new byte[1])); });// Disposed checking happens first
            }
        }

        [Fact]
        public async Task EmptyWriteAsync_NoDataWritten()
        {
            using (var fs = CreateFileStream(GetTestFilePath(), FileMode.Create))
            {
                await fs.WriteAsync(Memory<byte>.Empty);
                Assert.Equal(0, fs.Length);
                Assert.Equal(0, fs.Position);
            }
        }

        [Fact]
        public async Task NonEmptyWriteAsync_WritesExpectedData()
        {
            using (var fs = CreateFileStream(GetTestFilePath(), FileMode.Create))
            {
                await fs.WriteAsync(new Memory<byte>(TestBuffer));
                Assert.Equal(TestBuffer.Length, fs.Length);
                Assert.Equal(TestBuffer.Length, fs.Position);

                fs.Position = 0;
                var buffer = new byte[TestBuffer.Length];
                Assert.Equal(TestBuffer.Length, await fs.ReadAsync(new Memory<byte>(buffer)));
                Assert.Equal(TestBuffer, buffer);
            }
        }
    }

    public class Sync_FileStream_ReadWrite_Span : FileStream_ReadWrite_Span
    {
        protected override FileStream CreateFileStream(string path, FileMode mode, FileAccess access) =>
            new FileStream(path, mode, access, FileShare.None, 0x1000, FileOptions.None);
    }

    public class Async_FileStream_ReadWrite_Span : FileStream_ReadWrite_Span
    {
        protected override FileStream CreateFileStream(string path, FileMode mode, FileAccess access) =>
            new FileStream(path, mode, access, FileShare.None, 0x1000, FileOptions.Asynchronous);
    }

    public sealed class Sync_DerivedFileStream_ReadWrite_Span : Sync_FileStream_ReadWrite_Span
    {
        protected override FileStream CreateFileStream(string path, FileMode mode, FileAccess access) =>
            new DerivedFileStream(path, mode, access, FileShare.None, 0x1000, FileOptions.None);

        [Fact]
        public void CallSpanReadWriteOnDerivedFileStream_ArrayMethodsUsed()
        {
            using (var fs = (DerivedFileStream)CreateFileStream(GetTestFilePath(), FileMode.Create, FileAccess.ReadWrite))
            {
                Assert.False(fs.WriteArrayInvoked);
                Assert.False(fs.ReadArrayInvoked);

                fs.Write(new ReadOnlySpan<byte>(new byte[1]));
                Assert.True(fs.WriteArrayInvoked);
                Assert.False(fs.ReadArrayInvoked);

                fs.Position = 0;
                fs.Read(new Span<byte>(new byte[1]));
                Assert.True(fs.WriteArrayInvoked);
                Assert.True(fs.ReadArrayInvoked);
            }
        }

        [Fact]
        public async Task CallMemoryReadWriteAsyncOnDerivedFileStream_ArrayMethodsUsed()
        {
            using (var fs = (DerivedFileStream)CreateFileStream(GetTestFilePath(), FileMode.Create, FileAccess.ReadWrite))
            {
                Assert.False(fs.WriteAsyncArrayInvoked);
                Assert.False(fs.ReadAsyncArrayInvoked);

                await fs.WriteAsync(new ReadOnlyMemory<byte>(new byte[1]));
                Assert.True(fs.WriteAsyncArrayInvoked);
                Assert.False(fs.ReadAsyncArrayInvoked);

                fs.Position = 0;
                await fs.ReadAsync(new Memory<byte>(new byte[1]));
                Assert.True(fs.WriteAsyncArrayInvoked);
                Assert.True(fs.ReadAsyncArrayInvoked);
            }
        }
    }

    public sealed class Async_DerivedFileStream_ReadWrite_Span : Async_FileStream_ReadWrite_Span
    {
        protected override FileStream CreateFileStream(string path, FileMode mode, FileAccess access) =>
            new DerivedFileStream(path, mode, access, FileShare.None, 0x1000, FileOptions.Asynchronous);
    }

    internal sealed class DerivedFileStream : FileStream
    {
        public bool ReadArrayInvoked = false, WriteArrayInvoked = false;
        public bool ReadAsyncArrayInvoked = false, WriteAsyncArrayInvoked = false;

        public DerivedFileStream(string path, FileMode mode, FileAccess access, FileShare share, int bufferSize, FileOptions options) :
            base(path, mode, access, share, bufferSize, options)
        {
        }

        public override int Read(byte[] array, int offset, int count)
        {
            ReadArrayInvoked = true;
            return base.Read(array, offset, count);
        }

        public override void Write(byte[] array, int offset, int count)
        {
            WriteArrayInvoked = true;
            base.Write(array, offset, count);
        }

        public override Task<int> ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken)
        {
            ReadAsyncArrayInvoked = true;
            return base.ReadAsync(buffer, offset, count, cancellationToken);
        }

        public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken)
        {
            WriteAsyncArrayInvoked = true;
            return base.WriteAsync(buffer, offset, count, cancellationToken);
        }
    }
}

redpajama_set_name: RedPajamaGithub


text:
Q: Flood fill algorithm is causing OutOfMemory Exception Well, I'm getting the outline (path) of a building. And there is a problem. When I iterate it's pixels I check if the current pixel is white to start detecting it's walls.

What happens with this? When the detection is finished it starts again and again, because the next iterated pixel is also white. That's why I need to use a flood fill algorithm (to flag that the current build is completed).
Well, I have already implemented it, but I have problems.
    public static void FloodFill(ref Color[] source, Point pt, int width, int height, Color targetColor, Color replacementColor)
    {
        Stack<Point> pixels = new Stack<Point>();

        targetColor = source[P(pt.x, pt.y, width, height)];
        pixels.Push(pt);

        while (pixels.Count > 0)
        {
            Point a = pixels.Pop();

            if (source[P(a.x, a.y, width, height)] == targetColor)
            {
                source[P(a.x, a.y, width, height)] = replacementColor;

                if (a.x > 0)
                    pixels.Push(new Point(a.x - 1, a.y));

                if (a.x < width)
                    pixels.Push(new Point(a.x + 1, a.y));

                if (a.y > 0)
                    pixels.Push(new Point(a.x, a.y - 1));

                if (a.y < height)
                    pixels.Push(new Point(a.x, a.y + 1));
            }
        }
    }

Extracted from: https://simpledevcode.wordpress.com/2015/12/29/flood-fill-algorithm-using-c-net/
The problem here is that by some reason, ref keyword isn't taking effect.
My implementation:
    private IEnumerator MainGenerationDebug(Color[] source, Color32[] target, int width, int height)
    {
        // (1)
        for (int i = 0; i < source.Length; Interlocked.Increment(ref i))
        {
            // (2)
            Color c = source[i];

            // (3)
            int x = i % width,
                y = i / width;

            // (4) & (5)
            yield return IntMapIteration(source, target, width, c, i, exceptions, (s, t) =>
            {
                source = s;
                target = t;
            });

            // (6)
            if (c == Color.white)
            {
                F.FloodFill(ref source, new Point(x, y), width, height, Color.white, Color.red);
            }
        }
    }

The process is the following:

*

*I start looping all pixels, because I'm in another thread I use Interlocked.Increment.

*I get the current color

*I get the current x, y (2D) from the index (1D)

*Due to I'm in a Coroutine (I'm debugging so I need to see what's happening) I use yielding

*When the IEnumerator finishes I call an Action. (I use IEnumerators because I'm calling an Coroutine in Unity3D)

*After everything finishes, if the current pixel is white, I start flood-filling the array.

I think everything is correct. By maybe I'm missing something.
What could you say about this?

A: I created an own implementation to show what's happening and why it's better to use HashSet.
Why used HashSet? HashSet.Contains is quicklier.
This is the actual implementation:
using System.Collections.Generic;
using System.Linq;

public static class F
{
    /// <summary>
           /// Floods the fill.
           /// </summary>
           /// <typeparam name="T"></typeparam>
           /// <param name="source">The source.</param>
           /// <param name="x">The x.</param>
           /// <param name="y">The y.</param>
           /// <param name="width">The width.</param>
           /// <param name="height">The height.</param>
           /// <param name="target">The target to replace.</param>
           /// <param name="replacement">The replacement.</param>
    public static void FloodFill<T>(this T[] source, int x, int y, int width, int height, T target, T replacement)
    {
        int i = 0;

        FloodFill(source, x, y, width, height, target, replacement, out i);
    }

    /// <summary>
           /// Floods the array following Flood Fill algorithm
           /// </summary>
           /// <typeparam name="T"></typeparam>
           /// <param name="source">The source.</param>
           /// <param name="x">The x.</param>
           /// <param name="y">The y.</param>
           /// <param name="width">The width.</param>
           /// <param name="height">The height.</param>
           /// <param name="target">The target to replace.</param>
           /// <param name="replacement">The replacement.</param>
           /// <param name="i">The iterations made (if you want to debug).</param>
    public static void FloodFill<T>(this T[] source, int x, int y, int width, int height, T target, T replacement, out int i)
    {
        i = 0;

        // Queue of pixels to process. :silbar:
        HashSet<int> queue = new HashSet<int>();

        queue.Add(Pn(x, y, width));

        while (queue.Count > 0)
        {
            int _i = queue.First(),
              _x = _i % width,
              _y = _i / width;

            queue.Remove(_i);

            if (source[_i].Equals(target))
                source[_i] = replacement;

            for (int offsetX = -1; offsetX < 2; offsetX++)
                for (int offsetY = -1; offsetY < 2; offsetY++)
                {
                    // do not check origin or diagonal neighbours
                    if (offsetX == 0 && offsetY == 0 || offsetX == offsetY || offsetX == -offsetY || -offsetX == offsetY)
                        continue;

                    int targetIndex = Pn(_x + offsetX, _y + offsetY, width);
                    int _tx = targetIndex % width,
                      _ty = targetIndex / width;

                    // skip out of bounds point
                    if (_tx < 0 || _ty < 0 || _tx >= width || _ty >= height)
                        continue;

                    if (!queue.Contains(targetIndex) && source[targetIndex].Equals(target))
                    {
                        queue.Add(targetIndex);
                        ++i;
                    }
                }
        }
    }

    public static int Pn(int x, int y, int w)
    {
        return x + (y * w);
    }
}

You can see it here working: https://dotnetfiddle.net/ZacRiB (using Stack was O(4n) (I figured out how to solve this problem, but I dont find the actual code) and HashSet is O(n - 1)).

redpajama_set_name: RedPajamaStackExchange


text:
Image in Focus
Clostridium difficile infection
Stephen A. Geller; Fernando P. F. de Campos
http://dx.doi.org/10.4322/acr.2014.015 Autops Case Rep, vol.4, n2, p.5-7, 2014
Picture provided by Dr. Stephen A. Geller - personal archive.: Clostridium difficile infection (CDI) is a significant and increasing medical problem, surpassing methicillin-resistant Staphylococcus aureus as the most common hospital-onset or facility-associated infection,1-3 and a key element in the challenging battle against hospital-acquired infections. This Gram-positive, anaerobic, spore-forming colonizes the intestinal tract after antibiotics have altered the normal intestinal flora. CDI may be life-threatening; the death rate has dramatically increased from 3,000 per year in 1999-2000 to 14,000 per year in 2006-2007.4 The use of antibiotics, although not the only risk factor, is the most significant triggering event, increasing in incidence with prolonged antibiotic use.2,3,5 Many antibiotics have been implicated in the etiopathogenesis of CDI, especially ampicillin, amoxicillin, clindamycin, cephalosporin (particularly third generation cephalosporins) and quinolones.2,3,6-8 However, not all cases of CDI are associated with antibiotics or their prolonged use. In 24% of cases of CDI there was no history of previous use of antibiotics and 9% had less than 3 days of use.9 Most of these were hospitalized individual who had close contact with patients with diarrheal diseases. Other risk factor includes administration of antineoplastic agents like doxorubicin, cisplatin, cyclophosphamide, fluorouracil and chlorambucil, methotrexate.10 Immunocompromised patients, either from cancer chemotherapy or, especially, after transplantation, also were prone to develop CDI. Other risk factors include: preceding inflammatory bowel disease (IBD) and other comorbidities, advanced age, enteral feeding (especially post pyloric), prior gastrointestinal surgery, and proton pump inhibitor users.2,3,11
Clinical presentation varies widely (Table 1). Asymptomatic (culture positive) carriers can have mild colitis without the characteristic inflammatory ("pseudo") membrane formation or fulminant toxic megacolon. Watery diarrhea is a cardinal manifestation accompanied by cramps and lower abdominal pain. Acute abdomen, requiring emergency surgery, has been described.11,12 Symptoms generally start 2-10 days after antibiotic use. Although frankly bloody diarrhea is uncommon, occult blood is present in 26% of cases. As many as 50% of patients have a low-grade fever. When the temperature is greater than 38.5 °C there is usually severe disease. Leukocytosis, with increased band forms is frequent, as is hypoalbuminemia. Creatinine value elevations are seen with increasing severity of the diarrhea. Acute inflammatory exudate may be present in as many as 40% of stool samples.11,13-15 Imaging studies are of little use in detecting CDI and endoscopy is indicated when rapid diagnosis is required. Findings may vary: normal mucosa (in mild cases), mild erythema, and friability can be seen before the appearance of the characteristic multiple, raised and centrally ulcerated, yellowish-white plaques (pseudomembranes).16 The entire colorectal mucosa can be affected in the most severe cases but, most often, the lesions are patchy and separated by unremarkable mucosa, as in the image above. With effective therapy the mucosa heals completely.
Table 1 Patterns of clinical presentation2,3:
Carrier stage (asymptomatic)
C. difficile associated diarrhea (CDAD)
C. difficile associated colitis (CDAC)
Pseudomembranous colitis
Fulminant colitis
C. difficile associated enteritis (rare)
Acute appendicitis (rare)
Symptom recurrence may be due to reinfection by a different strain or can represent relapse with the original strain, and may be characterized by one or several episodes, starting days or weeks after treatment. Relapse may be more severe than the first episode.17
Currently, many laboratory assays have been used to diagnose CDI, but no single "gold standard" has been recognized.2,3,11 C. difficile toxin is obtained from stool samples, which should be maintained at temperature under 4 °C if not immediately processed since the toxin is heat sensitive (a frequent cause of false-negative result). For this purpose the available tests are: Polymerase chain reaction (PCR), Enzyme immunoassay (EIA) for C. difficile glutamate dehydrogenase (GDH), Enzyme immunoassay (EIA) for C. difficile toxins A and B, Cell culture cytotoxicity assay and selective anaerobic culture.
Histologic examination is characteristic but, in biopsy samples, may be indistinguishable from acute ischemic colitis.
Less severe CDI may be treated with oral metronidazole or vancomycin with 90-98% cure rates. As the results are considered similar, metronidazole has been favored over vancomycin to limit the spread of vancomycin-resistant enterococci. Other treatment choices include fidaxomicin and rifaximin. Recently, fecal transplantation to either the upper or lower gastrointestinal tract has been shown to be dramatically effective in many cases of severe CDI.18-20
Enterocolitis, Pseudomembranous, Clostridium difficile, Cross Infection, Diarrhea
Miller BA, Chen LF, Sexton DJ, Anderson DJ. Comparison of the burdens of hospital-onset, healthcare facility associated Clostridium difficile infection and of healthcare-associated infection due to methicillin-resistant Staphylococcus aureus in community hospitals. Infect Control Hosp Epidemiol. 2011;32(4):387-90. PMid: [PMID:21460491]. http://dx.doi.org/ [https://doi.org/10.1086/659156]
Burke KE, Lamont ST. Clostridium difficile infections: a worldwise disease. Gut Liver. 2014;8(1):1-6. PMid: [PMID:24516694] PMCid:PMC [PMID:24516694]. http://dx.doi.org/ [https://doi.org/10.5009/gnl.2014.8.1.1]
Kazanski M, Smolark S, Kinnarney F, Grzebeniak Z. Clostridium difficile: epidemiology, diagnostic and therapeutic possibilities: a systematic review. Tech Coloproctol. 2014;18(3):223-32. PMid: [PMID:24178946] PMCid:PMC [PMID:24178946]. http://dx.doi.org/ [https://doi.org/10.1007/s10151-013-1081-0]
Hall AC, Curns AT, McDonald LC, Parashar UD, Lopman BA. The roles of norovirus and Clostridium difficile among gastroenteritis deaths in the United States, 1997-2007. In: 49th Annual Meeting of the Infectious Disease Society of America; 2011 Oct 22; Boston, MA.
Hensgens MP, Goorhuis A, Dekkers OM, Kuijper EJ. Time interval of increased risk for Clostridium difficile infection after exposure to antibiotics. J Antimicrob Chemother. 2012;67(3):742-8. PMid: [PMID:22146873]. http://dx.doi.org/ [https://doi.org/10.1093/jac/dkr508]
Pépin J, Valiquette L, Alary ME, et al. Clostridium difficile-associated diarrhea in a region of Quebec from 1991 to 2003: a changing pattern of disease severity. CMAJ. 2004;171(5):466-72. PMid: [PMID:15337727] PMCid:PMC [PMID:15337727]. http://dx.doi.org/ [https://doi.org/10.1503/cmaj.1041104]
Riley TV. Antibiotic-associated diarrhea: a costly problem. Pharmacoeconomics. 1996;10(1):1-3. http://dx.doi.org/ [https://doi.org/10.2165/00019053-199610010-00001].
Thomas C, Stevenson M, Williamson DJ, Riley TV. Clostridium difficile-associated diarrhea: epidemiological data from Western Australia associated with a modified antibiotic policy. Clin Infect Dis. 2002;35(12):1457-62. PMid: [PMID:12471563]. http://dx.doi.org/ [https://doi.org/10.1086/342691]
Centers for Disease Control and Prevention. Severe Clostridium difficile-associated disease in populations previously at low risk--four states, 2005. MMWR Morb Mortal Wkly Rep. 2005;54(47):1201-5. PMid: [PMID:16319813].
Anand A, Glatt AE. Clostridium difficile infection associated with antineoplastic chemotherapy: a review. Clin Infect Dis. 1993;17(1):109-13. http://dx.doi.org/ [https://doi.org/10.1093/clinids/17.1.109].
Oldfield EC 4th, Oldfield EC 3rd, Johnson DA. Clinical update for the diagnosis and treatment of Clostridium difficile infection. World J Gastrointest Pharmacol Ther. 2014;5(1):1-26.
Drapkin MS, Worthington MG, Chang TW, Razvi SA. Clostridium difficile colitis mimicking acute peritonitis. Arch Surg. 1985;120(11):1321-2. http://dx.doi.org/ [https://doi.org/10.1001/archsurg.1985.01390350097021].
Wanahita A, Goldsmith EA, Musher DM. Conditions associated with leukocytosis in a tertiary care hospital, with particular attention to the role of infection caused by clostridium difficile. Clin Infect Dis. 2002;34(12):1585-92. PMid: [PMID:12032893]. http://dx.doi.org/ [https://doi.org/10.1086/340536]
Dansinger ML, Johnson S, Jansen PC, Opstad NL, Bettin KM, Gerding DN. Protein-losing enteropathy is associated with Clostridium difficile diarrhea but not with asymptomatic colonization: a prospective, case-control study. Clin Infect Dis. 1996;22(6):932-7. http://dx.doi.org/ [https://doi.org/10.1093/clinids/22.6.932].
Marx CE, Morris A, Wilson ML, Reller LB. Fecal leukocytes in stool specimens submitted for Clostridium difficile toxin assay. Diagn Microbiol Infect Dis. 1993;16(4):313-15. http://dx.doi.org/ [https://doi.org/10.1016/0732-8893(93)90081-H].
Bartlett JG. Clinical practice: antibiotic-associated diarrhea. N Engl J Med. 2002;346(5):34-9. PMid: [PMID:11821511]. http://dx.doi.org/ [https://doi.org/10.1056/NEJMcp011603]
Fekety R, McFarland LV, Surawicz CM, Greenberg RN, Elmer GW, Mulligan ME. Recurrent Clostridium difficile diarrhea: characteristics of and risk factors for patients enrolled in a prospective, randomized, double-blinded trial. Clin Infect Dis. 1997;24(3):324-33. http://dx.doi.org/ [https://doi.org/10.1093/clinids/24.3.324].
Smits LP, Bouter E, de Vos WM, Borody TJ Nieuwdorp M. Therapeutic potential of fecal microbiota transplantation. Gastroenterology. 2013;145(5):946-53. PMid: [PMID:24018052]. http://dx.doi.org/ [https://doi.org/10.1053/j.gastro.2013.08.058]
Cammarota G, Ianiro G, Gsbarrini A. Fecal microbiota transplantation for the treatment of Clostridium difficile infection: a systematic review. J Clin Garoenterol. 2014, Jan 16 [Epub ahead of print; cited 2014 May 10]. Available from: http://journals.lww.com/jcge/pages/articleviewer.aspx?year=9000&issue=00000&article=98691&type=abstract" xmlns:xlink="http://journals.lww.com/jcge/pages/articleviewer.aspx?year=9000&issue=00000&article=98691&type=abstract" target="_blank" title="http://www.w3.org/1999/xlink">http://journals.lww.com/jcge/pages/articleviewer.aspx?year=9000&issue=00000&article=98691&type=abstract">http://www.w3.org/1999/xlink">http://journals.lww.com/jcge/pages/articleviewer.aspx?year=9000&issue=00000&article=98691&type=abstract
Sha S, Liang J, Chen M, et al. Systematic review:fecal microbiota transplantation therapy for digestive and nondigestive disorders in adults and children. Aliment Pharmacol Ther. 2014:39(10):1003-32. PMid: [PMID:24641570]. http://dx.doi.org/ [https://doi.org/10.1111/apt.12699]


Loosen, W. (2018): Data-Driven Gold-Standards: What the Field Values as Award-Worthy Data Journalism and How Journalism Co-Evolves with the Datafication of Society. In: J. Gray, L. Bounegru (eds.), The Data Journalism Handbook 2. Towards a Critical Data Practice. European Journalism Centre and Google News Initiative.


Every Day in May Concludes!
May… a commitment to drawing the predetermined prompt every day. Do I love it or hate it? I'd have to say, both! I'm energized by my fellow participants but by the end of the month, I'm tired. Tired of someone telling me what to sketch and tired of posting.
This year I posted to my Flickr account and linked to the Every Day in May group and posted to their Facebook group too! Oh, and here too, although I enjoyed grouping my daily pages into one weekly post. If I join in again next year I may choose to post only here. Maybe that'll breathe new life into my EDiM.
Whew! I'm ready for June!
After the last bunch of blacks, whites and grays I really needed some color!
June is closing in… only 5 more days. but let's not get ahead of ourselves.
The month of May just keeps rollin' along as do the Every Day in May challenges. It's been great to not have to think about what to draw… just look at the prompt and draw it. Don't get me wrong, I have been working on other projects but that's fodder for another time.
I love Every Day in May… and I finally found a link to the list of daily prompts on Jana Bouc's blog!
It's wonderful, just do something… anything… each and every day in May.
It can be as simple or elaborate as you wish and have time for. As you can see from the above page… I was really busy last Friday!
Upload for everyone to see or keep it private in your own sketchbook, the benefits are the same.
You cement a creative habit!
Do your creative self a favor…… Just Do It!
After a month of daily journaling and posting for International Fake Journal Month I really wanted to maintain my artsy momentum but dial it back a little. No more daily posts… I have a fairly simple system but it'll be great to give it a rest!
However, I am participating in EDiM… Every Day in May. This is a Flickr and Facebook offshoot of the EDM – Every Day Matters Group.
So yeah… even more days of daily sketching. Sweet!
Draw something representing a favorite hobby.
Draw something handed down to you or a family relic.


After guests have been picked up from the hotels in Puerto Iguazu, we will travel to Iguassu Falls. This amazing geological area formed as the result of volcanic eruptions. They are taller than Niagara Falls and twice as wide, made up of 275 cascading falls spread in a horseshoe fashion, spread across two miles. The Devil's Throat is best seen from the Brazilian side. Here, 14 falls drop 350 feet with such force that a 100 foot tall cloud of mist stays permanently suspended overhead. Watch for the rainbow! Afterwards, we will visit the Itaipu Hydroelectric Dam, before returning to Puerto Iguazu.
It's the fourth largest city in the province of Misiones. The world-renowned Iguazu Falls are only 18 kilometres (11 mi) away from the city, and as a result the city has developed much of its infrastructure around tourism.
One of the many waterfalls that make up the Iguassu Falls on the border between Brazil, Argentina, and Paraguay, the Devil's Throat is a U-shaped chasm through which the majority of the water in the falls flows.


text:
Alex Murdaugh Trial
Ozempic Shortage
Half Moon Bay Shooting
Leanne Hainsby
YouTube College Courses
A Secret US Government List Targeting Journalists And Activists Is Under More Expansive Investigation
"Government surveillance that targets journalists, individuals providing legal services to migrants ... is absolutely unacceptable," Sen. Tom Udall said.
Adolfo Flores BuzzFeed News Reporter
Updated on August 7, 2019, at 1:47 p.m. ET Posted on August 7, 2019, at 1:06 p.m. ET
Rebecca Blackwell / AP
Share on Facebook Share on Facebook Share on Pinterest Share on Pinterest Pinterest Pinterest
US Border Patrol agents stand in front of a secondary fence in San Diego, looking across the border wall toward Mexico.
The US government's creation of a database that resulted in reporters, attorneys, and advocates being questioned at the border is under a more expansive investigation than previously reported.
An investigation into whether immigration officials had violated policies when they created the list was announced by Customs and Border Protection in March. But a July 15 letter to Sen. Tom Udall of New Mexico from Jennifer Costello, the acting inspector general of the Department of Homeland Security, said the agency is also investigating allegations of harassment faced by people on the database and whether CBP complied with US laws.
In the letter, Costello said a team of investigators, analysts, and attorneys are looking into the list, which was leaked to San Diego's NBC affiliate.
"We plan to review the leaked ... document in order to determine why it was created, what it is used for, and what happened to the people named in it," Costello said in the letter, which was obtained by BuzzFeed News. "We also anticipate reviewing other specific allegations of targeting and/or harassment of lawyers, journalists, and advocates, and evaluate whether CBP's actions compiled with law and policy."
Ramon Espinosa / AP
In March it was revealed that US immigration officials had compiled a secret database containing information on dozens of reporters, attorneys, and activists that resulted in them being questioned at the southern border when they tried to cross.
The database of 10 journalists, at least one US attorney, and 47 others who were listed as "organizers" or "instigators" contained passport pictures and notes on whether each individual had been arrested or interviewed. Many of them were US citizens.
The documents obtained by NBC were reportedly part of a computer application that was shared with officials working in CBP, Immigration and Customs Enforcement, US Border Patrol, Homeland Security Investigations, and agents with the FBI's San Diego field office.
The letter comes after Sens. Udall, Elizabeth Warren, Kamala Harris, and Richard Blumenthal demanded answers to reports of the database and the subsequent questioning of people on it by US border authorities.
"Government surveillance that targets journalists, individuals providing legal services to migrants, or critics of the Trump administration's immigration policies is absolutely unacceptable and flies in the face of our most deeply held Constitutional rights and principles," Udall said in a statement.
Attempting to dissuade groups and people from exercising their First Amendment rights or providing legal support to immigrants violates the Constitution, Udall said.
"The American people expect DHS to help keep our communities safe from violent attacks, not keep lists of journalists and attorneys to harass at legal ports of entry," Udall said.
Homeland Security Is Investigating Immigration Officials' Secret List Of Journalists, Attorneys, And Activists To Question At The Border Nidhi Prakash · March 7, 2019
The US Compiled A Secret List Of Journalists, Attorneys, And Activists To Question At The Border Salvador Hernandez · March 7, 2019
Adolfo Flores is a reporter for BuzzFeed News and is based in McAllen, Texas..
Contact Adolfo Flores at adolfo.flores@buzzfeed.com.
Got a confidential tip? Submit it here
Share on Twitter Share on Twitter Twitter Share on Facebook Share on Facebook Facebook Share on System Share on System System
Unable to load comments. Try reloading this page or viewing the full site. Pop out
{{^ results }}
There are no comments yet. View the full site while signed in to comment! Pop out
{{/ results }} {{# results }}
{{ user.display_name }} {{^ user.display_name }} {{ user.username }} {{/ user.display_name }}
{{#blurb}}
{{ blurb }}
{{/blurb}} {{#picture_url}} {{/picture_url}}
Heart {{ love_count }}
{{/ results }} {{# count }}
See all comments Pop out
{{/ count }}
Show more Expand
The US Compiled A Secret List Of Journalists, Attorneys, And Activists To Question At The Border
Homeland Security Is Investigating Immigration Officials' Secret List Of Journalists, Attorneys, And Activists To Question At The Border
More Democrats Want Answers From Homeland Security About Its List Of Lawyers, Activists, And Journalists
This Report Says The Mexican Government Deployed Spyware Against Journalists And Activists
The Trump Administration Is Trying To Force BuzzFeed News To Divulge Its Sources With A Subpoena
A Whistleblower Has Accused Top DHS Officials Of Lying About Border Threats To Support Trump's False Claims
Senators And Presidential Candidates Are Demanding The DHS Report On A Controversial Asylum Policy
The FBI Is Not The Only Threat To Reporters' Confidential Sources
The Trump Administration Has Backed Down From Its Subpoena Demanding BuzzFeed News Divulge Its Sources
Dozens Of Border Patrol Employees Are Under Investigation For Secret Facebook Group Posts
A Note To Our Readers: Help Us Expose Government Secrets
A Top US Immigration Official's Threat To Fire Workers Who Leak Info Was Meant To Intimidate Whistleblowers, Union Says
Trump Officials Tried To Keep The Public In The Dark, But BuzzFeed News Never Stopped Fighting For Essential Documents
These Journalists Are Facing Huge Threats And Injustice For Pursuing The Truth
Homeland Security Staffers Were Warned Not To Leak Information Or Face Legal Consequences
Here's The Draft Report Revealing How US Border Officials Pressured Asylum Officers To Deny Entry To Immigrants
A Former Senior Senate Intelligence Committee Staffer Has Been Charged With Lying About Contacts With Reporters
ICE Is Creating A New Policy For Subpoenaing Reporters After Trying To Force BuzzFeed News To Turn Over Information
Federal Agencies Have Been Sending Employees Articles From White Nationalist And Conspiracy Websites For Months
There Were 17 Types Of AIM Screen Names — Here's What The One You Used Says About You
I'm Willing To Bet Your Breakfast Preferences Are More Rare Than You Think
The Oscars Are Reviewing Their Campaign Rules After Andrea Riseborough's Oscar Nomination
Mia Goth On The Similarities Between Her Characters In "Pearl" And "Infinity Pool": "They're Both Definitely Dealing With Rage"
Just 41 Excellent Products I've Found On TikTok Lately (So My Endless Scrolling Can Finally Be Useful)
I'll Honestly Be Impressed With Anyone Who Can Match All These Zombies To Their Movies/Shows
Amy Robach And T.J. Holmes Are Out At GM3 After Their Affair
"Speak Now" Was Arguably One Of Taylor Swift's Best Albums — Here's Which Song You Are
Do You Think These Celebs Are Famous For Being Talented Or Just Famous For Being Famous?
The Transgender Singer And Model In Taylor Swift's New Music Video Said Representation Matters When Trans People Are Being Dehumanized
BuzzFeed Home
© 2023 BuzzFeed, Inc.
Close this modal Close this modal
BuzzFeed - Do Not Sell or Share My Data
We, and our partners, use technologies to process personal information, including IP addresses, pseudonymous identifiers associated with cookies, and in some cases mobile ad IDs. This information is processed to personalize content based on your interests, run and optimize marketing campaigns, measure the performance of ads and content, and derive insights about the audiences who engage with ads and content. This data is an integral part of how we operate our site, make revenue to support our staff, and generate relevant content for our audience. You can learn more about our data collection and use practices in our Privacy Policy.
If you wish to request that your personal information is not shared with third parties, please click on the below opt out button. Please note that after your opt out request is processed, we may still collect your information in order to operate our site.
Continue without Opting Out
We and our partners use technology such as cookies on our site to personalize content and ads, provide social media features, and analyze our traffic. Click below to consent to the use of this technology across the web. You can change your mind and change your consent choices at anytime by returning to this site.
Show purposes
Information storage and access
The storage of information, or access to information that is already stored, on your device such as advertising identifiers, device identifiers, cookies, and similar technologies.
The collection and processing of information about your use of this service to subsequently personalise advertising and/or content for you in other contexts, such as on other websites or apps, over time. Typically, the content of the site or app is used to make inferences about your interests, which inform future selection of advertising and/or content.
Ad selection, delivery, reporting
The collection of information, and combination with previously collected information, to select and deliver advertisements for you, and to measure the delivery and effectiveness of such advertisements. This includes using previously collected information about your interests to select ads, processing data about what advertisements were shown, how often they were shown, when and where they were shown, and whether you took any action related to the advertisement, including for example clicking an ad or making a purchase. This does not include personalisation, which is the collection and processing of information about your use of this service to subsequently personalise advertising and/or content for you in other contexts, such as websites or apps, over time.
Content selection, delivery, reporting
The collection of information, and combination with previously collected information, to select and deliver content for you, and to measure the delivery and effectiveness of such content. This includes using previously collected information about your interests to select content, processing data about what content was shown, how often or how long it was shown, when and where it was shown, and whether the you took any action related to the content, including for example clicking on content. This does not include personalisation, which is the collection and processing of information about your use of this service to subsequently personalise content and/or advertising for you in other contexts, such as websites or apps, over time.
View Companies Hide Companies
Lotame Solutions, Inc.
OpenX Software Ltd. and its affiliates
The Rubicon Project, Limited
Index Exchange, Inc.
comScore, Inc.
DoubleVerify Inc.
Taboola Europe Limited
Outbrain UK Ltd
EMX Digital LLC
Google (DFP / AdX)
The collection of information about your use of the content, and combination with previously collected information, used to measure, understand, and report on your usage of the service. This does not include personalisation, the collection of information about your use of this service to subsequently personalise content and/or advertising for you in other contexts, i.e. on other service, such as websites or apps, over time.
Privacy policy: https://www.lotame.com/about-lotame/privacy/
Privacy policy: https://www.rhythmone.com/privacy-policy
Legitimate Interest Purposes:
Matching Data to Offline Sources
Linking Devices
Precise Geographic Location Data
Privacy policy: https://www.openx.com/legal/privacy-policy/
Privacy policy: http://rubiconproject.com/rubicon-project-yield-optimization-privacy-policy/
Privacy policy: http://www.indexexchange.com/privacy
Privacy policy: https://www.comscore.com/About-comScore/Privacy-Policy
Privacy policy: https://www.doubleverify.com/privacy/
Privacy policy: https://www.liveramp.com/service-privacy-policy/
Privacy policy: https://www.taboola.com/privacy-policy
Privacy policy: https://pubmatic.com/privacy-policy/
Privacy policy: https://www.outbrain.com/legal/
Privacy policy: https://emxdigital.com/privacy/
Privacy policy: http://www.nielsen.com/us/en/privacy-statement/exelate-privacy-policy.html
Amazon Publisher Services
Privacy policy: https://ams.amazon.com/webpublisher/apsmanaged/apsagreement.html
Privacy policy: https://adssettings.google.com/
See full vendor list


Manning Gottlieb OMD is a progressive marketing performance agency with an enviable client base, including John Lewis Partnership, Starbucks, Specsavers, Virgin Media, Estée Lauder Companies, Renault Nissan, Uber and HM Government. We believe in the power of Impactful Behaviour, meaning that our role is to advise our clients on how to behave, via communications, in a way that has the maximum possible impact on consumers. This is fuelled by cutting-edge technology and the power of data, enabling us to make every penny of marketing spend work as hard as possible. It is the collaboration of data and creativity that leads to effectiveness. We were recently named by both Thinkbox and the IPA Effectiveness Awards as the most awarded agency in their histories and are currently ranked the No. 1 media agency in Europe by WARC 100 for the second year running.
Investing over $26 billion across all media vehicles, OMD has over 5,200 employees around the world and offices in all major cities – guaranteeing unrivalled coverage and bargaining muscle in every region of the world. Our global headquarters are in New York with regional headquarters in London, Singapore and Miami.