text:
Nnphysics the central science ebooks
The student who uses my site avoids having to browse through countless sites that merely wish to sell you a book or a online course, while providing little free subject matter. My only criticism of the book is that it should have more practice problems after the chapter with answers in the back of the book, and that certain concepts could have been explained better, like when and what kind of setup problems required in chapter 17, but then again ch 17 is toward the back of the book, or chem 2. Neuroscience is an interdisciplinary field that strives to understand the functioning of neural systems at levels rangin. Inside the mind of an american family robert kolker. The 7 science books that will help you survive 2017 inverse. Jan 03, 2017 prolific science writer brian cleggs new book looks to answer the notsosimple question of how our sense of reality is formed. The cover of this new edition of chemistry the central science pdf features a striking illustration of the structure of graphene, a recently discovered form of carbon. One can find many sites online, or utube video about physics you can even find free college courses online. The 50 best science books from classic to brand new. Look forward to daniel everetts latest, the great gravitational wave hunt, maths beyond infinity, the latest insights into sexism, and taming foxes. Science september 15, 2019 science september 15, 2019.
This is a standalone book and will not include the code to access online course content such as video, audio, and homework. Brown, university of illinois at urbana, champaign. Basic books in science about this book this book, like the others in the series1, is written in simple english the language most widely used in science and technology. A brief history of time by stephen hawking, the elegant universe. Top five science books of 2016 science news abc news. The sixth model of physics for scientists and engineers presents a completely constructedin textual content material and media reply which will help school college students research most efficiently and will permit professors to customize their lecture rooms so that they practice most successfully. Think and use the connections science shares with other mediums using real life applications. Even though this ror bypasses a waterfall, it could be used to bypass any section of river with a steep grade. He has been engaged in the study and practice of altered states of consciousness for over 30 years. Follow new york times books on facebook and twitter.
Jan 04, 2017 science books were keen to read in 2017. Find ebooks in the ucla library catalog, melvyl, and hathitrust. Triple checked for scientific accuracy and consistency, this edition is a more seamless and cohesive product, yet retains the clarity, innovative pedagogy. Science writer and futurist david bodanis wrote the successful emc 2. Science benchmark the motion of an object can be described by measurements of its position at different times. Velocity is a measure of the rate of change of position of an object. This years physicsquest features the first lady of physics, dr. Publishing history this is a chart to show the publishing history of editions of works about this subject. In cleareyed prose, sagan reveals a jewellike blue world inhabited by a life form that is just beginning to discover its own identity and to venture into the vast ocean of space.
In the science classroom student work should align with this process of science and should be guided by the following principles. You can also watch the physicscentral news vodcast, see some great physics pictures, and listen to the physicscentral podcast where. Physics is the science of matter and its motionthe science that deals with concepts such as force, energy, mass, and charge. Acceleration is a measure of the rate of change of velocity of an object. This book focuses on passive components such as novel. The christmas bookbuying rush is well underway and it is nice to know you can find titles that deliver real science but do so in such a disarming way that you just have to. A biography of the worlds most famous equation in 2002 in this new book, bodanis focuses on the great scientists later. Bursten worcester polytechnic institute, catherine j. Trusted, innovative, and calibrated, the text increases conceptual understanding and student success in general chemistry by building on the expertise of the. Ucla subscribes to about 1200 ebooks on this site, mostly in the social sciences, humanities. Organizational physics the science of growing a business kindle edition by sisney, lex. Learn vocabulary, terms, and more with flashcards, games, and other study tools.
The most exciting science books of 2016 possibly 2015 was a great year for books, science books in particular. Chemistry the central science 12th edition pdf by brown on vimeo. Explore the science in explore the science you can read about current research in physics and the interesting lives of physicists. Ebooks universiteit leiden bibliotheek universiteit leiden. This system is actually a 40 mw ror run off river hydroelectric system.
Find out how physics is part of your world, ask questions on how things work, see physics in pictures, get updates on physics in the news, read about research and the people who are doing it and, if you want more, recommended links. This copy is for your personal, noncommercial use only. Information is provided in manageable chunks and is reinforced by stimulating questions and activities that encourage students to consider the practical application of science to everyday life. Natural science is a branch of science concerned with the description, prediction, and understanding of natural phenomena, based on empirical evidence from observation and experimentation. Electronics circuit simulator and physics virtual laboratory. Methods and models in neurophysics ebook by carson chow. He argues that reality is an amorphous, shifting sense of.
If you need to study this topic further, i provide you with links to free ebooks, webs, online college courses, and youtube video lectures on this particular subject. Dec 02, 2015 click here to discover dozens of free data science and machine learning related books. Principles of neural science then proceeds with an indepth examination of the molecular and cellular biology of nerve cells, synaptic transmission, and the neural basis of cognition. The central science the leading general chemistry text for more than a decade. An extensive revision has taken this text to new heights. Gebruik is niet toegestaan voor zakelijke enof commerciele doeleinden, maar uitsluitend voor eigen studie. Delivered on the ebook central platform built for research. Click here to discover dozens of free data science and machine learning related books. Its a flat object made from a tree with flexible parts on which are imprinted lots of funny dark squiggles. A reference containing concepts central to sociology, history, different sociological perspectives, theoretical perspectives, and theories. Use features like bookmarks, note taking and highlighting while reading organizational physics the science of growing a business. The large pipes below carry the water down to a power plant. New ideas about how to teach chemistry are constantly being developed, and many of them are reflected in how our textbook is organized and in the ways in which topics are presented.
An archive of all oreilly data ebooks is available below for free download. Principles of neural science, fifth edition books pics. Accurate, datadriven authorship with expanded interactivity leads to greater student engagement unrivaled problem sets, notable scientific accuracy and currency, and remarkable clarity have made chemistry. Dive deep into the latest in data science and big data, compiled by oreilly edito. Cosmos is one of the bestselling science books of all time. May 16, 2014 in spite of the amazing technological marvels of the modern world that have stemmed from science, there is no agreed upon definition of what science is. Natural sciences students can pursue their studies through distance education fully or partially online. In this lively, colorful, and engaging work, don degracia contends that science is a very weak form of what has been described for thousands of years in hindu india as samadhi. The remaining sections illuminate how cells, molecules, and systems give us sight, hearing, touch, movement, thought, learning, memories, and emotions. Free download chemistry the central science 14th edition. It turned out to be a pain so about five weeks into the semester i decided i needed.
The outreach site of the members of the american physical society. Free download chemistry the central science 14th edition in pdf written by theodore l. Basic books in science learning development institute. Since it was originally built over a hundred years ago, it is a truly an example of a feasible ror that was built without big government supplements. The central science 14th edition free download ebooks 1. A read is counted each time someone views a publication summary such as the title, abstract, and list of authors, clicks on a figure, or views or downloads the fulltext. Brilliant in its scope and provocative in its suggestions. The social function of science john desmond bernal.
Science books were keen to read in 2017 new scientist. Brown university of illinois at urbanachampaign, h. New coordinated science third edition maintains the same clear presentation and straightforward approach that has made previous editions so enduringly popular. Algorithmic and mathematical principles of automatic number plate recognition systems. The class listed that i needed the 12th edition but they also gave us mastering chemistry for free so i figured would just use the ebook. Eugene, bursten, bruce, murphy, catherine, woodward, patrick, langford. Most of the chapters were easy to understand from reading it once over. Prolific science writer brian cleggs new book looks to answer the notsosimple question of how our sense of reality is formed.
Get the latest updates on nasa missions, watch nasa tv live, and learn about our quest to reveal the unknown and benefit all humankind. Murphy university of illinois at urbanachampaign, patrick m. As an experimental science, its goal is to understand the natural world. The largest web research library on the afterlife, life after death, reincarnation, near death experiences nde, past lives, and related subjects. These programs are offered in such fields as chemistry, biology and environmental science. The library provides access to a large collection of ebooks. You can also watch the physicscentral news vodcast, see some great physics pictures, and listen to the physicscentral podcast where we discuss new and interesting topics in physics. How to have lucid dreams, astral projections and outofbody experiences. The central science kindle edition by brown, theodore e. Ebooks van ebscohost of proquest ebook central zijn vaak maar beperkt. Along the x axis is time, and on the y axis is the count of editions published. There are several selections starting from 2012 ebooks to 2016 ebooks. Read methods and models in neurophysics lecture notes of the les houches summer school 2003 by carson chow available from rakuten kobo. Electromagnetism 7 energy 37 general 405 gravity 7 mathematical physics 85.
Download physics for scientists and engineers pdf ebook. In response to market request, we have created the third australian edition of the us bestseller, chemistry. Chemistry the central science th edition unibookmaster. But one glance at it and youre inside the mind of another person, maybe somebody dead for. Javascript is disabled please enable javascript and refresh the page. Home ebooks at ucla research guides at ucla library. Sep 03, 2016 dive deep into the latest in data science and big data, compiled by oreilly editors, authors, and strata speakers. Discover the best science books, handpicked for you. Chemistry the central science 12th edition pdf by brown on. It builds on the foundations laid in books 14, which covered many parts of mathematics and physics, and on some parts of book 5, which refers to the structure and. Superstrings, hidden dimensions, and the quest for th. For example, the laws of physics can help explain how microwave ovens heat up food, and. Each free kit includes four experiments that introduce students to the basics of physics in a fun and approachable way. Ucla selectively licenses ebook titles from ebook central.
1493 1402 651 1513 983 790 671 358 1348 1161 122 1538 844 1261 1064 788 1029 1040 494 1246 1450 1040 680 621 1254 1148 1266 167 407 150 672 1423 866 1295 428 399 64 207 431 642 638 236 1314 977 889


text:
Otter's veto of 'instant racing' machine ban was illegal, senators say
Tue., April 7, 2015
By Betsy Z. Russell betsyr@spokesman.com(208) 336-2854
BOISE – Idaho Gov. Butch Otter has vetoed legislation to outlaw "instant racing" gambling machines in Idaho, but senators, while failing to override the veto, noted pointedly Monday that it likely was illegal.
The reason: Otter had five days to veto the bill and return it to the Senate. He vetoed it on Friday afternoon; the deadline was Saturday at 4:54 p.m. But he kept the news of his decision secret until Monday and didn't return the vetoed bill to the Senate until Monday morning.
Both the Idaho Constitution and state law say "it has to be returned to the Senate within five days," Senate Minority Caucus Chair Grant Burgoyne, D-Boise, an attorney, said Monday. "Five days was Saturday. It was returned today. It's law."
Senate GOP leaders said the Senate wanted to have a veto override vote anyway, after formally putting its legal concerns on the record – with three letters officially read into the record, one each from Senate President Pro-Tem Brent Hill, Minority Leader Michelle Stennett and Secretary Jennifer Novak, all noting the time the bill was returned to the Senate.
"The Senate just felt like it wanted to speak to the merits of the override," said Majority Leader Bart Davis, R-Idaho Falls, also an attorney. "We'll let our friends in black robes and courthouses sort through" the legal questions about the veto.
The bill, to repeal a 2013 law that authorized wagering on "historical horse racing," or rebroadcasts of past races, led to installation of slot machine-like "instant racing" machines at three locations, including the Greyhound Park Event Center in Post Falls. Lawmakers who said they were duped two years ago voted overwhelmingly to repeal the 2013 law.
But Otter vetoed the repeal, writing in his veto message, "In my view, a precious part of Idaho's western culture is at stake." Operators of the machines said without the financial boost they provide, Idaho's horse racing industry will go bust.
The Coeur d'Alene Tribe proposed SB 1011, the repeal bill. The tribe said the racing industry didn't jump through the hoops that Idaho Indian tribes did to authorize their reservation casinos, including a statewide ballot measure, a gaming compact negotiated with the state and multiple court cases.
Since 2000, the Coeur d'Alene Tribe has donated $22,000 to Otter's campaigns. But the principals behind the instant racing operations have donated $92,200 – more than four times as much.
Here's how that breaks down: Winning for Idaho, the political arm of Coeur d'Alene Racing in Post Falls, donated $20,000 to Otter's campaigns. The principals in Treasure Valley Racing, current operator of Les Bois Park near Boise, gave $72,200 to Otter's campaigns in the same time period.
That includes $26,000 from Harry Bettis; $23,500 from Larry Williams; $13,000 from Linda Yanke; $6,000 from Robert Rebholtz Jr.; $2,450 from Jim Grigsby; and $1,250 from John Sheldon, according to campaign finance disclosures filed with the secretary of state's office.
Otter wrote in his veto message that he wanted a moratorium on adding any new instant racing machines in Idaho, and reconsideration of the approval for the machines at the Double Down Betting Bar & Grill in Idaho Falls, an off-track location, because he said the machines should be only at racetracks.
In the Senate's override vote, a 19-16 majority favored overriding Otter's veto, but didn't hit the required two-thirds supermajority. In its original vote on the bill, the Senate approved it 25-9. A two-thirds vote in the 35-member Senate requires 24 votes.
Hill, who was the bill's Senate sponsor and supported overriding the veto, said, "It's a big step to override a veto, particularly by a governor of your own party."
Seven senators changed their votes from yes to no, including Sen. Mary Souza, R-Coeur d'Alene. No one changed from no to yes. One senator who missed the earlier vote voted yes.
Stennett, D-Ketchum, said her caucus questioned "what we thought was not a lawful process." She said the veto could well be challenged in court.
The bill would have outlawed instant racing machines as of July 1. For now, they remain legal; it's unclear how long a court challenge would take.
Helo Hancock, legislative liaison for the Coeur d'Alene Tribe, said, "We'll be certainly discussing our options in the short term."
Published: April 7, 2015, midnight
Tags: 2015 idaho legislature, butch otter, campaign finance, gambling, greyhound park, instant racing, veto

redpajama_set_name: RedPajamaCommonCrawl


text:
EcosystemsInfluencersEnergy StorageTechnologyEnergy 208 views
Fatih Birol
Dr. Fatih Birol took office as Executive Director on 1 September 2015, twenty years after first joining the International Energy Agency (IEA) as a junior analyst. Well known internationally for his work in the energy field, his election as Executive Director marks one of the rare occasions that the head of an international organisation has been selected internally. Prior to assuming his current duties, he held the positions of Chief Economist and Director of Global Energy Economics, with responsibilities that included directing the flagship World Energy Outlook publication. During his career, Dr. Fatih Birol has made a significant contribution to the international policy debate on energy and climate change. He has become a sought-after speaker at major international gatherings and has been regularly called upon for private meetings with world leaders. Dr. Birol has been named by Forbes Magazine among the most powerful people in terms of influence on the world's energy scene. He is the Chairman of the World Economic Forum's (Davos) Energy Advisory Board and serves as a member of the UN Secretary-General's Advisory Board on 'Sustainable Energy for All'. He is the recipient of numerous awards from government and industry for his contribution to energy and climate economics. In 2013, he received the Japanese Emperor's Order of the Rising Sun, the country's highest honour. He has also been decorated by the governments of Austria (Golden Honour Medal), France (Chevalier dans l'Ordre des Palmes Académiques), Germany (Federal Cross of Merit), Italy (Order of Merit of the Republic), the Netherlands, Poland, Sweden (Order of the Polar Star), Turkey, the United States and the Russian Academy of Sciences. He is a past winner of the International Association of Energy Economics' award for outstanding contribution to the profession. Prior to joining the IEA in 1995, Dr. Birol worked for a number of years as an oil market analyst at the Organisation of the Petroleum Exporting Countries (OPEC) in Vienna. A Turkish citizen, Dr. Birol was born in Ankara in 1958. He earned a BSc degree in power engineering from the Technical University of Istanbul. He received his MSc and PhD in energy economics from the Technical University of Vienna. In 2013, Dr. Birol was awarded a Doctorate of Science honoris causa by Imperial College London. He was made an honorary life member of Galatasaray Football Club in 2013.
Previous ArticleSystem And Method For Block-Chain Verification Of GoodsNext ArticleCarmine Difiglio
Educational Program To Drive 3D Printing Adoption
Controllable Electron Flow In Quantum Wires
Catalina Curceanu
Siemens To Create 'Most Efficient' UK Battery Gigafactory
AI And ML Are Transforming The Future Of Renewable Energy
Menny Barzilay
7 + = fourteen


text:
Chevy Volt goes upscale in new electric Cadillac (Update)
The Cadillac ELR debuts at media previews for the North American International Auto Show in Detroit, Tuesday, Jan. 15, 2013. (AP Photo/Paul Sancya)
General Motors is trying to take the Chevrolet Volt's electric technology upscale with a new Cadillac.
The company on Tuesday introduced the ELR, which has the same battery and gas-powered generator as the Chevy version.
The new car has angular lights and fenders like other new Cadillacs, but it also has a more sloped, forward-leaning aerodynamic look. It also has a plush new interior that differentiates it from the Volt and sets the tone for future Cadillacs.
Don Butler, vice president of marketing for Cadillac, said GM isn't expecting huge sales, but that's not needed to make a luxury car a success.
"With luxury it's not necessary to reach a lot of people. Luxury buyers want something that's special, that's unique, that's different from everything else on the road," he said.
Bob Ferguson, Vice President of Global Cadillac, left, and Mark Adams, Executive Director of Cadillac Global Design stand next to the Cadillac ELR after its unveiling during the North American International Auto Show in Detroit, Tuesday, Jan. 15, 2013. (AP Photo/Carlos Osorio)
Production starts late this year, and the car will hit showrooms early in 2014 in North America. GM promises to produce a limited number to make the car unique on the roads. The car will be exported to China and Europe:
UNDER THE HOOD: The ELR has a 5.5-foot (1.65-meter)-long, 435-pound (197-kilogram) T-shaped battery that can take the car about 35 miles (56 kilometers) on electricity. A 1.4-Liter onboard gasoline generator kicks in after the battery runs down, so owners don't have to worry about getting stranded when the juice runs out. The system has the equivalent of a gasoline engine's 207 horsepower. Just like the Volt, GM is putting an 8-year warranty on the battery. The generator runs on premium gas.
HOW IT ROLLS: The ELR will have 20-inch (50-centimeter) wheels pushed to the edge of the body, with tires designed For performance and fuel-efficient low-rolling-resistance.
BRAKES: Like the Volt, designed to use braking energy to help recharge the battery, especially in city driving.
Mark Adams, Executive Director of Cadillac Global Design stands next to the Cadillac ELR after its unveiling during the North American International Auto Show in Detroit, Tuesday, Jan. 15, 2013. (AP Photo/Carlos Osorio)
FUEL ECONOMY: Not released, but the Volt gets an estimated 98 miles per gallon gasoline equivalent (41.6 kilometers per liter gasoline equivalent).
SEATS: Four.
PRICE: Not released. But it will be more than the Volt, which starts at $31,645 including a $7,500 federal electric car tax credit. It also can be leased for under $300 per month.
WHERE IT'S MADE: Detroit-Hamtramck Assembly plant.
Michigan to get 5,300 charging stations for electric cars
Citation: Chevy Volt goes upscale in new electric Cadillac (Update) (2013, January 15) retrieved 18 January 2020 from https://phys.org/news/2013-01-chevy-volt-upscale-electric-cadillac.html
Water level in submerged closed vessel after it is turned upright
Design loads for wind towers & jackets?
Electromagnet Coil Performing Poorly
Temperature of the tank in a superheater
Could steam cars be possible in 2020s?
Determination of glucose in hot beverages
More from General Engineering
Chevy Volt's official mileage: 93 mpg on electric
GM may have electric car breakthrough (Update)
GM hopes new Spark will jolt electric sales
GM says Volt will be landmark fuel savings vehicle
GM launches Volt, ramps up green hiring
China's quest for clean, limitless energy heats up
Dutchman ends 'world's longest electric car trip' in Australia
Global energy demand to soar one third by 2040: BP
Scientists find way to help fuel cells work better, stay clean in the cold
Pushing lithium ion batteries to the next performance level
Researchers achieve highest certified efficiency of organic solar cells to date


Where to go to find out the latest news.
Want to know more about Jim? Go here.
Don't remember what Jim's been in? This is for you.
Find out more about the mailing list.
How to contact Jim and/or the owner of the site.
Who's the person behind this site? Find out here.


We used to call it being a 'tomboy" when we were kids, right? Well, this month is all about appreciating your tom-boy-ness!
Why is this important you ask? How will this help my marriage, you ask? Well, of course we'd like to say: BUY THE BOOK - ha!
NO, seriously - remember last month? It was "Get In Touch With Your Feminine Side Month." Well, didn't it feel great to see your Partner in a bubble bath, or watching a chick flick?
The point is to slip into your spouse's shoes and walk around a little bit to feel what it is like to be them. Sometimes, you learn new things when you try new things. So, here we are in the land of testosterone...let's get started!
Sign up to receive email or text updates from our google calendar for more ideas all month long.
Welcome To 'Get In Touch With Your Masculine Side' Month!
How do you define masculinity? In terms of strength? Intellect? Attitude?
Well, whatever it is that you think is masculine vs feminine - take note, because this month its time to appreciate the world of masculinity.
• Do some work on the car - learn how to change the oil, or simply clean and wax it if this is something you never do.
• Learn how to use a new tool or gadget. Ever used a drill or chain saw???
• Get in the driver's seat - literally!!!


text:
The latest Google Doodle celebrates the Apollo 11 anniversary
Latest in Tomorrow
Image credit: AP Photo/John Raoux
SpaceX completes its first US national security mission
A military GPS satellite is the start of a new era for the company.
12.23.18 in Space
AP Photo/John Raoux
SpaceX managed to squeak in one more milestone before the end of 2018. The private spaceflight company successfully launched its first-ever US national security mission, carrying the US Air Force's equally new GPS III satellite into orbit. The effort was comparatively messy as far as recent SpaceX launches go. The company delayed the launch multiple times over the past several days, and the Air Force's performance margin requirements ruled out a landing for the Falcon 9 rocket's first stage.
The GPS III flight opens a door for SpaceX. While it's certainly no stranger to handling US government payloads, this shows that it can handle military launches as well. That's good for its bottom line, of course, and it illustrates how reliable the firm has become since its 2016 launchpad explosion. You can expect Falcon Heavy to start handling this role by 2020.
It also caps what has been a largely successful year for SpaceX (though not so much for its founder). The highlight of 2018 was undoubtedly the first Falcon Heavy launch, but SpaceX also marked the first launch of its final Falcon 9 variant, sent its first internet satellites into orbit and announced its first lunar tourist. Whether or not 2019 will be as rosy remains to be seen, but there are major events on the horizon that include test flights for its crew capsule and Starship -- if all goes well, 2018 will seem like just a stepping stone on the way to bigger and better things.
Source: SpaceX (YouTube), (Twitter)
In this article: falcon9, gear, gps, gpsiii, launch, lockheedmartin, rocket, satellite, space, spacex, tomorrow, usairforce, video


In October, cyclone Leslie devastated the Iberian peninsula, only the second time a tropical cyclone has hit Europe since 1842, the other being Vince in 2005. Climate scientists linked the severity of this storm to increased sea temperatures. Leslie coincided with the meeting of the Intergovernmental Panel on Climate Change (IPCC), the UN climate research body, where a special report was presented that called for a new target to be adopted to restrict the global temperature rise to 1.5C above pre-industrial levels, instead of the present target of 2C.
The report was commissioned due to increasing evidence that the extreme weather events of the past two decades are linked to the greenhouse gas emissions, mainly of carbon dioxide (CO2), that have led so far to a rise in temperature of 1.5C. Until recently it was thought that, if the increase could be restricted to 2C, the worst effects of global warming could be avoided. The recent extreme weather connected to the rise of only 1C caused a rethink.
The report directly compares the effects of a 2C to a 1C rise, with the clear and verifiable conclusion that an extra 0.5C will increase the risk of extreme heat, drought, floods and poverty. At 1.5C it is possible that 50% less of the world's population would suffer from water stress, and hundreds of millions fewer of the poorest on the planet would face poverty as a result of climate change.
Heat-related deaths and forest fires would be more severe at 2C, but the impact on the natural world would be even greater. Pollinating insects would be almost twice as likely to lose half their habitat, with unforeseeable consequences for agriculture. Coral reefs would be virtually wiped out – at 1.5C, 10% could be saved. Sea-level rise would affect ten million more people by 2100 with 2C.
The damage to the oceans will also be less severe with 1.5C. There is already increased acidification and lower levels of oxygen in seawater caused by climate change, but marine fisheries are projected to lose three million tonnes at 2C, twice the amount lost at 1.5C. Ice-free summers in the Arctic, which is warming at three times the rate of the world as a whole, will occur every ten years at 2C, compared to once every 100 years at 1.5C.
The IPCC has reaffirmed with more certainty than ever that climate change is happening now and that there are only twelve years left to avoid potentially devastating effects. Despite this stark warning, some prominent climate scientists think that the conclusions are still too cautious and that the risks are even greater on the downside than made out in the report. It is true that some of the dangers that are harder to predict concretely at this stage have been downplayed or omitted. This was probably done to avoid frightening major power governments which might conclude that meaningful action would be too expensive.
This approach ignores the fact that these governments have been unwilling to take any meaningful action to tackle global warming for nearly three decades, whatever the cost or level of risk. However, working-class and poor people can also have a sceptical attitude to the issue, correctly fearing that they could be made to pay for tackling climate change, rather than the big corporations responsible for the great majority of the pollution.
As a result, some workers are tempted to listen to the climate-change deniers, or global-warming effects deniers, who latch on to any ambiguity or inevitable lack of precision in the data predicting events decades into the future in order to discredit climate science. In these circumstances, the IPCC is doing the right thing, although probably for the wrong reason, in adopting a cautious approach – not taking the risk of giving the deniers undeserved credibility.
Restricting temperature rise to 1.5C would make a big difference. Yet, even if this is achieved, there will still be extremely serious environmental consequences. Although the report does not categorically state that avoiding 1.5C is impossible, the implication is that it is nearly inevitable. Out of the 90 'pathways' (models) considered, only nine resulted in temperatures peaking below a 1.5C rise. The high likelihood of 1.5C is the result of decades of criminal inaction by the leading capitalist powers. It means that containing and then reversing warming must remain the priority, although adaptation to the consequences of global warming will also have to be tackled.
The report's authors spell out what needs to be done to restrict warming to 1.5C, restating what has been clear for many years, but they add that immediate radical action is needed. They also say this will have to be on a historically unprecedented scale to have any chance of success. Carbon dioxide emissions will have to be cut by 45% by 2030, and industrial CO2 pollution by 75-90% by 2050.
This will require investment to be increased at least fivefold in low carbon technologies, such as wind power and solar, and in energy efficiency measures like building carbon neutral homes. The deployment of renewables will have to increase by up to 14 times. In addition, green transportation will have to be introduced, including electric cars. Massive reforestation must be started, since trees absorb CO2.
Controversially, it is also proposed that introducing carbon capture and storage technology will be required to achieve the 1.5C target. This will involve continuing to generate power using the fossil fuels that produce CO2, but capturing and storing the gas before it enters the atmosphere. The problem is that no safe method to do this exists for the vast quantity of gas that will be produced.
What are the prospects for the unprecedented changes demanded by the report? Professor Jim Skea from Imperial College London, one of its authors, said: "We show it can be done within the laws of physics and chemistry. Then the final tick box is political will. We cannot answer that. Only our audience can – and that is the governments that receive it".
The response from the governments referred to was muted, even from those that like to pose as green. One reason is that previous findings from the IPCC included a much longer timescale for action, 2050. When radical measures are needed to produce results in only twelve years, paying lip service to the IPCC findings then effectively ignoring them risks losing credibility. Anyway, actions speak louder than words. The German government, which has long claimed green credentials, is currently pulling down forests to dig for coal. Another 'green champion', Norway, is pushing ahead with oil exploration in the Arctic.
Some environmentalists look in hope to China, the world's biggest greenhouse gas emitter, since it is now the global leader in renewable energy production. It is true that there was a levelling out of emissions a few years ago, following a reduction in the rate of economic growth in China, but greenhouse gas output has now begun to increase again. This is partly linked to the government's drive to increase the number of polluting coal-fired power stations, while the available renewable technology is not being fully utilised.
Britain's Tory government, which until recently also claimed to be environmentally friendly, is now carrying out former prime minister David Cameron's demand to 'dump the green crap'. It is championing shale gas extraction, which has restarted in Lancashire, after initial drilling caused minor earthquakes seven years ago. Apart from the danger of earthquakes and the pollution of groundwater, burning shale gas in power stations will generate more greenhouse gases, adding a further twist to global warming.
After the Kyoto treaty ended in 2012, the Paris accord of 2015 is the only vehicle for international action that claims to address climate change. Participating countries have made pledges of how much they intend to cut their greenhouse gas output, targets that will be reviewed in 2020, the year the scheme is meant to come into operation. There are three main problems linked to the accord, however.
Firstly, the pledges made are so low they will result in temperatures rising by a catastrophic 3C, a chasm away from the 1.5C the IPCC is calling for. The second snag is that these pledges are all voluntary, so there are no teeth in the Paris accord to enforce even these totally inadequate targets. After nearly 30 years of back-sliding by the major powers it would not be cynical to doubt whether the existing pledges will be honoured, even less that any promises made in 2020 will conform to a 1.5C target and, if they were to be made, that they would be carried out.
Finally, Donald Trump has announced that the USA, the second biggest emitter of greenhouse gases, will pull out of Paris, a move that will fundamentally undermine its credibility. There is, therefore, very little evidence that meaningful action will be taken by the big polluting powers, whether addressing a 1.5C target or 2C.
This conclusion is not linked to the actions of any malign individuals like Trump. It goes much deeper, to the way capitalism as a system operates.
The world is dominated by a few dominant powers, whose governments above all represent 'their own' multi-national corporations. This handful of huge firms compete for market share and profits with their rivals in the other nation states and rely on their governments to protect their interests, in the first place, profits. This is a fundamental reason why any meaningful international agreement to tackle global warming has proved impossible.
Action on climate change will threaten profits, particularly of the politically powerful big oil firms, which stand to lose the most by a switch to renewable energy. Consequently, these corporations have successfully lobbied their governments to block any significant concessions that could have led to an international agreement on global warming that would have met the planet's needs.
These firms look at the estimated short-term cost of radical action and conclude that it is unacceptable, even though all the studies show that the cost of doing nothing now will be far greater in the long term, due to the future devastation caused. The latest IPCC analysis is that it will cost $900 billion per year to implement the programme it says is needed. It is inconceivable that the capitalists will accept this and the blow it would mean to their profits. It is also hard to imagine that the present shaky world economic system would be able to accommodate such a rapid, radical change without major dislocation.
Yet $900 billion represents less than 2% of world economic output. It would be entirely possible, as part of a democratically organised socialist plan of production, to implement such spending without dislocating the economy or cutting across the other urgent needs of society. This cannot happen, however, if profit remains the driving force in the economy. So it has never been more urgent to overturn the present system and create the possibility of tackling the danger of global warming.


While I may not be heading out to sea anytime soon I've got the perfect outfit for the vacation. I have these gold Dana Buchman wedges that got a while back because they go with so much it's amazing! The cork look of the wedge gives them more of a casual or daytime look in my opinion, which is why they are perfect for this outfit. The Cynthia Rowley top I got for a steal (just $5!) It's a personal favorite of mine because the cobalt on white is a gorgeous print. I also pair it under blazers from time to time because it's a great way to dress up a business casual look.
The white linen shorts are a great addition to practically any outfit, I have them in 4 different colors! (from the Gap). I love that they are linen and longer than most shorts so I can pair them with dressier outfits. Last but not least… cute bracelets from the Gap as well, in cobalt add a personalized touch to the outfit.
If I were actually on vacation I would totally pair this look with a fedora or summery hat.


Great unused glass 7x50 reticle, 25mm diameter x 1.8mm thick. This has a horizontal scale 6mm from the bottom with 2 additional center lines above the middle of the scale. Labeled in increments: 40,30,20,10,(center),10,20,30,40. In the original military packaging.


Highbury Farm is a first generation family farm of 144 acres plus additional grazing run by Peter and Yvonne Gear. Peter and Yvonne have been at Highbury Farm for 30 years. They also have two sons and a daughter. The farm is at the moment running a flock of over 450 ewes, of where are Poll-dorset and Easycare. The rams put to the ewes are Polldorset, Charolais, Beltex and Easycare. All the lambs are either grass fed on permanent pasture with clover mixtures or creep fed. The Polldorset females are kept as their fleeces are used for knitting wool also the Easycare female lambs are being brought into the flock, and the remaining lambs are sold via farmers markets or from the farm.
Our Natural Wool products are all hand knitted and designed on the farm by our Daughter Kelly.
(Photos of our sheep, Peter and not forgetting our four legged gang Cass,May and little Mist.
The project has helped us to expand our existing business, with being able to take the wool further; here being able to produce woollen garments and allow their daughter Kelly to come and join the family business. The sausage production is allowing us to expand our existing meat market.


As much as an elderly adult might try to resist, he or she may eventually need assistance. Sometimes the need is precipitated by an injury from a fall or accident. Sometimes the family notices diminishing abilities or receives the diagnosis of dementia. And sometimes, it's just the noticeable process of aging as the years go on. Regardless of what creates the need, how can anyone decide whether home care is best versus long-term care in a nursing home?
A permanent nursing facility can provide a solution when medical care is necessary, but aging in place may still be a better solution. When an adult is in permanent care, payments are picked up by Medicaid after the money has run out, but that doesn't provide enough profit to sustain a nursing home. For this reason, many facilities are no longer offering long-term care.
Reduced permanent care facilities created a need for home care services. These services can be easy to coordinate with the client, family members and medical professionals. Home care plans can allow the declining senior to remain happily at home where they usually prefer to be. This allows them to be around friends and family in familiar and comfortable surroundings within their community.
Options for home care typically cost less than nursing homes, which are priced at an average of $6,500 per month. For a senior on an annual fixed income, with limited assets, that's out of range.
Sometimes, a senior actually only needs three or four hours a day of assistance with bathing or dressing, or some simple meal prep. These few hours can save thousands of dollars compared to nursing home care.
Allowing someone to age in place with home care affords them healing time from physical injuries, and of course, they're better off mentally and emotionally, too. The adult's dignity is maintained and he or she can have a higher quality of life in the later years. When living alone is no longer safe, home care allows the person to maintain a sense of independence for a longer amount of time.
There are numerous options to replace nursing facilities. When you consider the financial costs, independent lifestyle, and maintained dignity, home care options may be perfect for you or your loved one.
Call us at Home Care Assistance in Dallas to talk about short and long-term options for either you or your loved one. Consider the advantages of home care that make a better life for you and your family.


text:
Government by algorithm
by Tony on Aug 30, 13:32
by Nice Marmot on Aug 27, 06:25
Matthew B. Crawford's lengthy essay in the latest number of American Affairs, "Algorithmic Governance and Political Legitimacy," imposes heavy demands on the reader — it may require several cups of coffee, and it will certainly require setting aside your phone — but the slog is worth it.
The writer, a motorcycle mechanic who moonlights as a philosopher (or maybe it's the other way around), unfolds a profound theory to explain, and to a certain degree defend, the populist revolts that have roiled politics around the world in recent years. He draws on many sources, but the most salient are interrelated developments in the technology sector and government. The argument, though very complex, might be summarized thusly: the technocratic effort to replace government by natural persuasion and consent, with government by rationalistic algorithm and nudge, has introduced a crisis of legitimacy, the resolution of which we cannot yet foresee.
Government by persuasion and consent, you see, results in an ineradicable untidiness. Persuasion may be conditional, consent may be refused; ornery men will stoneface the most perfect logical syllogism; the indecisive may withdraw consent at the most perfectly inopportune moment. The whole thing presents to the rationalistic mind an excruciating muddle. One does not often find deliberative assemblies — school boards, city councils, parliaments — filled up with trained engineers. One finds them filled up with lawyers; engineers often regard them as akin to torture.
The engineering mind, meanwhile, produced the algorithm. Therefore, government by algorithm is mechanistic, indeed automated. Its edicts emerge from behind an impenetrable veil of high-end mathematics backed by supreme computing power. As Crawford puts it, with sly understatement: "One reason why algorithms have become attractive to elites is that they can be used to install the automated enforcement of cutting‑edge social norms."
But the emphasis rests decidedly on "cutting-edge" not "norms":
Locating the authority of evolving social norms in a computer will serve to provide a sheen of objectivity, such that any reluctance to embrace newly announced norms appears, not as dissent, but as something irrational — as a psychological defect that requires some kind of therapeutic intervention. So the effect will be to gather yet more power to what Michel Foucault called "the minor civil servants of moral orthopedics." (Note that Harvard University has over fifty Title IX administrators on staff.) And there will be no satisfying this beast, because it isn't in fact "social norms" that will be enforced (that term suggests something settled and agreed-upon); rather it will be a state of permanent revolution in social norms. Whatever else it is, wokeness is a competitive status game played in the institutions that serve as gatekeepers of the meritocracy. The flanking maneuvers of institutional actors against one another, and the competition among victim groups for relative standing on the intersectional totem pole, make the bounds of acceptable opinion highly unstable. This very unsettledness, quite apart from the specific content of the norm of the month, makes for pliable subjects of power: one is not allowed to develop confidence in the rightness of one's own judgments.
Crawford also makes an important point which may cause readers, who have so far been nodding along contentedly, to sit up rather straighter in their chairs.
To grasp the affinities between administrative governance and algorithmic governance, one must first get over that intellectually debilitating article of libertarian faith, namely that "the government" poses the only real threat to liberty. For what does Silicon Valley represent, if not a locus of quasi-governmental power untouched by either the democratic process or by those hard-won procedural liberties that are meant to secure us against abuses by the (actual, elected) government? If the governmental quality of rule by algorithms remains obscure to us, that is because we actively welcome it into our own lives under the rubric of convenience, the myth of free services, and ersatz forms of human connection — the new opiates of the masses.
To characterize this as the operation of "the free market" (as its spokespersons do) requires a display of intellectual agility that might be admirable if otherwise employed. The reality is that what has emerged is a new form of monopoly power made possible by the "network effect" of those platforms through which everyone must pass to conduct the business of life. These firms sit at informational bottlenecks, collecting data and then renting it out, whether for the purpose of targeted ads or for modeling the electoral success of a political platform. Mark Zuckerberg has said frankly that "In a lot of ways Facebook is more like a government than a traditional company. . . . We have this large community of people, and more than other technology companies we're really setting policies."
It was early innovations that allowed the platform firms to take up their positions. But it is this positioning, and control of the data it allows them to gather, that accounts for the unprecedented rents they are able to collect. If those profits measure anything at all, it is the reach of a metastasizing grid of surveillance and social control.
Later on, Crawford lays out a detailed history of the shift in principle at Google, from its early days as a purely neutral search engine, excluding all ancillary considerations from that design, to its current form as a colossal corporation which imbeds many considerations, stated or unstated, into the search engine machinery. These considerations arise out of a distinctive worldview, a metaphysical conception of the nature of destiny and man, which I need not sketch out in any detail to readers of this blog. The place-names themselves function now as synecdoches for it. Silicon Valley. Cupertino. Menlo Park. San Francisco.
And the commercial outworking of this worldview amounts, indeed, to a very emphatic theory of government — algorithmic government.
The ideal being articulated in Mountain View is that we will integrate Google's services into our lives so effortlessly, and the guiding presence of this beneficent entity in our lives will be so pervasive and unobtrusive, that the boundary between self and Google will blur. The firm will provide a kind of mental scaffold for us, guiding our intentions by shaping our informational context. This is to take the idea of trusteeship and install it in the infrastructure of thought.
Crawford summarizes the shift at Google this way:
On one hand, facilitating the free flow of information was Silicon Valley's original ideal. But on the other hand, the control of information has become indispensable to prosecuting the forward march of history. This, in a nutshell, would seem to be the predicament that the platform firms of Silicon Valley find themselves in. The incoherence of their double mandate accounts for their stumbling, incoherent moves to suppress the kinds of speech that cultural progressives find threatening.
I'll leave it there and let readers themselves wrestle with this dense and valuable essay.
Posted by Paul J Cella on August 18, 2019 2:02 AM | Del.icio.us | Permalink
Tags: (algorithms) (Facebook) (Google) (government)
It seems to me that this is why, in litigating contexts, whatever benefits (protections against lawsuit, enshrined in positive law) have been granted to an organization *on the grounds that* it is acting merely as a content-neutral platform should be able to be *withdrawn* if the organization does not fulfill that role anymore and becomes a publisher de facto. Obviously whether or not a given protection applies to *you* (Google, Facebook) depends on the facts on the ground. That way of telling Facebook, Google, etc., that they cannot simultaneously have their cake and eat it in court seems to me to be the kind of approach that a libertarian can get behind.
Posted by Lydia Mcgrew | August 19, 2019 1:32 PM
"It was early innovations that allowed the platform firms to take up their positions. But it is this positioning, and control of the data it allows them to gather, that accounts for the unprecedented rents they are able to collect. If those profits measure anything at all, it is the reach of a metastasizing grid of surveillance and social control."
Shoshana Zuboff chronicles this at length and in great detail in her The Age of Surveillance Capitalism.
"It seems to me that this is why, in litigating contexts, whatever benefits (protections against lawsuit, enshrined in positive law) have been granted to an organization *on the grounds that* it is acting merely as a content-neutral platform should be able to be *withdrawn* if the organization does not fulfill that role anymore and becomes a publisher de facto."
The problem is that these entities are a new thing, part neutral platform, part publisher rolled into one. The current laws regarding monopoly, publishing, etc., don't directly apply in many cases, and even conflict at some points, and thus would have to be modified considerably. The problem is, it's a tough job to do so and no one seems willing to take it on, especially as both parties know which side of their bread is buttered. The GOP cannot appear to be "anti-corporate," while the Dems know that these companies are "woke," and thus are allies of a sort on cultural issues.
Posted by Nice Marmot | August 20, 2019 7:36 AM
Crawford makes some fantastic observations about the current state of affairs, and it well behooves us to realize the extent of the problem:
I mean "authority" in the broadest sense, including our interactions with outsized commercial entities that play a quasi-governmental role in our lives.
Anyone on FB who ignores the authority of FB's rules finds out the hard way. And his reference to the difficulty of an ordinary joe to put his life back together again after one of the 3 credit rating agencies have made a mistake on his credit is very apt. It is a lot like a person putting his life together again after the government erroneously (but in complete procedural fairness) accuses him of murder - only more difficult.
Perhaps his scariest prophetic vision is of the "ideal" of the modern algorithmic control:
If you can recall the planet of the fat people from Wall-E, I think you can recognize the worry here.
However, it would be a lot better if Crawford happened to understand any of the root principles of anything that precedes, say, 1630. Because he seems to be almost wholly innocent of knowledge of pre-modern society. For instance, he says:
Our readiness to acquiesce in the conceit of authorless control is surely due in part to our ideal of procedural fairness, which demands that individual discretion exercised by those in power should be replaced with rules whenever possible, because authority will inevitably be abused. This is the original core of liberalism, dating from the English Revolution.
Sorry, but he seems to be denigrating the notion of "rule of law". The problem is that rule of law has its roots a LOT earlier than the English Revolution and modern liberal democracies. The Romans had it: Cicero noted that "We are all servants of the laws in order to be free." Actually, even the Greeks paid tribute to the idea so some degree; Aristotle said
It is more proper that law should govern than any one of the citizens: upon the same principle, if it is advantageous to place the supreme power in some particular persons, they should be appointed to be only guardians, and the servants of the laws.
Medieval times had kings subject to all sorts of laws. The phrase in English dates back to 1500, which I think we can agree happened before the English Revolution or the advent of liberal democracy (taking place only 9 years after Henry VIII came to the throne). In response to a complaint by James I in 1607, the great English jurist Sir Edward Coke quoted Henri de Bracton (13th century) saying "The King himself should be under no man, but under God and the Law."
Nor is his observation that humans tend to abuse power the root principle of liberalism. First of all, it was well recognized long before liberal democracy came about: Thomas Aquinas praised the method of dividing up the powers of ruling among different parts of government because of the tendency of rulers to abuse their power - he noted that this plan mimics the plan set forth by Moses (at God's direction) in Deuteronomy. Far more critical to the conception of liberal theory is Locke's claim
The natural liberty of man is to be free from any superior power on earth, and not to be under the will or legislative authority of man, but to have only the law of nature for his rule. The liberty of man, in society, is to be under no other legislative power, but that established, by consent, in the commonwealth; nor under the dominion of any will, or restraint of any law, but what that legislative shall enact, according to the trust put in it.
Of course, Locke was wrong here, in that he denies any principle of natural law (just for starters.)
Nor is Crawford right in assigning the difference between power and authority:
Now, we need to be careful here. Our cognition emerges from lower-level biological processes that are utterly inaccessible to us. Further, human beings confabulate, reach for rationalizations that obscure more than they reveal, are subject to self-deception, etc. All this we know. But giving an account is an indispensable element of democratic politics. Further, it is not only legislative bodies that observe this scruple.
When a court issues a decision, the judge writes an opinion, typically running to many pages, in which he explains his reasoning. He grounds the decision in law, precedent, common sense, and principles that he feels obliged to articulate and defend. This is what transforms the decision from mere fiat into something that is politically legitimate, capable of securing the assent of a free people. It constitutes the difference between simple power and authority.
One can note that he appears to think that our reason is at root fully explainable by mechanistic, biological processes, but let's pass over this modernist assumption: it is not necessary for his further point. What I object to more is his liberal assumption that it is the giving an account that transforms a dictate of a judge from an exercise of power into an exercise of authority. By this premise, God's authoritative dietary decrees to Moses are per se non-authoritative: God didn't explain his decrees.
Closer to home, the authority of a father over his children cannot rest on his giving an understandable account of why his commands are good and reasonable - it would be impossible, because children by definition must be directed before they are capable of reason. It is not of the essence of authority to GIVE reason, it is of the essence of authority to HAVE a reason. Indeed, St. Thomas makes this part of the very definition of law (in which he includes eternal and divine law):
Thus from the four preceding articles, the definition of law may be gathered; and it is nothing else than an ordinance of reason for the common good, made by him who has care of the community, and promulgated.
Wherein he sets out the formal, material, agent and final causes of law.
I also would dispute Crawford's claim here:
"Children in their games are wont to submit to rules which they have themselves established, and to punish misdemeanors which they have themselves defined." Thus did Tocqueville marvel at Americans' habit of self-government, and the temperament it both required and encouraged from a young age. "The same spirit," he said, "pervades every act of social life."
Writing recently in the Atlantic, Yoni Appelbaum notes the sheer bulk of voluntary associations that once took up the hours and days of Americans, from labor unions and trade associations to mutual insurers, fraternal organizations, and volunteer fire departments. Many of these "mirrored the federal government in form: Local chapters elected representatives to state-level gatherings, which sent delegates to national assemblies. . . . Executive officers were accountable to legislative assemblies; independent judiciaries ensured that both complied with rules." Toward the end of the twentieth century, however, this way of life more or less collapsed, as Robert Putnam documented in Bowling Alone. We still have voluntary associations, but they are now typically run by salaried professionals, not the members themselves, Appelbaum points out. This is part of the broader shift toward what has been called "managerialism."
This is part of a larger thesis of his, that of administrationism rather than governance by law.
In The Administrative Threat, Columbia law professor Philip Hamburger writes that, in contrast to executive power proper, "administrative power involves not just force but legal obligation." This is an important distinction, and in the blurring of it lies great mischief against the Constitution, which invested "the power to bind—that is, to create legal obligation" not in the executive branch but in Congress and in the courts. Administrative power "thereby sidesteps most of the Constitution's procedural freedoms." It is fundamentally an "evasion of governance through law."
Maybe there is a point to this, but I don't think he has quite managed to locate it properly. For one thing, I would argue that the executive power executed by a tariff official in 1795 to tell a ship-owner "under the law, you owe $25 in fees because ...blah blah blah wool blah...etc is different from an IRS agent telling a taxpayer "No, you have to use form 8863 to take the education credit, not just reduce your tax by $2500 on line 18" as a matter of DEGREE, not of kind. Anyone who has actually read parts of the tax law knows that Congress legislatively runs the show. The point is that both the tariff man and the income tax man bind by "legal obligation" (his phrase) because they bind by moral obligation when they carry out the law, just as do the police in carrying out the executive power to apprehend a criminal and put him in jail.
If a charged prisoner were then to kill a guard to escape, he would be violating both a legal and moral obligation because the police power binds when it carries out the law, it is nonsense to urge that the "administration" of the law is something other than the executive function and not binding in the same way the police power is. Still and all, this issue is one of his lesser problem areas, especially compared to the ones above.
Posted by Tony | August 21, 2019 12:47 AM
"The problem is that rule of law has its roots a LOT earlier than the English Revolution and modern liberal democracies."
I read Crawford differently here. To me it sounds like he's saying that it's the rule of law's "role" as the core of liberalism that dates from the English Revolution, not the rule of law per se.
"What I object to more is his liberal assumption that it is the giving an account that transforms a dictate of a judge from an exercise of power into an exercise of authority."
Again, I read him differently. He doesn't mention God's law-giving, but it's clear that God has both ultimate power and ultimate authority, making Him literally sui generis. Man can have both, and in varying proportions, so to speak. Del Noce argues somewhere that in modernity power and authority have become conflated, to the detriment of the latter, because the loss of the belief in objective truth has necessarily resulted in a gaggle of mere rival subjectivisms. An entity with true authority then, should be able to give a valid account of its dictates, whereas one which has simply assumed it based on power would not. Perhaps my reading of Del Noce and others has colored my perception on this issue, but it seems that this is what Crawford's getting at.
Del Noce argues somewhere that in modernity power and authority have become conflated, to the detriment of the latter, because the loss of the belief in objective truth has necessarily resulted in a gaggle of mere rival subjectivisms.
I haven't read Del Noce, so I am at a disadvantage here, but while I agree that power and authority have been confused, I think it is in the minds of confused political science majors that it has been conflated through bad theory. Everyone agrees (more or less) that the power of a brand new general who is taking over by coup and a gun in your face is not the same as authority. And going back to my example, everyone (more or less, other than shrieking feminists) agrees that a father's authority over his kids is distinct from his power over them, even if they have trouble explaining why.
An entity with true authority then, should be able to give a valid account of its dictates, whereas one which has simply assumed it based on power would not.
Perhaps, but can you imagine a slightly below-average IQ father in 17th century Germany being able to "give an account" of why his 11 year old son ought to help out on the farm that penetrates much deeper than "because I said so, and I will tan your hide if you don't", or better yet, why his son should obey his orders about going to church on Sunday, that didn't depend on "because I said so" or "because the Church said so" or "you'll go to Hell" (which are all effectively side-stepping a reasoned account and rooted in threat of force)? Does that unravel his authority to demand compliance?
The rival subjectivisms come in under various assorted "Studies" in universities as an attempt to explain authority, without having much connection with reality. After centuries of successful intrusion by liberalism's political concepts, we have a hard time countenancing terminology that purports to account for authority other than by "consent" which naturally hinges strongly on some kind of (sometimes implicit) persuasion / rationale. My point is that this model of authority is itself based on liberal assumption that does not successfully account even today for some recognized authority (and not God's, which is sui generis). It may seem that my counterexample is found only in the one natural community that is pre-political and tat my point cannot be extended to the political arena, but consider what account could have been given in 1750 among 99.999% of the subjects for why Austrians "should" obey the emperor, that could manage to avoid a purely ad hoc reliance on "because HIS father took the throne".
Posted by Tony | August 21, 2019 9:50 AM
"Everyone agrees (more or less) that the power of a brand new general who is taking over by coup and a gun in your face is not the same as authority."
I'm not so sure about that. A lot of left-liberals and progressives seem to have this idea that authority reduces to power, so that "questioning authority" and "speaking truth to power" amount to roughly the same thing.
I largely agree with your second point, and should have said "late modernity" rather than just "modernity." It's clear in Del Noce that he's talking mainly about post-60's liberalism, which chimes with what you say about contemporary "Studies."
Posted by Nice Marmot | August 21, 2019 12:09 PM
NM, I suppose that there maybe liberals who say that, but I doubt that any of them actually think it is true in practice. That is, they will act as if there are situations where a person who comes into power through nefarious means implies that their power is less legitimate than one who comes into power through "normal channels" like a fair election. Indeed, "fair" would cease to be meaningful about elections, if they really thought there was no distinction between power and authority, there would only be "successful" or "unsuccessful", and "playing by the rules" would be nonsense. (Yes, I know that plenty of people DON'T play by the rules, but lots of liberals who have drunk the Kool-Aid THINK people ought to play by the rules.)
Posted by Tony | August 25, 2019 3:22 PM
I agree, but that's not quite what I'm getting at. It has more to do with their shifting back and forth between the two, as if there's no difference between them unless they are the ones who see it.
The movement between power and authority ceases to be procedural and becomes ideological, so to speak. A procedure, even if backed by the rule of law, becomes suspect because it produces results not in line with the progressive narrative. In short, it seems that there's an awful lot of "goalpost moving" in left-liberal rhetoric. Power is bad when non-progressives wield it, but when they are in control, or if it is used in opposition to authority, it magically ceases to be mere power and becomes valid.
"I know that plenty of people DON'T play by the rules, but lots of liberals who have drunk the Kool-Aid THINK people ought to play by the rules."
Again I agree, but it seems that among the liberal left, "the rules" don't command the same deference that they do on the right and among old-style liberals. If the rules don't result in the desired outcome they are suspect, regardless of their lawful authority and procedural validity. For instance, I think the desire among progressives to scrap the Electoral College is evidence of this mentality.
A procedure, even if backed by the rule of law, becomes suspect because it produces results not in line with the progressive narrative. In short, it seems that there's an awful lot of "goalpost moving" in left-liberal rhetoric. Power is bad when non-progressives wield it, but when they are in control, or if it is used in opposition to authority, it magically ceases to be mere power and becomes valid.
Ahh, now I see what you are saying. Yes, that's a good point. One wonders about the sort of mind that lies behind the belief that if an act of authority doesn't achieve good results (defined by the progressive standards), then it could not have been valid authority to begin with. It is (in effect) little short of saying that the end justifies the means, but prettied up a bit, I guess.
For instance, I think the desire among progressives to scrap the Electoral College is evidence of this mentality.
I keep hearing about the "problem" with the Electoral College, as if it were a major impediment to good government, but the arguments seem all hollow. The argument I have seen most often is that it was there expressly for the sake of slave states, and while there is some plausibility to the thesis, it doesn't explain why it is bad today. Given that there aren't any slave states anymore.


The Park Place Inn and Cottages is part of the Sanford Historic heritage and very central to downtown on one of the most scenic streets in town, Park Avenue. The property was built in the early 1930's in the Craftsman and Colonial style of the era. All rooms are delightful, full of light, and provide wonderful ambiance, privacy and comfort for our guests.We are located at the corner of Park and 13th Street, just a short walk to downtown. Downtown Historic Sanford is know for its breweries, restaurants and local shops. Lake Monroe, St John's River Promenade and the Marina is less than 5 minutes to the Sun Rail and 10 minutes drive to Orlando Sanford International Airport which makes Park Place Inn & Cottages perfect for any business travel, vacation, weddings, corporate stay or pleasure trips.


text:
Gov. Herbert comes out against medical marijuana initiative, warning it would 'open the door to recreational use'
FILE - In this Sept. 7, 2017, file photo, Utah Gov. Gary Herbert speaks at a Senate Health, Education, Labor, and Pensions Committee hearing on Capitol Hill in Washington. Herbert on Tuesday, March 20, 2018 signed a bill allowing women to get birth control directly from a pharmacist rather than visiting a doctor each time they want to obtain or renew a prescription for birth control. (AP Photo/Jose Luis Magana, File)
By Taylor W. Anderson
| March 29, 2018, 11:21 p.m.
| Updated: March 31, 2018, 3:12 a.m.
Gov. Gary Herbert came out against a ballot initiative to legalize medical marijuana for a wide range of patients, saying in a statement Thursday the initiative was too broad and would open the door to recreational use.
He said Utah lawmakers got it right when they passed HB195 and HB197, which he signed, that will allow physicians to recommend marijuana for people who have an estimated six months or less left to live. The state would also contract with a grower and control dispensing of marijuana under rules the Department of Agriculture and Food will begin working on next month.
The ballot initiative would grant access to marijuana to a far longer list of patients. It would also allow for private growing and dispensing, similar to the framework in many of the 29 other states that allow the federally illegal plant for medicinal use.
Backers say the ballot initiative has nearly enough signatures to qualify for the Nov. 6 election.
Herbert said earlier this year that he thought Utahns would legalize medical marijuana. His spokeswoman later clarified that he was talking generally about medical marijuana and not the current ballot-initiative drive.
"We need to be cautious as we test and introduce cannabis into our formulary," Herbert said in the statement. "I believe the consequences of this initiative, even if they are unintended, will do more harm than good."
Herbert said his administration has worked with lawmakers for years on the issue, and he indicated he signed the bills despite wanting more study.
"I support efforts to allow medical researchers to better understand the medical properties of cannabis," he said. "That, in turn, will allow physicians and pharmacists to prescribe and dispense cannabis as a controlled substance in accordance to the highest standards of medical science."
Lawmakers who supported the bills — which narrowly passed the House before handily clearing the Senate — said the state should slowly wade into legalizing any form of the plant, which people have begun using for its purported medical benefits. HB197, which sets up the state-run growing and dispensing process, failed on its first vote on the House floor before passing.
Legislators originally proposed allowing marijuana use for people with a terminal illness but narrowed that to only patients with six months or less left to live. Doctors who recommend the cannabis plant to their patients wouldn't be penalized if the patients live longer than six months.
The ballot campaign assured throughout the legislative session that it would keep pushing for a vote of the people, and the initiative has continued polling well. Three of four registered voters support it, according to recent polls by The Salt Lake Tribune and Hinckley Institute of Politics.
Members of the initiative campaign said the governor's comments were expected after years of opposition from Utah lawmakers.
"While we appreciate the governor weighing in on medical cannabis, his comments are another example of what Utahns have grown tired of: politicians standing between patients and their physicians," DJ Schanz, director of the Utah Patients Coalition, wrote in a statement.
"Saying the most conservatively drafted initiative in the country would 'potentially' open the door for recreational use is a scare tactic that has no basis in truth," Schanz wrote.
Under Utah's law for residents to get issues on the ballot, campaigns need to get signatures from 10 percent of the number of voters who cast ballots in 26 of Utah's 29 state Senate districts in the last presidential election. The campaign has enough certified signatures in 23 of them and plans to cross the finish line before the April 16 deadline, according to campaign organizers.
"The campaign is extremely certain it will have signatures in every district necessary," said Connor Boyack, president of the libertarian-leaning Libertas Institute, which supports the initiative.
As for the governor's opposition, Boyack wrote in a statement it was "sad the governor and so many legislators remain content with criminalizing people who merely seek good health."
Eight states, including neighboring Colorado and Nevada, have legalized marijuana for adults to use recreationally.
tanderson@sltrib.comFollow @taylorwanderson
Gov. Herbert signs bills to send statue of Martha Hughes Cannon to U.S. Capitol, allow terminally ill 'right to try' medical marijuana
Lawmakers partly expanded Utah Medicaid, took small steps to address suicide, opioid addiction and marijuana issues
Businesses that are selling CBD — a cannabis byproduct — in Utah could do so legally under a bill that passed the Senate
Bills to legalize marijuana and set up state-run dispensary for terminally ill patients easily pass Utah Senate
Terminally ill patients in Utah could use medical marijuana grown and sold under a state-run system proposed by new bills


text:
Q: Session Times out with AD authentication on Jboss I am implementing Active Directory authentication on an old EJB 1.1/webwork/jboss app and i have replaced this code with an API method for AD and now the application timesout as soon as I Login. here is the below code.
Before AD:
AuthenticationManager securityMgr = (AuthenticationManager) securityCtx.lookup("securityMgr");
  SimplePrincipal principal = new SimplePrincipal(_username);
  char[] passwordChars = null;
     if (_password != null)
         passwordChars = _password.toCharArray();
  securityMgr.isValid(principal, passwordChars);

After AD:
UserInfo userInfo = com.authenticate.SingleSignOn.userAuthentication ("https://urllink/webservice.asmx/userAuthentication", _username, _password, "appname", "DEV", isNotExternal);

so as soon as i login and i am redirected to a page which has the code below
 <META HTTP-EQUIV="Refresh" CONTENT="0; URL=/app/login.begin.action">

this in turn takes me to the java code below
if (!getRequest().getSession().isNew()) {
            getRequest().getSession().invalidate();
}
return SUCCESS:  ( In webwork it will take to waht ever page you put for success in properties file here it is login page)

The problem is as soon as i login using AD it redirects me to login page. i wanted to know if i am missing something here and please point me in the right direction.

A: I found the problem to be with one of other libraries in my project

redpajama_set_name: RedPajamaStackExchange


text:
#if __INTEL_COMPILER && _MSC_VER
#pragma warning(disable : 2586) // decorated name length exceeded, name was truncated
#endif

#include "common/config.h"

#include "tbb/flow_graph.h"

#include "common/test.h"
#include "common/utils.h"
#include "common/utils_assert.h"
#include "common/test_follows_and_precedes_api.h"
#include "tbb/global_control.h"

#include <atomic>

//! \file test_limiter_node.cpp
//! \brief Test for [flow_graph.limiter_node] specification

const int L = 10;
const int N = 1000;

using tbb::detail::d1::SUCCESSFULLY_ENQUEUED;
using tbb::detail::d1::graph_task;

template< typename T >
struct serial_receiver : public tbb::flow::receiver<T>, utils::NoAssign {
   T next_value;
   tbb::flow::graph& my_graph;

   serial_receiver(tbb::flow::graph& g) : next_value(T(0)), my_graph(g) {}

   graph_task* try_put_task( const T &v ) override {
       CHECK_MESSAGE( next_value++  == v, "" );
       return const_cast<graph_task*>(SUCCESSFULLY_ENQUEUED);
   }

    tbb::flow::graph& graph_reference() const override {
        return my_graph;
    }
};

template< typename T >
struct parallel_receiver : public tbb::flow::receiver<T>, utils::NoAssign {

    std::atomic<int> my_count;
    tbb::flow::graph& my_graph;

    parallel_receiver(tbb::flow::graph& g) : my_graph(g) { my_count = 0; }

    graph_task* try_put_task( const T &/*v*/ ) override {
       ++my_count;
       return const_cast<graph_task*>(SUCCESSFULLY_ENQUEUED);
    }

    tbb::flow::graph& graph_reference() const override {
        return my_graph;
    }
};

template< typename T >
struct empty_sender : public tbb::flow::sender<T> {
        typedef typename tbb::flow::sender<T>::successor_type successor_type;

        bool register_successor( successor_type & ) override { return false; }
        bool remove_successor( successor_type & ) override { return false; }
};

template< typename T >
struct put_body : utils::NoAssign {

    tbb::flow::limiter_node<T> &my_lim;
    std::atomic<int> &my_accept_count;

    put_body( tbb::flow::limiter_node<T> &lim, std::atomic<int> &accept_count ) :
        my_lim(lim), my_accept_count(accept_count) {}

    void operator()( int ) const {
        for ( int i = 0; i < L; ++i ) {
            bool msg = my_lim.try_put( T(i) );
            if ( msg == true )
               ++my_accept_count;
        }
    }
};

template< typename T >
struct put_dec_body : utils::NoAssign {

    tbb::flow::limiter_node<T> &my_lim;
    std::atomic<int> &my_accept_count;

    put_dec_body( tbb::flow::limiter_node<T> &lim, std::atomic<int> &accept_count ) :
        my_lim(lim), my_accept_count(accept_count) {}

    void operator()( int ) const {
        int local_accept_count = 0;
        while ( local_accept_count < N ) {
            bool msg = my_lim.try_put( T(local_accept_count) );
            if ( msg == true ) {
                ++local_accept_count;
                ++my_accept_count;
                my_lim.decrementer().try_put( tbb::flow::continue_msg() );
            }
        }
    }

};

template< typename T >
void test_puts_with_decrements( int num_threads, tbb::flow::limiter_node< T >& lim , tbb::flow::graph& g) {
    parallel_receiver<T> r(g);
    empty_sender< tbb::flow::continue_msg > s;
    std::atomic<int> accept_count;
    accept_count = 0;
    tbb::flow::make_edge( lim, r );
    tbb::flow::make_edge(s, lim.decrementer());

    // test puts with decrements
    utils::NativeParallelFor( num_threads, put_dec_body<T>(lim, accept_count) );
    int c = accept_count;
    CHECK_MESSAGE( c == N*num_threads, "" );
    CHECK_MESSAGE( r.my_count == N*num_threads, "" );
}

//
// Tests
//
// limiter only forwards below the limit, multiple parallel senders / single receiver
// multiple parallel senders that put to decrement at each accept, limiter accepts new messages
//
//
template< typename T >
int test_parallel(int num_threads) {

   // test puts with no decrements
   for ( int i = 0; i < L; ++i ) {
       tbb::flow::graph g;
       tbb::flow::limiter_node< T > lim(g, i);
       parallel_receiver<T> r(g);
       std::atomic<int> accept_count;
       accept_count = 0;
       tbb::flow::make_edge( lim, r );
       // test puts with no decrements
       utils::NativeParallelFor( num_threads, put_body<T>(lim, accept_count) );
       g.wait_for_all();
       int c = accept_count;
       CHECK_MESSAGE( c == i, "" );
   }

   // test puts with decrements
   for ( int i = 1; i < L; ++i ) {
       tbb::flow::graph g;
       tbb::flow::limiter_node< T > lim(g, i);
       test_puts_with_decrements(num_threads, lim, g);
       tbb::flow::limiter_node< T > lim_copy( lim );
       test_puts_with_decrements(num_threads, lim_copy, g);
   }

   return 0;
}

//
// Tests
//
// limiter only forwards below the limit, single sender / single receiver
// at reject, a put to decrement, will cause next message to be accepted
//
template< typename T >
int test_serial() {

   // test puts with no decrements
   for ( int i = 0; i < L; ++i ) {
       tbb::flow::graph g;
       tbb::flow::limiter_node< T > lim(g, i);
       serial_receiver<T> r(g);
       tbb::flow::make_edge( lim, r );
       for ( int j = 0; j < L; ++j ) {
           bool msg = lim.try_put( T(j) );
           CHECK_MESSAGE( (( j < i && msg == true ) || ( j >= i && msg == false )), "" );
       }
       g.wait_for_all();
   }

   // test puts with decrements
   for ( int i = 1; i < L; ++i ) {
       tbb::flow::graph g;
       tbb::flow::limiter_node< T > lim(g, i);
       serial_receiver<T> r(g);
       empty_sender< tbb::flow::continue_msg > s;
       tbb::flow::make_edge( lim, r );
       tbb::flow::make_edge(s, lim.decrementer());
       for ( int j = 0; j < N; ++j ) {
           bool msg = lim.try_put( T(j) );
           CHECK_MESSAGE( (( j < i && msg == true ) || ( j >= i && msg == false )), "" );
           if ( msg == false ) {
               lim.decrementer().try_put( tbb::flow::continue_msg() );
               msg = lim.try_put( T(j) );
               CHECK_MESSAGE( msg == true, "" );
           }
       }
   }
   return 0;
}

// reported bug in limiter (http://software.intel.com/en-us/comment/1752355)
#define DECREMENT_OUTPUT 1  // the port number of the decrement output of the multifunction_node
#define LIMITER_OUTPUT 0    // port number of the integer output

typedef tbb::flow::multifunction_node<int, std::tuple<int,tbb::flow::continue_msg> > mfnode_type;

std::atomic<size_t> emit_count;
std::atomic<size_t> emit_sum;
std::atomic<size_t> receive_count;
std::atomic<size_t> receive_sum;

struct mfnode_body {
    int max_cnt;
    std::atomic<int>* my_cnt;
    mfnode_body(const int& _max, std::atomic<int> &_my) : max_cnt(_max), my_cnt(&_my)  { }
    void operator()(const int &/*in*/, mfnode_type::output_ports_type &out) {
        int lcnt = ++(*my_cnt);
        if(lcnt > max_cnt) {
            return;
        }
        // put one continue_msg to the decrement of the limiter.
        if(!std::get<DECREMENT_OUTPUT>(out).try_put(tbb::flow::continue_msg())) {
            CHECK_MESSAGE( (false),"Unexpected rejection of decrement");
        }
        {
            // put messages to the input of the limiter_node until it rejects.
            while( std::get<LIMITER_OUTPUT>(out).try_put(lcnt) ) {
                emit_sum += lcnt;
                ++emit_count;
            }
        }
    }
};

struct fn_body {
    int operator()(const int &in) {
        receive_sum += in;
        ++receive_count;
        return in;
    }
};

//                   +------------+
//    +---------+    |            v
//    | mf_node |0---+       +----------+          +----------+
// +->|         |1---------->| lim_node |--------->| fn_node  |--+
// |  +---------+            +----------+          +----------+  |
// |                                                             |
// |                                                             |
// +-------------------------------------------------------------+
//
void
test_multifunction_to_limiter(int _max, int _nparallel) {
    tbb::flow::graph g;
    emit_count = 0;
    emit_sum = 0;
    receive_count = 0;
    receive_sum = 0;
    std::atomic<int> local_cnt;
    local_cnt = 0;
    mfnode_type mf_node(g, tbb::flow::unlimited, mfnode_body(_max, local_cnt));
    tbb::flow::function_node<int, int> fn_node(g, tbb::flow::unlimited, fn_body());
    tbb::flow::limiter_node<int> lim_node(g, _nparallel);
    tbb::flow::make_edge(tbb::flow::output_port<LIMITER_OUTPUT>(mf_node), lim_node);
    tbb::flow::make_edge(tbb::flow::output_port<DECREMENT_OUTPUT>(mf_node), lim_node.decrementer());
    tbb::flow::make_edge(lim_node, fn_node);
    tbb::flow::make_edge(fn_node, mf_node);

    mf_node.try_put(1);
    g.wait_for_all();
    CHECK_MESSAGE( (emit_count == receive_count), "counts do not match");
    CHECK_MESSAGE( (emit_sum == receive_sum), "sums do not match");

    // reset, test again
    g.reset();
    emit_count = 0;
    emit_sum = 0;
    receive_count = 0;
    receive_sum = 0;
    local_cnt = 0;;
    mf_node.try_put(1);
    g.wait_for_all();
    CHECK_MESSAGE( (emit_count == receive_count), "counts do not match");
    CHECK_MESSAGE( (emit_sum == receive_sum), "sums do not match");
}

void
test_continue_msg_reception() {
    tbb::flow::graph g;
    tbb::flow::limiter_node<int> ln(g,2);
    tbb::flow::queue_node<int>   qn(g);
    tbb::flow::make_edge(ln, qn);
    ln.decrementer().try_put(tbb::flow::continue_msg());
    ln.try_put(42);
    g.wait_for_all();
    int outint;
    CHECK_MESSAGE( (qn.try_get(outint) && outint == 42), "initial put to decrement stops node");
}

//
// This test ascertains that if a message is not successfully put
// to a successor, the message is not dropped but released.
//

void test_reserve_release_messages() {
    using namespace tbb::flow;
    graph g;

    //making two queue_nodes: one broadcast_node and one limiter_node
    queue_node<int> input_queue(g);
    queue_node<int> output_queue(g);
    broadcast_node<int> broad(g);
    limiter_node<int, int> limit(g,2); //threshold of 2

    //edges
    make_edge(input_queue, limit);
    make_edge(limit, output_queue);
    make_edge(broad,limit.decrementer());

    int list[4] = {19, 33, 72, 98}; //list to be put to the input queue

    input_queue.try_put(list[0]); // succeeds
    input_queue.try_put(list[1]); // succeeds
    input_queue.try_put(list[2]); // fails, stored in upstream buffer
    g.wait_for_all();

    remove_edge(limit, output_queue); //remove successor

    //sending message to the decrement port of the limiter
    broad.try_put(1); //failed message retrieved.
    g.wait_for_all();

    tbb::flow::make_edge(limit, output_queue); //putting the successor back

    broad.try_put(1);  //drop the count

    input_queue.try_put(list[3]);  //success
    g.wait_for_all();

    int var=0;

    for (int i=0; i<4; i++) {
        output_queue.try_get(var);
        CHECK_MESSAGE( (var==list[i]), "some data dropped, input does not match output");
        g.wait_for_all();
    }
}

void test_decrementer() {
    const int threshold = 5;
    tbb::flow::graph g;
    tbb::flow::limiter_node<int, int> limit(g, threshold);
    tbb::flow::queue_node<int> queue(g);
    make_edge(limit, queue);
    int m = 0;
    CHECK_MESSAGE( ( limit.try_put( m++ )), "Newly constructed limiter node does not accept message." );
    CHECK_MESSAGE( limit.decrementer().try_put( -threshold ), // close limiter's gate
                   "Limiter node decrementer's port does not accept message." );
    CHECK_MESSAGE( ( !limit.try_put( m++ )), "Closed limiter node's accepts message." );
    CHECK_MESSAGE( limit.decrementer().try_put( threshold + 5 ),  // open limiter's gate
                   "Limiter node decrementer's port does not accept message." );
    for( int i = 0; i < threshold; ++i )
        CHECK_MESSAGE( ( limit.try_put( m++ )), "Limiter node does not accept message while open." );
    CHECK_MESSAGE( ( !limit.try_put( m )), "Limiter node's gate is not closed." );
    g.wait_for_all();
    int expected[] = {0, 2, 3, 4, 5, 6};
    int actual = -1; m = 0;
    while( queue.try_get(actual) )
        CHECK_MESSAGE( actual == expected[m++], "" );
    CHECK_MESSAGE( ( sizeof(expected) / sizeof(expected[0]) == m), "Not all messages have been processed." );
    g.wait_for_all();

    const size_t threshold2 = size_t(-1);
    tbb::flow::limiter_node<int, long long> limit2(g, threshold2);
    make_edge(limit2, queue);
    CHECK_MESSAGE( ( limit2.try_put( 1 )), "Newly constructed limiter node does not accept message." );
    long long decrement_value = (long long)( size_t(-1)/2 );
    CHECK_MESSAGE( limit2.decrementer().try_put( -decrement_value ),
                   "Limiter node decrementer's port does not accept message" );
    CHECK_MESSAGE( ( limit2.try_put( 2 )), "Limiter's gate should not be closed yet." );
    CHECK_MESSAGE( limit2.decrementer().try_put( -decrement_value ),
                   "Limiter node decrementer's port does not accept message" );
    CHECK_MESSAGE( ( !limit2.try_put( 3 )), "Overflow happened for internal counter." );
    int expected2[] = {1, 2};
    actual = -1; m = 0;
    while( queue.try_get(actual) )
        CHECK_MESSAGE( actual == expected2[m++], "" );
    CHECK_MESSAGE( ( sizeof(expected2) / sizeof(expected2[0]) == m), "Not all messages have been processed." );
    g.wait_for_all();

    const size_t threshold3 = 10;
    tbb::flow::limiter_node<int, long long> limit3(g, threshold3);
    make_edge(limit3, queue);
    long long decrement_value3 = 3;
    CHECK_MESSAGE( limit3.decrementer().try_put( -decrement_value3 ),
                   "Limiter node decrementer's port does not accept message" );

    m = 0;
    while( limit3.try_put( m ) ){ m++; };
    CHECK_MESSAGE( m == threshold3 - decrement_value3, "Not all messages have been accepted." );

    actual = -1; m = 0;
    while( queue.try_get(actual) ){
        CHECK_MESSAGE( actual == m++, "Not all messages have been processed." );
    }

    g.wait_for_all();
    CHECK_MESSAGE( m == threshold3 - decrement_value3, "Not all messages have been processed." );
}

void test_try_put_without_successors() {
    tbb::flow::graph g;
    int try_put_num{3};
    tbb::flow::buffer_node<int> bn(g);
    tbb::flow::limiter_node<int> ln(g, try_put_num);

    tbb::flow::make_edge(bn, ln);

    int i = 1;
    for (; i <= try_put_num; i++)
        bn.try_put(i);

    std::atomic<int> counter{0};
    tbb::flow::function_node<int, int> fn(g, tbb::flow::unlimited,
        [&](int input) {
            counter += input;
            return int{};
        }
    );

    tbb::flow::make_edge(ln, fn);

    g.wait_for_all();
    CHECK((counter == i * try_put_num / 2));

    // Check the lost message
    tbb::flow::remove_edge(bn, ln);
    ln.decrementer().try_put(tbb::flow::continue_msg());
    bn.try_put(try_put_num + 1);
    g.wait_for_all();
    CHECK((counter == i * try_put_num / 2));

}

#if __TBB_PREVIEW_FLOW_GRAPH_NODE_SET
#include <array>
#include <vector>
void test_follows_and_precedes_api() {
    using msg_t = tbb::flow::continue_msg;

    std::array<msg_t, 3> messages_for_follows= { {msg_t(), msg_t(), msg_t()} };
    std::vector<msg_t> messages_for_precedes = {msg_t()};

    follows_and_precedes_testing::test_follows
        <msg_t, tbb::flow::limiter_node<msg_t, msg_t>>(messages_for_follows, 1000);
    follows_and_precedes_testing::test_precedes
        <msg_t, tbb::flow::limiter_node<msg_t, msg_t>>(messages_for_precedes, 1000);

}
#endif

#if __TBB_CPP17_DEDUCTION_GUIDES_PRESENT
void test_deduction_guides() {
    using namespace tbb::flow;

    graph g;
    broadcast_node<int> br(g);
    limiter_node<int> l0(g, 100);

#if __TBB_PREVIEW_FLOW_GRAPH_NODE_SET
    limiter_node l1(follows(br), 100);
    static_assert(std::is_same_v<decltype(l1), limiter_node<int>>);

    limiter_node l2(precedes(br), 100);
    static_assert(std::is_same_v<decltype(l2), limiter_node<int>>);
#endif

    limiter_node l3(l0);
    static_assert(std::is_same_v<decltype(l3), limiter_node<int>>);
}
#endif

void test_decrement_while_try_put_task() {
    constexpr int threshold = 50000;

    tbb::flow::graph graph{};
    std::atomic<int> processed;
    tbb::flow::input_node<int> input{ graph, [&](tbb::flow_control & fc) -> int {
        static int i = {};
        if (i++ >= threshold) fc.stop();
        return i;
    }};
    tbb::flow::limiter_node<int, int> blockingNode{ graph, 1 };
    tbb::flow::multifunction_node<int, std::tuple<int>> processing{ graph, tbb::flow::serial,
        [&](const int & value, typename decltype(processing)::output_ports_type & out) {
            if (value != threshold)
                std::get<0>(out).try_put(1);
            processed.store(value);
        }};

    tbb::flow::make_edge(input, blockingNode);
    tbb::flow::make_edge(blockingNode, processing);
    tbb::flow::make_edge(processing, blockingNode.decrementer());

    input.activate();

    graph.wait_for_all();
    CHECK_MESSAGE(processed.load() == threshold, "decrementer terminate flow graph work");
}

//! Test puts on limiter_node with decrements and varying parallelism levels
//! \brief \ref error_guessing
TEST_CASE("Serial and parallel tests") {
    for (unsigned i = 1; i <= 2 * utils::MaxThread; ++i) {
        tbb::task_arena arena(i);
        arena.execute(
            [i]() {
                test_serial<int>();
                test_parallel<int>(i);
            }
        );
    }
}

//! Test initial put of continue_msg on decrementer port does not stop message flow
//! \brief \ref error_guessing
TEST_CASE("Test continue_msg reception") {
    test_continue_msg_reception();
}

//! Test put message on decrementer port does not stop message flow
//! \brief \ref error_guessing
TEST_CASE("Test try_put to decrementer while try_put to limiter_node") {
    test_decrement_while_try_put_task();
}

//! Test multifunction_node connected to limiter_node
//! \brief \ref error_guessing
TEST_CASE("Multifunction connected to limiter") {
    test_multifunction_to_limiter(30,3);
    test_multifunction_to_limiter(300,13);
    test_multifunction_to_limiter(3000,1);
}

//! Test message release if successor doesn't accept
//! \brief \ref requirement
TEST_CASE("Message is released if successor does not accept") {
    test_reserve_release_messages();
}

//! Test decrementer
//! \brief \ref requirement \ref error_guessing
TEST_CASE("Decrementer") {
    test_decrementer();
}

//! Test try_put() without successor
//! \brief \ref error_guessing
TEST_CASE("Test try_put() without successors") {
    test_try_put_without_successors();
}

#if __TBB_PREVIEW_FLOW_GRAPH_NODE_SET
//! Test follows and precedes API
//! \brief \ref error_guessing
TEST_CASE( "Support for follows and precedes API" ) {
    test_follows_and_precedes_api();
}
#endif

#if __TBB_CPP17_DEDUCTION_GUIDES_PRESENT
//! Test deduction guides
//! \brief \ref requirement
TEST_CASE( "Deduction guides" ) {
    test_deduction_guides();
}
#endif

struct TestLargeStruct {
    char bytes[512]{ 0 };
};

//! Test correct node deallocation while using small_object_pool.
//! (see https://github.com/oneapi-src/oneTBB/issues/639)
//! \brief \ref error_guessing
TEST_CASE("Test correct node deallocation while using small_object_pool") {
    tbb::flow::graph graph;
    tbb::flow::queue_node<TestLargeStruct> input_node( graph );
    tbb::flow::function_node<TestLargeStruct> func( graph, tbb::flow::serial,
        [](const TestLargeStruct& input) { return input; } );

    tbb::flow::make_edge( input_node, func );
    CHECK( input_node.try_put( TestLargeStruct{} ) );
    graph.wait_for_all();

    tbb::task_scheduler_handle handle{ tbb::attach{} };
    tbb::finalize( handle, std::nothrow );
}

redpajama_set_name: RedPajamaGithub