text:
Q: QGIS has Unknown CRS from GeoTIFF created with Python GDAL I've been creating geotiffs using Python GDAL 2.4, here is a minimal example of my code:
from osgeo import gdal, osr

driver = gdal.GetDriverByName('GTiff')

dataset = driver.Create("test.tif", 20, 10, 1, gdal.GDT_Float32)
dataset.SetGeoTransform((500000, 5, 0, 100000, 0, -5))

srs = osr.SpatialReference()
srs.ImportFromEPSG(27700)
dataset.SetProjection(srs.ExportToWkt())

dataset = None

I can then attempt to view this GeoTIFF in QGIS (3.12.1).  If I use the above code using GDAL 3.0, then the CRS is recognised, that is, in the layer properties I see:
EPSG:27700 - OSGB 1936 / British National Grid - Projected

as I expected.  However, I had been using GDAL 2.4, and using the above code gives:
Unknown CRS: BOUNDCRS[SOURCECRS[PROJCRS["OSGB 1936 / British National Grid",BASEGEOGCRS["OSGB 1936",DATUM["OSGB 1936",ELLIPSOID["Airy 1830",6377563.396,299.3249646,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4277]],CONVERSION["British National Grid",METHOD["Transverse Mercator",ID["EPSG",9807]],PARAMETER["Latitude of natural origin",49,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",-2,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["Scale factor at natural origin",0.9996012717,SCALEUNIT["unity",1],ID["EPSG",8805]],PARAMETER["False easting",400000,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",-100000,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["unknown"],AREA["UK - Britain and UKCS 49�46'N to 61�01'N, 7�33'W to 3�33'E"],BBOX[49.75,-9.2,61.14,2.88]],ID["EPSG",27700]]],TARGETCRS[GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],USAGE[SCOPE["unknown"],AREA["World"],BBOX[-90,-180,90,180]],ID["EPSG",4326]]],ABRIDGEDTRANSFORMATION["Transformation to WGS84",METHOD["Position Vector transformation (geog2D domain)",ID["EPSG",9606]],PARAMETER["X-axis translation",446.448,ID["EPSG",8605]],PARAMETER["Y-axis translation",-125.157,ID["EPSG",8606]],PARAMETER["Z-axis translation",542.06,ID["EPSG",8607]],PARAMETER["X-axis rotation",0.15,ID["EPSG",8608]],PARAMETER["Y-axis rotation",0.247,ID["EPSG",8609]],PARAMETER["Z-axis rotation",0.842,ID["EPSG",8610]],PARAMETER["Scale difference",0.999979511,ID["EPSG",8611]]]] - Projected

Why is there a difference?
And also, why does QGIS does not recognise the version from GDAL 2.4?

Just to add to the above. I tried to see if there was a difference in the definition of the spatial refs in the geotiffs. I used dataset.GetSpatialRef().ExportToProj4() on the datasets above and they yielded:
'+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +units=m +no_defs' # gdal 3
'+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +towgs84=446.448,-125.157,542.06,0.15,0.247,0.842,-20.489 +units=m +no_defs' # gdal 2.4

Note that the only difference is the presence of towgs84 in the gdal 2.4 version.
Is this relevant to the problem I'm seeing?

redpajama_set_name: RedPajamaStackExchange


Central Missouri precious metal refiner, Arch Enterprises is doing their part in stimulating the local economy by hosting a gold buying event on Saturday, April 18 at the Holiday Inn Select Executive Center from 10 a.m. to 5 p.m. The local refiner will be accepting gold jewelry, gold coins, dental gold, sterling silver jewelry, sterling silver flatware and tableware, silver coins and more.
"Local television has been bombarded by commercials promising to pay top dollar for gold," said Julie DiNatale, National Sales Manager for Arch Enterprises and a Columbia, Mo resident. "However, most of these commercials are from gold brokers, who have to take a cut in the middle before sending your jewelry on to a refiner like us. Because we are a refiner, we are able to offer 50-80% more than the national advertisers and pawn shops when you bring in your gold on April 18."
With gold and silver prices at record levels, it is the perfect time to cash in unwanted, out of date or broken pieces. Arch Enterprises will be offering on the spot evaluations and payments for gold and silver for anyone including the general population, brokers, scrap dealers and jewelers. These evaluations are free with no obligation. The refiner will bring professional metallurgists and state of the art metal testing equipment to the event to ensure that prices are accurately quoted.
"We have gotten feedback from the local community that people are skeptical of mailing items in to the online firms. Arch Enterprises decided to host this event on April 18 to allow people to get an on-spot quote without having to mail their valuables. As a central-Missouri company, we assure our clients that they are dealing with a reputable and ethical organization. We are happy to be able to help the local community by giving them a safe place to trade in their gold and silver for cash," said DiNatale.
The event will take place from 10 a.m. to 5 p.m. at the Holiday Inn Select Executive Center at 2200 I- 70 Drive SW, Columbia, Mo 65203 in the center's Polo Room.


Moon Jae-in's policy toward the North is not the Sunshine Policy of his progressive forebears. Indeed, South Korean political culture leans conservative, especially regarding national security. Steven Denney and Christopher Green make the case.
A lecturer in Finance and Economics at Dongbei University, Tom Eck is skeptical about the inter-Korean thaw of early 2018 for several reasons. Drawing on the German example and public opinion data from the 2017 Unification Perception Survey, he explains why.


According to ABC News, Betty Shelby, the officer who shot and killed Terence Crutcher in Tulsa, Oklahoma last week, was charged with first-degree manslaughter.
The District Attorney Steve Kunzweiler said during a press conference.
CNN reports that an arrest warrant has been issued and arrangements have been made for her surrender. Multiple police cameras, including ones in the squad car and the helicopter, captured the fatal shooting. In the videos, Crutcher can be seen with his hands raised above his head prior to his death. He walked away from Shelby towards his car.
None of the video showed whether or not Crutcher's window was open or closed.


Classic New Build – Landscape Plus Ltd.
Our challenge was to take a new build and create a setting that says it isn't. Dramatic tasteful lines, great textures and material choices made this home a pleasure to work with.
Granite from the house was taken as a lead and pulled down as part of the stone mix into everything from the driveway borders to columns to walling, and finally to the barbecue. Gentle but confident lines mixed with deep plantings and a lovely sunken backyard sitting area creates a solid, well-grounded useable space.


text:
The Rundown for December 3, 2020
Bob Sarber	Current Events	 December 3, 2020 December 3, 2020 4 Minutes
CORONAVIRUS UPDATES… The number of confirmed coronavirus cases in the U.S. has reached 13,916,543 and the nation's death toll stands at 273,316, according to figures released last night by Johns Hopkins University… Hospitalizations in the U.S. topped 100,000 for the first time yesterday and the 2,670 deaths set a new daily record. Health-care workers throughout the nation are becoming increasingly desperate amid the surging number of patients.
PELOSI, SCHUMER BACK RELIEF BILL… House Speaker Nancy Pelosi and Senate Minority leader Chuck Schumer have expressed their support for the House's $908 billion pandemic relief bill. The two Democratic leaders are backing the plan introduced Tuesday by a group of bipartisan lawmakers led by Democratic Senator Mark Warner of Virginia and Republican Senator Mitt Romney of Utah. The plan calls for $288 billion in small-business support and $180 billion for extended unemployment insurance, among other fiscal appropriations. Senator Majority Leader McConnell has announced he opposes the bill and is seeking feedback on his own proposal.
TRUMP FACING BIPARTISAN OPPOSITION TO VETO THREAD… Republicans are standing up with Democrats to oppose President Trump's threat to veto the National Defense Authorization Act, a $740 billion annual bill that sets Pentagon policy. The bill has passed both houses but Trump has vowed not to sign it unless it repeals legal protections for social media companies and removes a provision that would strip the names of Confederate generals from military facilities. Lawmakers from both parties are feeling pressured to obtain the president's signature by the end of the month.
IVANKA TRUMP DEPOSED OVER INAUGURATION… Court filings made public yesterday confirmed that Ivanka Trump was deposed Tuesday as part of a lawsuit alleging misuse of inauguration funds. The Washington, D.C., attorney general has accused the inauguration committee of making improper and inflated payments of $1 million to the Trump Organization. Ivanka Trump was involved in the planning of the inauguration. Stephanie Winston Wolkoff, a former confidante of Melania Trump, was also deposed. Lawyers for the city have requested documents from Ivanka Trump, Melania Trump, inauguration committee chairman Rick Gates and the Trump Organization.
CAPITOL CHRISTMAS TREE LIT… A 55-foot tall, 25-foot wide Christmas tree was lighted at the U.S. Capitol in Washington, D.C., last night as part of an annual celebration. House Speaker Nancy Pelosi hit the switch on the lights that adorned the spruce that was harvested November 6 from the Uncompahgre National Forest in Colorado. Last night's two-hour event featured musical performances and the cast of the Radio City Rockettes. There was no public admission but the event aired on NBC.
ACTOR WARREN BERLINGER DIES… Actor Warren Berlinger, whose career spanned stage, film and television, died yesterday in a Los Angeles-area hospital. He was 83. Berlinger starred in the Broadway and film versions of "Blue Denim" and in the original stage production of Neil Simon's "Come Blow Your Horn." Berlinger also worked alongside his future wife, Betty Lou Keim, on Broadway in 1955's "A Roomful of Roses," and he made his movie debut when they reprised their roles for the 1956 big-screen adaptation "Teenage Rebel." Berlinger also had roles in the films "The Wackiest Ship in the Army," "Spinout" and "Thunder Alley." Berlinger's television credits included "The Joey Bishop Show," "A Touch of Grace," "Bracken's World" and "Operation Petticoat."
JULIANNA MARGULIES SIGNS ON TO APPLE TV+ DRAMA… Julianna Margulies has joined the cast of the Apple TV+ drama series "The Morning Show." The 54-year-old Margulies will appear alongside stars Jennifer Aniston and Reese Witherspoon in Season 2. Margulies will play a morning TV news anchor at a fictional network. The series co-stars Steve Carell, Billy Crudup and Mark Duplass.
NFL SCORE…
PITTSBURGH 19 – Baltimore 14… The Steelers (11-0) overcame sloppy play to hold off the Ravens (6-5) and remain unbeaten. Their only offensive touchdown came early in the fourth quarter on a Ben Roethlisberger 1-yard pass to JuJu Smith-Schuster. Cornerback Joe Haden opened the scoring in the first quarter with a 14-yard interception return.
MLB NEWS… The Los Angeles Angels have acquired shortstop Jose Iglesias from the Baltimore Orioles in exchange for right-handed pitchers Jean Pinto and Garrett Stallings. The 30-year-old Iglesias, who is known for his defense, batted .373 in 39 games for Baltimore last season. The Angels lost shortstop Andrelton Simmons to free agency this offseason… The Los Angeles Dodgers have acquired 29-year-old right-hander reliever Corey Knebel from the Milwaukee Brewers in exchange for a player to be named later or cash considerations. Knebel has struggled to return to form following Tommy John surgery in April 2019.
NBA NEWS… ESPN reported last night that the Houston Rockets and Washington Wizards have agreed to swap disgruntled point guards Russell Westbrook is heading to the Wizards in exchange for John Wall and a lottery-protected 2023 first-round NBA draft pick. The 32-year-old Westbrook has been an All-Star in nine of the past 10 seasons. Wall has missed the past two seasons with an Achilles and knee injuries… Four dozen NBA players tested positive for COVID-19 since the league resumed testing last week. Officials say 546 players were tested the week of November 24, making the positivity rate roughly 9 percent. All infected players were required to isolate.
TOP 25 MEN'S COLLEGE BASKETBALL SCORES…
No. 1 Gonzaga 87, No. 11 West Virginia 82 (Jimmy V Classic)…
No. 2 Baylor 82, No. 5 Illinois 69 (Jimmy V Classic)…
No. 17 Texas 69, No. 14 North Carolina 67 (Maui Invitational)…
No. 22 FLORIDA STATE 86, North Florida 58…
Missouri 83, No. 21 Oregon 75 (Omaha)…
No. 23 OHIO STATE 77, Morehead State 44
Previous Post The Rundown for December 2, 2020
Next Post The Rundown for December 4, 2020

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Feature file giving warning "Step does not have a matching glue code" Cucumber Framework is not able to identify @Given/When/Then annotations but the execution is working fine. The warning sign will be always showing on the feature file with the message "Step does not have a matching glue code". Below are my pom.xml dependencies.
<dependencies>
    <dependency>
      <groupId>io.cucumber</groupId>
      <artifactId>cucumber-java</artifactId>
      <version>6.10.3</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>io.cucumber</groupId>
      <artifactId>cucumber-testng</artifactId>
      <version>6.10.3</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <version>6.14.3</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>tech.grasshopper</groupId>
      <artifactId>extentreports-cucumber6-adapter</artifactId>
      <version>2.0.0</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.aventstack</groupId>
      <artifactId>extentreports</artifactId>
      <version>5.0.4</version>
      <scope>compile</scope>
    </dependency>

if I change from io.cucumber to info.cukes, Then the warning sign will disappear.
Please help me to understand how this error can be resolved

A: please try using this POM. Not sure if you have the plugins.
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.maven</groupId>
    <artifactId>cucumberTesting</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>MyProject</name>

    <properties>
        <cucumber.version>4.1.0</cucumber.version>
    </properties>

    <dependencies>

        <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>${cucumber.version}</version>
            <scope>test</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-java -->
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>${cucumber.version}</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-picocontainer -->
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-picocontainer</artifactId>
            <version>${cucumber.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M4</version>
                <configuration>
                    <includes>
                        <include>RegressionTestRunner.java</include>
                    </includes>
                </configuration>
            </plugin>
        </plugins>

    </build>

</project>


Opportunities will come from the planned construction of a $130 million solar farm in the Riverina region of NSW.
A solar farm project is advancing with works on piling and starting tracking system works at its Wheatbelt solar farm.
A key contact has revealed a major development to Projectory regarding a South Australian renewables project.
Proponents of a planned $50 million solar farm in Gippsland want to hear from suppliers and contractors interested in contributing to the project – and Projectory has all the details.
A major NT renewable energy project is entering a new phase of development.
Opportunities are likely to result from the proposed construction of a $286 million solar farm in the NSW Central West.
A pair of key contracts have been awarded with a WA energy project.
Developer revealed as Queensland Government awards the DA to an 800 MW wind farm at Clarke Creek, giving way to 350 jobs.
Planning approval has been granted for a $269 million solar farm in the NSW Central West, its proponents targeting an EPC contractor appointment in Q3 2018.
The company behind a proposed $407 million solar farm in the Riverina region of NSW expects to appoint a head contractor and begin construction this year.


On trying to help Americans see gay parenthood as normal: I want to make people laugh first, and that's it. If a byproduct of that is enlightening somebody to something they wouldn't otherwise have been exposed to, then great, but that's certainly not the agenda or the intent of the show.
On how his celebrity put him back in the closet: I was so young. It made me go back in the closet [with the media] because I was so overwhelmed at 26 or 27. I didn't want the responsibility, I didn't know how to handle the responsibility of speaking for the gay community. I always felt like I owed them a huge apology for coming out too late. Some people in the gay community were very upset with me for not coming out on their terms. They don't stop to think about what's going on in somebody's personal life, and the struggles that they're having. It was all very scary. We got death threats. It was a really rough time for me, but I was also having the time of my life.
On the differences between him and his Will & Grace character Jack: That's the ironic thing. I'm so boring and grounded, and I like quiet and I like structure and I like goals. I couldn't be more opposite from Jack McFarland.


IoT - Internet of Things is not a single technology but an amalgamation of lot of different technologies which not only includes software technologies but hardware/embedded technologies as well.
So any IoT Solution would typically require an ecosystem of people providing expertise that spans from sensors to applications. This expertise might be required in technologies like sensors, communication protocols, nodes, gateways, development boards, cloud analytics and IoT Platforms and much more.
Hence the team providing such a solution would also be complex and heterogeneous meaning they would be bringing in various set of skills together.
So anyone who is leading such a complex and heterogeneous team need to know a host of technologies under IoT Ecosystem. He/ She will be typically involved in stitching together the entire solution and present it to the client. He/She is the Solution Architect.


How can we understand the language of whales? How will the evolving composition of seawater affect life on earth? Why do whales sing?
Roger Payne has listened to the whales' haunting songs for most of his adult life and taught us to listen too. He's swum with them. He's fought for them. He's studied them and become the world's foremost cetacean biologist.
Sharing his scientific observations in spellbinding detail, Payne brings vividly to life the awesome presence of these great, noble -- and desperately threatened -- creatures. A work of biology, of philosophy, and most certainly of literature, Among Whales is more than a book about whales. It is also a journey of the heart, a journey of discovery about the larger questions of life on earth.
Passionate in his love, Roger Payne is also passionate in his outrage at the whalers who slaughter whales for profit and at the pollutants that are destroying our oceans. His words shimmer with truth; his ideas strike powerfully at our consciences. Destined to become a classic, Among Whales is a book of great beauty -- a cautionary tale every one of us who cares about our planet must read.


text:
This file is a part of the Rhodium site archive. This Aug 2004 static snapshot is hosted by Erowid
as of May 2005 and is not being updated. > > Back to Rhodium Archive Index > >
[www.rhodium.ws] / [Chemistry Archive]
Sandmeyer Reaction of GABA to GBL/GHB
by Chromic
Quick introduction
As other writeups that I have published, this method is 100% OTC. It is awesome for a chemist who wishes to prepare GHB in small quantities and high yields and to do so without directly obtaining any regulated chemicals such as gamma-butyrolactone (GBL) or 1,4-butanediol (BDO). It also avoids the typically low yields seen from the oxidation of tetrahydrofuran (THF). It uses an easy to obtain amino acid, gamma-aminobutyric acid (GABA), and sodium nitrite (NaNO2). It scales very nicely and runs without too much hassle. Not one suspect chemical is used.
The Sandmeyer reaction uses nitrous acid to turn amines into diazonium salts. This reaction, as it applies to turning GABA into GHB, is shown in the first reaction below. Aliphatic diazonium salts rapidly undergo hydrolysis in the presence of water giving off nitrogen gas and leaving a hydroxyl group behind. This is shown in the second step. As a result of these reactions, GABA can be turned into GHB in an easy to perform one-pot reaction.
Running the reaction
Set up a 2L flask, sitting in ice-water on top of a magnetic stirrer. Now:
Add 3mol GABA (309.4g)
Add 3mol NaNO2 (207.0g)
Add 700ml water (total volume becomes about 1100ml)
Drop in a 1" stir bar and start stirring
Charge a 500ml pressure equalized addition funnel with 3.3mol HCl(aq) (385.0g 31.25%, 334.8ml 31.25%)
Fit the addition funnel with a gas outlet adapter and vent to theoutside
Begin slowly dripping the hydrochloric acid into the mixture. Drip it in at a constant rate of about 1 drop every 2-5 seconds. Speed it up as time progresses and replace the ice as necessary, but do not allow the evolution of the brown poisonous gas to become vigorous. After about one hour after the last drop of acid has been added, there is no need to replace the ice. Once the reaction is done, proceed to extract. (usually 24-36 hours later)
Extracting the goods
There are many options for this. This is still a work in progress, but after about 20 runs, I came to use this work up. You can use ethyl acetate (EtOAc), chloroform or methylene chloride (dichloromethane aka DCM) to perform the solvent extractions. I have normally used DCM as it's nice since the organic layer drops to the bottom of the separatory funnel.
Setup for a simple distillation.
Distill, throwing out the first 5-10mls, or so, of distillate as it will contain a fair amount of nitric oxides. Distill off as much water as possible, basically until the sodium chloride starts to saturate the aqueous layer and precipitate out.
The remainder of the distillate (approximately 700ml) will contain approximately 1g GBL/10ml.
Treat the remainder of the distillate with NaHCO3 at reflux for 30 mins
Boil with about a 5% volume of activated charcoal (ie 35ml activated charcoal) (compared to the volume of the solution) for 5-10mins.
Allow it to cool and filter, wash the charcoal with distilled water. Save the NaGHB.
With the remainder of the aqueous, extract 5 times with 625ml portions of DCM.
Distill off the DCM (reuse that DCM!).
Distill the GBL (under vacuum if available).
React with NaHCO3 and distilled water and treat with activated charcoal as before.
Typically 375g of NaGHB is made from the solvent extracted GBL and 100g NaGHB from the aqueous distillate. Although conversion is nearly quantitative (as measured by GC/MS), the overall recovered yield is usually about 70%.
Erowid Note: A 100% yield of NaGHB would be 378g (3 moles) and this is the maximum that could be created using 3 moles GABA (309.4g). It is likely that the author is suggesting they achieved 375g of NaGHB, *of which* 100g came from the aqueous distillate. Thanks to lilbigd1ck. See https://www.reddit.com/r/DrugNerds/comments/4vrmm0/chromics_gabagbl_conversionwrong_yield/.
For those who don't know how to make NaGHB from GBL using NaHCO3 please read the section on preparation of Sodium GHB using Sodium Bicarbonate (Baking Soda, NaHCO3) found in the GHB faq. Never use unknown grades of NaOH--they may contain toxic heavy metal contaminants.
OTC chemicals rock. The war is over.
Notes on procedure
1M NaNO2/GABA, as the French ref states is far, far too much water. You don't need it. I don't use that much.
It's possible to reduce the water further, down to the minimum necessary to dissolve the NaCl formed, thus avoiding the distillation of the aqueous layer. The trouble with this is that it's not fully practical. All of the GABA/NaNO2 will not dissolve, and you'll see more of an evolution of nitric oxides. The amount of water used is just barely enough to dissolve all of the NaNO2 and GABA to begin with.
If you want to skip the simple distillation (steps 1a-e) and go straight to step 2 (the extraction with the organic solvent) make sure to increase your organic solvent amounts by about 20%. Your yields will go down slightly.
It's possible to used sulfuric acid, however Na2SO4 is not as soluble as NaCl is, mole for mole. You'll need to use more water.
It's possible to use just a little bit less HCl, but hey, a slight excess is always a good idea.
It's possible to dump in a fair amount more HCl to try and push the GBL into the organic layer. It doesn't really work that well though. Yields don't go up.
It's possible to use chloroform or ethyl acetate instead of dcm. Diethyl ether will work as well. Do not try to use anything more nonpolar such as toluene, hexanes or the like. They won't extract much GBL.
Figuring out where the other 30%+ of the yield is going has been frustrating. Perhaps it is staying in the aqueous as free GHB. But do not consume the post-reaction aqueous layer!
The GBL produced from distillation has an putrid sour smell. This is likely trace quantities of butyric acid (the molecule responsible for the smell of rancid butter). It is not toxic in trace quantities and the off-smell and off-taste is cleared by treatment with activated charcoal.
The dose/response curve for NaGHB is exponential. 2g may be a nice buzz, 2.5g an amazing high, and at 3g a novice user could be violently ill, passed out and completely unresponsive. These doses are guidelines. Every person's response will vary. Chronic use of GHB will result in tolerance and physical addiction. Never mix with any other CNS depressants (especially alcohol).
Bull. Soc. Chim. Fr.; 1; 88-94 (1989)
GHB Letter to the Alabama Senate Committee on the Judiciary
Last, but surely not least, come the thank yous!
First, thank you to the girl who will always have a special place in my heart (and your determination in helping me with my struggles, especially my addiction to GHB and alcohol).
Thank you Rhodium for your hard-work and dedication to your site and the Hive in general. Thank you for pushing me to publish this document. A big round of applause for Steven Fowkes (even though you got your info wrong on MSG -> GBL in one step rxn), Fierceness, Moo, StraightEdge, hCiLdOdUeDn, Roundbottom, Osmium, Bright Star, Methyl Man, Dr_Sister, AB2, Aztec, Hypo, Ueruma, Ezekill, Terbium, Antoncho, Eleusis and Sasha Shulgin for raising my knowledge, awareness and inspiration. :)
Also thank you to the chemists who performed and published Bull. Soc. Chim. Fr.; 1989; 1; 88-94.


Full of festive cheer, this exquisite enamel box features a delightful illustration of Agneatha with the Apple by one of our favorite artists Lesley Anne Ivory. This is the perfect gift to give cat-lovers this Christmas. Handcrafted by skilled artisans in England, this enamel box is a true example of quality British craftsmanship.


Having provided over 30 audio commentaries for DVD releases – one of them, for Mizoguchi's The Loyal 47 Ronin, being four hours long – I feel I have earned the right to criticise the format. These voice-over commentaries provided by filmmakers, critics and historians are decidedly a mixed blessing. I sometimes wonder whether anybody, except the most dedicated and/or masochistic researcher, ever listens to them all the way through. No one can doubt that these voice-tracks sometimes give us splendid insight or information that we cannot obtain elsewhere in print. But are they really the best we can do in the quest to marry film criticism with the film-object itself?
It is not usually recognised that audio commentaries on DVD arose due to a legal loophole. No permission is usually needed from the makers or rights-holders to a film to add such a 'bonus' soundtrack of somebody (or several somebodies) droning on for approximately 2 hours over the top. Officially, the film has not been 'tampered with' or re-edited in any way. You can choose to listen to the vocal extra or not. And this points to the first problem with audio commentaries: they are the easy, quick way to provide scholarly analysis, the 'soft option' – take it or leave it.
Audio commentaries are simply an extension of written criticism. The voice of the critic speaks – sometimes literally reads – a verbal text. It usually coincides only loosely with the moment-by-moment flow of the film. The format is, in fact, at worst impossible, and at best a compromise: it is like a mad, desperate, jiving riff over a fleeting, ever-vanishing film-object. Try it in your lounge room sometime, you'll find out how hard it is – and how easy to more or less ignore the film and offer a standard lecture on its context, background information, director biography, etc.
The DVD craze has led to an intriguing mutation: the audiovisual analysis, or 'digital video essay', which re-edits clips to fit a concise voice-over analysis. This form flourishes on the Internet, thanks to admirable sites such as Kevin B. Lee's Shooting Down Pictures and Catherine Grant's Film Studies For Free . These are more adventurous than the mere vocal overlay. But still: the voice 'leads'. It is the voice which has authority – more than the original images and sounds of the movie. There is something frustrating, even wrong about this.
It is instructive to compare both DVD audio commentaries and video essays to what Jean-Luc Godard does in his massive Histoire(s) du cinéma. In fact, Godard has complained in an interview that he hates it when the voice – the law of the written/spoken text – dominates in a filmic 'essay': there is a lot of vocalising in Godard, but it is always displaced, decentred, at war with all the other elements of the work. It is not a voice which legislates or pontificates, which closes down meaning. It reminds me of what one unkind critic said when he exited the premiere of Chris Marker's Sunless (1982): 'Every image has its main point of interest in the centre of the screen, and the voice spells out everything for ninety minutes in a monotonal vacuum' – like a TV travelogue. Of course, every film critic today secretly wants to be Chris Marker!
Recently in Melbourne, the OtherFilm collective from Brisbane presented a 'film collage' devoted to jazz in cinema: prints were projected and played with on multiple screens, torches were waved around the theatre, sound was mixed live. It was an intoxicating mix of old-fashioned scholarly research, performance art, and 'expanded cinema'. But there was deliberately something missing: a voice too much, explaining what it was meant to be all about. Critics need to make this kind of extra leap if they want to be, finally, artists or poets.


text:
Jimmie Giles, Jr. (born November 8, 1954) is an American former professional football player who was a tight end in the National Football League (NFL). He played college football at Alcorn State University and was selected by the Houston Oilers in the third round of the 1977 NFL Draft.  The ,   Giles played in 13 NFL seasons from 1977 to 1989.  A four-time Pro Bowl selection, Giles's career flourished as a member of the Tampa Bay Buccaneers during the early and mid-1980s, despite being used mainly as a blocker during several seasons in which he fell into disfavor with the coaching staff. Giles' benching coincided with a training-camp holdout, the first in Buccaneers history by a player under contract, and the difficult Doug Williams negotiations that resulted in his departure for the USFL. Giles' four touchdowns against the Miami Dolphins on October 20, 1985, tied Earl Campbell's record for the most touchdowns by a Dolphins opponent, and is still (as of 2017) the Buccaneers' single-game record; despite this, the Dolphins would win 41-38. Dolphins coach Don Shula said of the performance, "I can't remember any tight end dominating us that way". Buccaneer teammate Gerald Carter said that Giles could have been "one of the best all-time tight ends, if they'd used him more". In 1988 with the Philadelphia Eagles, he caught a touchdown on one of the most memorable plays in Monday Night Football. Quarterback Randall Cunningham escaped a tackle from Giants linebacker Carl Banks and threw a touchdown to Giles.

On July 13, 2011, the Buccaneers officially announced that Jimmie Giles would be inducted into the team's Ring of Honor on December 4, 2011, when the Buccaneers hosted the Carolina Panthers.

References

1954 births
Living people
American football tight ends
Alcorn State Braves football players
Houston Oilers players
Tampa Bay Buccaneers players
Detroit Lions players
Philadelphia Eagles players
National Conference Pro Bowl players
Sportspeople from Greenville, Mississippi
African-American players of American football
Players of American football from Mississippi
Bellingham Dodgers players
Alcorn State Braves baseball players
21st-century African-American people
20th-century African-American sportspeople

redpajama_set_name: RedPajamaWikipedia


text:
import * as fs from 'fs';
import * as path from 'path';
import * as os from 'os';

const chalk = require('chalk');
const EmberGenerateCommand = require('../ember-cli/lib/commands/generate');
const Blueprint = require('../ember-cli/lib/models/blueprint');
const SilentError = require('silent-error');

const blueprintList = fs.readdirSync(path.join(__dirname, '..', 'blueprints'));
const blueprints = blueprintList
  .filter(bp => bp.indexOf('-test') === -1)
  .filter(bp => bp !== 'ng')
  .map(bp => Blueprint.load(path.join(__dirname, '..', 'blueprints', bp)));

const GenerateCommand = EmberGenerateCommand.extend({
  name: 'generate',

  blueprints: blueprints,

  beforeRun: function (rawArgs: string[]) {
    if (!rawArgs.length) {
      return;
    }

    // map the blueprint name to allow for aliases
    rawArgs[0] = mapBlueprintName(rawArgs[0]);

    const isHelp: boolean = ['--help', '-h'].indexOf(rawArgs[0]) > -1;
    if (!isHelp && !fs.existsSync(path.join(__dirname, '..', 'blueprints', rawArgs[0]))) {
      SilentError.debugOrThrow('@angular/cli/commands/generate',
        `Invalid blueprint: ${rawArgs[0]}`);
    }

    if (!isHelp && !rawArgs[1]) {
      SilentError.debugOrThrow('@angular/cli/commands/generate',
        `The \`ng generate ${rawArgs[0]}\` command requires a name to be specified.`);
    }

    // Override default help to hide ember blueprints
    EmberGenerateCommand.prototype.printDetailedHelp = function () {
      this.ui.writeLine(chalk.cyan('  Available blueprints'));
      this.ui.writeLine(blueprints.map(bp => bp.printBasicHelp(false)).join(os.EOL));
    };

    return EmberGenerateCommand.prototype.beforeRun.apply(this, arguments);
  }
});

function mapBlueprintName(name: string): string {
  let mappedName: string = aliasMap[name];
  return mappedName ? mappedName : name;
}

const aliasMap: { [alias: string]: string } = {
  'cl': 'class',
  'c': 'component',
  'd': 'directive',
  'e': 'enum',
  'g': 'guard',
  'i': 'interface',
  'm': 'module',
  'p': 'pipe',
  'r': 'route',
  's': 'service'
};

export default GenerateCommand;
GenerateCommand.overrideCore = true;

redpajama_set_name: RedPajamaGithub


AOPA and California Aeronautical University (CAU) renewed a Supporting Sponsor agreement April 11 to continue working together to reach a new generation of pilots.
AOPA President Mark Baker and California Aeronautical University President Matt Johnston announce a scholarship initiative during the Sun 'n Fun International Fly-In and Expo in Lakeland, Florida, April 11, 2018. Photo by David Tulis.
Aligning with the university's efforts to expose youth to aviation, CAU will again be sponsoring AOPA's annual High School Symposium in Louisville, Kentucky, Nov. 5 and 6. The event brings together aviation and aerospace educators who work in high schools nationwide. The symposium is a great opportunity to introduce educators to new opportunities for students as high schools around the country implement ninth-grade courses and field test tenth-grade courses in AOPA's aviation STEM curriculum.
The High School Initiative is part of AOPA's You Can Fly umbrella program, which also includes initiatives to support flying clubs, encourage best practices in flight training, get lapsed pilots back in the air, and bring AOPA's resources and expertise to pilot groups across the country.
"Our partnership is a great venue to raise the visibility of aviation careers and aviation education options with this key audience," said CAU President Matthew Johnston. "With a looming pilot shortage worldwide, we need to work together with members of the aviation community to bring more young people into aviation education and aviation careers."
In addition to supporting AOPA's High School Initiative, CAU announced the California Aeronautical University Dreams Take Flight Scholarship. One high-school senior will receive funding to cover all tuition and fees, including flight requirements, for CAU's Bachelor of Science degree in Aeronautics. The current educational value is estimated at $151,650.
"Through our work with AOPA, we hope to engage high school students and career counselors in ways that bring aviation career paths to the forefront," says Johnston. "We need to promote the idea that becoming a professional pilot is within reach and not just a dream anymore."
The You Can Fly program is entirely funded by charitable donations to the AOPA Foundation, a 501(c)(3) organization. To be a part of the solution, visit www.aopafoundation.org/donate.


A next generation version update on the Weather Report/Miles Davis oeuvre. Better tech apparently, same evocations. Worth a trip to their gig.
The album is a result of a long time experimentation with ways to incorporate electronic music technology in acoustic jazz without loosing dynamics and the organic feel. The result has been praised in media where several critics have pointed out the similarities with Weather Report and the 70s era of Miles Davis, even though the sound is more modern due to the contemporary technical possibilities. The album has been blessed with amazing artwork, one piece for every track by artist Per Josephson. The first track of the double LP was also the first single release: The slow moving odd meter funk of Khumbu with all of its cracking noises was influenced by climbing stories from the mighty Khumbu icefall in Nepal. The sound from the glaciers constant movements echoes between Everest on one side and Nuptse on the other while the climbers struggling in slow motion due to the high altitude. Beautiful and at the same time very scary.


text:
Bulgaria's competition watchdog ends fuel cartel investigation without fines
Written by The Sofia Globe staff on March 29, 2017 in Bulgaria - Comments Off on Bulgaria's competition watchdog ends fuel cartel investigation without fines
For the second time in less than five years, the Commission for Protection of Competition (CPC) ended an investigation into allegations of a price-fixing cartel on the fuel distribution market without imposing any fines, only accepting the proposals put forth by fuel retailers meant to fix competition issues.
The watchdog's statement on March 29 said that CPC carried out a series of on-site inspections, requested a large amount of data and carried out an analysis of the behaviour of fuel retailers. The statement did not say whether the watchdog found enough evidence to support its accusations of a price-fixing cartel, first made in October 2016.
At that time, the regulator accused six companies – Shell Bulgaria (a subsidiary of Royal Dutch Shell), OMV Bulgaria (owned by Austria's OMV), NIS Petrol (a unit of Naftna Industrija Srbije, which in turn is owned by Russia's Gazprom Neft), Eco Bulgaria (owned by Greece's Hellenic Petroleum), Lukoil Bulgaria (the local retail unit of Russian privately-owned oil company Lukoil) and local petrol distributor Petrol – of price collusion.
On March 29, CPC also said that it found no evidence of wrong-doing by Rompetrol Bulgaria (part of Romania's Rompetrol Group, which is controlled by Kazakhstan's state-owned oil and gas company KazMunayGas) or the Bulgarian Petroleum and Gas Association.
The measures proposed by the six retailers and approved by the regulator were a ban on communication and information exchange by employees of fuel retail firms (including any contacts between employees of petrol stations owned by competing firms), an interdiction on any trade information exchanges within the framework of the Bulgarian Petroleum and Gas Association, as well as a requirement that any employee found to be disclosing confidential trade information be fired.
The fuel retailers will have 30 days to implement the measures mandated by the CPC. The ruling itself is not final and can be appealed within 14 days, either by the companies targeted in the investigation or third parties with a legal interest in bringing proceedings.
The CPC's previous investigation into claims of a fuel retail market cartel ended in July 2012, also without any fines.
(Photo: sociate/flickr.com)
Bulgaria's competition watchdog ends fuel cartel investigation without fines


"When you hear Buddy or watch him play, there's a magnetic quality that draws you to his music.
Buddy Miller (born September 6, 1952 in Fairborn, Ohio) is a country singer, songwriter, musician, recording artist and producer, currently living in Nashville, Tennessee. Miller is married to and has recorded with singer-songwriter Julie Miller.
Miller formed the Buddy Miller Band, which included singer-songwriter Shawn Colvin on vocals and guitar.
In addition to releasing several solo albums over the years, Miller has toured as lead guitarist and backing vocalist for Emmylou Harris's Spyboy band, Steve Earle on his El Corazon tour, Shawn Colvin, and Linda Ronstadt. He co-produced and performed on Jimmie Dale Gilmore's 2000 album Endless Night. He has also appeared on several albums by songwriter and singer Lucinda Williams.
In 2004, Miller toured with Emmylou Harris, Patty Griffin, Gillian Welch, and David Rawlings as the Sweet Harmony Traveling Revue.
Buddy Miller has also produced albums for a number of artists. During 2006 Solomon Burke came over to Miller's house at Nashville to record his country album 'Nashville' on which Emmylou Harris, Patty Griffin, Gillian Welch and Dolly Parton appear as duet partners.
He has a signature acoustic guitar made by the Fender company, and frequently uses vintage Wandre electric guitars.
Soulful Americana songwriter, singer, and producer Buddy Miller began his career in the early '60s as an upright bassist in high-school bluegrass combos. Later, he traveled the back roads of America as an acoustic guitarist, eventually landing in New York City, where his Buddy Miller Band included a young Shawn Colvin on vocals and guitar. He also forged an enduring relationship with country-rock iconoclast Jim Lauderdale. Miller eventually landed in Nashville, where he did session guitar and vocal work on albums by Lauderdale, Victoria Williams, and Heather Myles, among others. He self-produced his criminally overlooked solo debut, Your Love and Other Lies (Hightone, 1995), and followed it with 1997's equally superb Poison Love.By this point Miller was the lead guitarist in Emmylou Harris' band, and Harris returned the favor with backing vocals throughout Poison Love. ….


With a new string of six 90s on the books in the wake of Chicago's just completed heat wave, Summer 2006 boasts 16 days at or above 90(degrees) at Midway Airport and 15 at O'Hare. Five years with similar 90(degrees) tallies by early August have gone on to produce an additional eight 90(degrees) days. So, it's not surprising that the coming weekend may register 90(degrees) highs at a number of area locations. The period from July 28 through Aug. 2 finished warmest of any comparable period in 135 years of Chicago weather records. This weekend's newest round of warmth won't hold a candle to the intense heat which has just departed. Heat indexes are only to make it into the mid 90s thanks to the more modest supply of humidity predicted. But, what could prove more interesting is the prospect that a dome of heat returning to the Plains appears likely to spawn clusters of thunderstorms which may boost Chicago rainfall beginnning next week.


Important: Your computer must be running Flash Player version 10.1 or higher in order to view the Flash version of the videos. Videos may not play if you are running an earlier version of Flash. You can download the latest Flash Player plugin from Adobe.
A complete series of instructional videos that provide hands-on demonstrations of how to construct a SeaPerch. All videos available to stream online or download in MOV and MPG-4 formats.
Twenty marine biology students at Calaveras High School, in San Andreas, California, constucted 10 ROVs as a class project. The ROVs were provided as part of a SeaPerch grant in addition to a local community grant. The 2 month project was aided by community members and enjoyed by all!
A seven-part video series from the 2010 Greater Philadelphia SeaPerch Challenge.
A video of the exciting and fun-filled 2009 Greater Philadelphia SeaPerch Challenge.


text:
package org.drools.core.common;

import org.drools.core.RuleBaseConfiguration;
import org.drools.core.factmodel.traits.CoreWrapper;
import org.drools.core.util.HashTableIterator;
import org.drools.core.util.JavaIteratorAdapter;
import org.drools.core.util.ObjectHashMap;
import org.kie.api.runtime.ClassObjectFilter;
import org.kie.api.runtime.ObjectFilter;

import java.io.Externalizable;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.concurrent.locks.Lock;

public class ClassAwareObjectStore implements Externalizable, ObjectStore {

    private Lock lock;

    private Map<String, SingleClassStore> storesMap = new HashMap<String, SingleClassStore>();
    private List<ConcreteClassStore> concreteStores = new ArrayList<ConcreteClassStore>();

    private ObjectHashMap equalityMap;

    private boolean isEqualityBehaviour;

    private int size;

    public ClassAwareObjectStore() { }

    public ClassAwareObjectStore(RuleBaseConfiguration conf, Lock lock) {
        this.lock = lock;
        this.isEqualityBehaviour = RuleBaseConfiguration.AssertBehaviour.EQUALITY.equals(conf.getAssertBehaviour());
        if (isEqualityBehaviour) {
            this.equalityMap = new ObjectHashMap();
            this.equalityMap.setComparator( new EqualityAssertMapComparator() );
        }
    }

    @Override
    public void writeExternal(ObjectOutput out) throws IOException {
        out.writeObject(storesMap);
        out.writeObject(concreteStores);
        out.writeObject(equalityMap);
        out.writeInt(size);
        out.writeBoolean(isEqualityBehaviour);
        out.writeObject(lock);
    }

    @Override
    public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
        storesMap = (Map<String, SingleClassStore>) in.readObject();
        concreteStores = (List<ConcreteClassStore>) in.readObject();
        equalityMap = (ObjectHashMap) in.readObject();
        size = in.readInt();
        isEqualityBehaviour = in.readBoolean();
        lock = (Lock)in.readObject();
    }

    @Override
    public int size() {
        return size;
    }

    @Override
    public boolean isEmpty() {
        return size == 0;
    }

    @Override
    public void clear() {
        storesMap.clear();
        concreteStores.clear();
        if (isEqualityBehaviour) {
            equalityMap.clear();
        }
        size = 0;
    }

    @Override
    public Object getObjectForHandle(InternalFactHandle handle) {
        try {
            this.lock.lock();
            InternalFactHandle reconnectedHandle = reconnect(handle);
            return reconnectedHandle != null ? reconnectedHandle.getObject() : null;
        } finally {
            this.lock.unlock();
        }
    }

    @Override
    public InternalFactHandle reconnect(InternalFactHandle handle) {
        if (handle == null) {
            return null;
        }
        String handleClass = handle.getObjectClassName();
        if (handleClass != null) {
            SingleClassStore store = getClassStore(handleClass);
            if (store == null || !store.isConcrete()) {
                return null;
            }

            return handle.isNegated() ?
                   (InternalFactHandle) ((ConcreteClassStore) store).getNegMap().get(handle) :
                   (InternalFactHandle) ((ConcreteClassStore) store).getIdentityMap().get(handle);
        }

        if (isEqualityBehaviour) {
            return (InternalFactHandle) equalityMap.get(handle);
        }

        for (ConcreteClassStore stores : concreteStores) {
            Object reconnectedHandle = stores.getAssertMap().get(handle);
            if (reconnectedHandle != null) {
                return (InternalFactHandle) reconnectedHandle;
            }
        }

        return null;
    }

    @Override
    public InternalFactHandle getHandleForObject(Object object) {
        if ( object == null ) {
            return null;
        }

        return isEqualityBehaviour ?
               (InternalFactHandle) equalityMap.get(object) :
               (InternalFactHandle) getOrCreateConcreteClassStore(object).getAssertMap().get(object);
    }

    @Override
    public InternalFactHandle getHandleForObjectIdentity(Object object) {
        return (InternalFactHandle) getOrCreateConcreteClassStore(object).getIdentityMap().get(object);
    }

    @Override
    public void updateHandle(InternalFactHandle handle, Object object) {
        removeHandle(handle);
        handle.setObject(object);
        addHandle(handle, object);
    }

    @Override
    public void addHandle(InternalFactHandle handle, Object object) {
        if ( getOrCreateConcreteClassStore(object).addHandle(handle, object) ) {
            size++;
        }
    }

    @Override
    public void removeHandle(InternalFactHandle handle) {
        if ( getOrCreateConcreteClassStore(handle.getObject()).removeHandle(handle) != null ) {
            size--;
        }
    }

    @Override
    public Iterator<Object> iterateObjects() {
        return new CompositeObjectIterator(concreteStores, true);
    }

    public Iterator<Object> iterateObjects(Class<?> clazz) {
        return getOrCreateClassStore(clazz).objectsIterator(true);
    }

    @Override
    public Iterator<Object> iterateObjects(ObjectFilter filter) {
        if (filter instanceof ClassObjectFilter) {
            return getOrCreateClassStore(((ClassObjectFilter) filter).getFilteredClass()).objectsIterator(true);
        }
        return new CompositeObjectIterator(concreteStores, true, filter);
    }

    @Override
    public Iterator<InternalFactHandle> iterateFactHandles() {
        return new CompositeFactHandleIterator(concreteStores, true);
    }

    public Iterator<InternalFactHandle> iterateFactHandles(Class<?> clazz) {
        return getOrCreateClassStore(clazz).factHandlesIterator(true);
    }

    @Override
    public Iterator<InternalFactHandle> iterateFactHandles(ObjectFilter filter) {
        if (filter instanceof ClassObjectFilter) {
            return getOrCreateClassStore(((ClassObjectFilter) filter).getFilteredClass()).factHandlesIterator(true);
        }
        return new CompositeFactHandleIterator(concreteStores, true, filter);
    }

    @Override
    public Iterator<Object> iterateNegObjects(ObjectFilter filter) {
        if (filter instanceof ClassObjectFilter) {
            return getOrCreateClassStore(((ClassObjectFilter) filter).getFilteredClass()).objectsIterator(false);
        }
        return new CompositeObjectIterator(concreteStores, false, filter);
    }

    @Override
    public Iterator<InternalFactHandle> iterateNegFactHandles(ObjectFilter filter) {
        if (filter instanceof ClassObjectFilter) {
            return getOrCreateClassStore(((ClassObjectFilter) filter).getFilteredClass()).factHandlesIterator(false);
        }
        return new CompositeFactHandleIterator(concreteStores, false, filter);
    }

    // /////////////////////
    // /// Internal Store
    // /////////////////////

    private SingleClassStore getClassStore(String className) {
        return storesMap.get(className);
    }

    public static Class<?> getActualClass(Object object) {
        return object instanceof CoreWrapper ? ((CoreWrapper)object).getCore().getClass() : object.getClass();
    }

    public SingleClassStore getOrCreateClassStore(Class<?> clazz) {
        SingleClassStore store = storesMap.get(clazz.getName());
        if (store == null) {
            store = createClassStore(clazz);
            for (SingleClassStore classStore : storesMap.values()) {
                if (classStore.isConcrete() && clazz.isAssignableFrom(classStore.getStoredClass())) {
                    store.addConcreteStore(((ConcreteClassStore) classStore));
                }
            }
            storesMap.put(clazz.getName(), store);
        }
        return store;
    }

    private ConcreteClassStore getOrCreateConcreteClassStore(Object object) {
        return getOrCreateConcreteClassStore(getActualClass(object));
    }

    private ConcreteClassStore getOrCreateConcreteClassStore(Class<?> clazz) {
        SingleClassStore existingStore = storesMap.get(clazz.getName());
        if (existingStore == null) {
            // There was no store for this class
            ConcreteClassStore store = createClassStore(clazz).makeConcrete();
            for (SingleClassStore classStore : storesMap.values()) {
                if (classStore.getStoredClass().isAssignableFrom(clazz)) {
                    classStore.addConcreteStore(store);
                } else if (classStore.isConcrete() && clazz.isAssignableFrom(classStore.getStoredClass())) {
                    store.addConcreteStore(((ConcreteClassStore) classStore));
                }
            }
            storesMap.put(clazz.getName(), store);
            concreteStores.add(store);
            return store;
        } else if (existingStore.isConcrete()) {
            return (ConcreteClassStore) existingStore;
        } else {
            // The existing store was abstract so has to be converted in a concrete one
            ConcreteClassStore store = existingStore.makeConcrete();
            concreteStores.add(store);
            return store;
        }
    }

    private SingleClassStore createClassStore(Class<?> clazz) {
        return isEqualityBehaviour ? new ConcreteEqualityClassStore(clazz, equalityMap) : new ConcreteIdentityClassStore(clazz);
    }

    public interface SingleClassStore extends Externalizable {
        Class<?> getStoredClass();

        void addConcreteStore(ConcreteClassStore store);

        Iterator<Object> objectsIterator(boolean assrt);
        Iterator<InternalFactHandle> factHandlesIterator(boolean assrt);

        boolean isConcrete();
        ConcreteClassStore makeConcrete();
    }

    private abstract static class AbstractClassStore implements SingleClassStore {
        private Class<?> storedClass;
        private List<ConcreteClassStore> concreteStores = new ArrayList<ConcreteClassStore>();

        public AbstractClassStore() { }

        private AbstractClassStore(Class<?> storedClass) {
            this.storedClass = storedClass;
        }

        public void addConcreteStore(ConcreteClassStore store) {
            concreteStores.add(store);
        }

        public Iterator<Object> objectsIterator(boolean assrt) {
            return new CompositeObjectIterator(concreteStores, assrt);
        }

        public Iterator<InternalFactHandle> factHandlesIterator(boolean assrt) {
            return new CompositeFactHandleIterator(concreteStores, assrt);
        }

        @Override
        public Class<?> getStoredClass() {
            return storedClass;
        }

        @Override
        public void writeExternal(ObjectOutput out) throws IOException {
            out.writeObject(storedClass);
            out.writeObject(concreteStores);
        }

        @Override
        public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
            storedClass = (Class<?>)in.readObject();
            concreteStores = (List<ConcreteClassStore>)in.readObject();
        }

        @Override
        public String toString() {
            return "Object store for class: " + storedClass;
        }
    }

    private interface ConcreteClassStore extends SingleClassStore {
        boolean addHandle(InternalFactHandle handle, Object object);
        InternalFactHandle removeHandle(InternalFactHandle handle);

        ObjectHashMap getAssertMap();
        ObjectHashMap getIdentityMap();
        ObjectHashMap getNegMap();
    }

    private static class ConcreteIdentityClassStore extends AbstractClassStore implements ConcreteClassStore {

        private ObjectHashMap identityMap;

        private ObjectHashMap negMap;

        public ConcreteIdentityClassStore() { }

        public ConcreteIdentityClassStore(Class<?> storedClass) {
            super(storedClass);
        }

        @Override
        public boolean addHandle(InternalFactHandle handle, Object object) {
            if ( handle.isNegated() ) {
                negMap.put(handle, handle, false);
                return false;
            }
            return identityMap.put(handle, handle, false) == null;
        }

        @Override
        public InternalFactHandle removeHandle(InternalFactHandle handle) {
            if ( handle.isNegated() ) {
                negMap.remove(handle);
                return null;
            }
            return (InternalFactHandle) identityMap.remove(handle);
        }

        @Override
        public ObjectHashMap getAssertMap() {
            return identityMap;
        }

        @Override
        public ObjectHashMap getNegMap() {
            return negMap;
        }

        @Override
        public ObjectHashMap getIdentityMap() {
            return identityMap;
        }

        @Override
        public void writeExternal(ObjectOutput out) throws IOException {
            super.writeExternal(out);
            out.writeObject(identityMap);
            out.writeObject(negMap);
        }

        @Override
        public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
            super.readExternal(in);
            identityMap = (ObjectHashMap)in.readObject();
            negMap = (ObjectHashMap)in.readObject();
        }

        @Override
        public boolean isConcrete() {
            return identityMap != null;
        }

        @Override
        public ConcreteClassStore makeConcrete() {
            negMap = new ObjectHashMap();
            identityMap = new ObjectHashMap();
            identityMap.setComparator( new IdentityAssertMapComparator() );
            addConcreteStore(this);
            return this;
        }
    }

    private static class ConcreteEqualityClassStore extends ConcreteIdentityClassStore {

        private ObjectHashMap equalityMap;

        public ConcreteEqualityClassStore() { }

        public ConcreteEqualityClassStore(Class<?> storedClass, ObjectHashMap equalityMap) {
            super(storedClass);
            this.equalityMap = equalityMap;
        }

        @Override
        public boolean addHandle(InternalFactHandle handle, Object object) {
            boolean isNew = super.addHandle(handle, object);
            equalityMap.put(handle, handle, false);
            return isNew;
        }

        @Override
        public InternalFactHandle removeHandle(InternalFactHandle handle) {
            InternalFactHandle removedHandle = super.removeHandle(handle);
            equalityMap.remove(handle);
            return removedHandle;
        }

        @Override
        public ObjectHashMap getAssertMap() {
            return equalityMap;
        }

        @Override
        public void writeExternal(ObjectOutput out) throws IOException {
            super.writeExternal(out);
            out.writeObject(equalityMap);
        }

        @Override
        public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
            super.readExternal(in);
            equalityMap = (ObjectHashMap)in.readObject();
        }
    }

    private static abstract class AbstractCompositeIterator<T> implements Iterator<T> {
        protected final Iterator<ConcreteClassStore> stores;
        protected final boolean assrt;
        protected final ObjectFilter filter;

        protected Iterator<T> currentIterator;
        protected T currentNext;

        private AbstractCompositeIterator(Iterable<ConcreteClassStore> stores, boolean assrt) {
            this(stores, assrt, null);
        }

        private AbstractCompositeIterator(Iterable<ConcreteClassStore> stores, boolean assrt, ObjectFilter filter) {
            this.stores = stores.iterator();
            this.assrt = assrt;
            this.filter = filter;
            fetchNext();
        }

        private void fetchNext() {
            while (currentNext == null) {
                nextIterator();
                if (currentIterator == null) {
                    break;
                }
                currentNext = currentIterator.next();
                if (filter != null && !accept()) {
                    currentNext = null;
                }
            }
        }

        private void nextIterator() {
            while (currentIterator == null || !currentIterator.hasNext()) {
                if (stores.hasNext()) {
                    fetchNextIterator();
                } else {
                    currentIterator = null;
                    break;
                }
            }
        }

        protected abstract void fetchNextIterator();

        protected abstract boolean accept();

        @Override
        public boolean hasNext() {
            return currentNext != null;
        }

        @Override
        public T next() {
            T next = currentNext;
            currentNext = null;
            fetchNext();
            return next;
        }

        @Override
        public void remove() {
            throw new UnsupportedOperationException();
        }
    }

    private static class CompositeObjectIterator extends AbstractCompositeIterator<Object> {
        private CompositeObjectIterator(Iterable<ConcreteClassStore> stores, boolean assrt) {
            super(stores, assrt);
        }

        private CompositeObjectIterator(Iterable<ConcreteClassStore> stores, boolean assrt, ObjectFilter filter) {
            super(stores, assrt, filter);
        }

        @Override
        protected void fetchNextIterator() {
            HashTableIterator iterator = assrt ?
                                         new HashTableIterator( stores.next().getIdentityMap() ) :
                                         new HashTableIterator( stores.next().getNegMap() );
            iterator.reset();
            currentIterator = new JavaIteratorAdapter<Object>( iterator, JavaIteratorAdapter.OBJECT );
        }

        @Override
        protected boolean accept() {
            return filter.accept(currentNext);
        }
    }

    private static class CompositeFactHandleIterator extends AbstractCompositeIterator<InternalFactHandle> {
        private CompositeFactHandleIterator(Iterable<ConcreteClassStore> stores, boolean assrt) {
            super(stores, assrt);
        }

        private CompositeFactHandleIterator(Iterable<ConcreteClassStore> stores, boolean assrt, ObjectFilter filter) {
            super(stores, assrt, filter);
        }

        @Override
        protected void fetchNextIterator() {
            HashTableIterator iterator = assrt ?
                                         new HashTableIterator( stores.next().getIdentityMap() ) :
                                         new HashTableIterator( stores.next().getNegMap() );
            iterator.reset();
            currentIterator = new JavaIteratorAdapter<InternalFactHandle>( iterator, JavaIteratorAdapter.FACT_HANDLE );
        }

        @Override
        protected boolean accept() {
            return filter.accept(currentNext.getObject());
        }
    }
}


Whether you have that special someone or not, these things will definitely get you giddy over the Valentine's Day season. Spice up your life for that romantic evening or your lonely hearts soiree!
January 21, 2017 in Tu B'Av, Valentine's Day.


ProGAL - Java-library for computational geometry and protein representations.
The documentation of ProGAL is currently maintained partly through a JavaDoc homepage and partly through a collection of examples that demonstrate the use of the library.
Alpha shape of protein 1GZX (chain A) computed in ProGAL.


text:
Home Inspiration El Corte Inglés - Sustainability Facts, Rating, Goals | Panaprium
El Corte Inglés is a Spanish fashion retailer founded by César Rodríguez González and Ramón Areces in 1940 in Madrid. The multinational clothing-retail company creates fast fashion for the whole family.
El Corte Inglés makes clothing, accessories, shoes, swimwear, sportswear, and lingerie. It also creates jewelry, homeware, fragrances, and beauty products.
El Corte Inglés follows the latest fashion trends for women, men, and kids. It offers curated clothing selections and guarantees innovation with the ultimate goal of making people's lives easier.
El Corte Inglés is working to make the planet more sustainable and forge a better future for everyone. It takes massive action to tighten its bond with society and the environment.
The Spanish clothing retailer fosters decent and responsible manufacturing conditions and rationalizes resource consumption and waste generation.
The Spanish clothing retailer offers a sustainable collection made from organic or recycled materials called "Responsablemente." Its ultimate goal is to reduce the consumption of resources, control greenhouse gas emissions, and prevent and recover waste.
Type: Basics, denim, dresses, knitwear, underwear, loungewear, swimwear, activewear, outerwear, maternity, heels, flats, sandals, boots, sneakers
Prices: $
Sizes: XS-6XL, 2-26 (US), 4-28 (UK), 34-56 (EU), 4-28 (AU), plus size
Fabrics: Cotton, linen, hemp, ramie, jute, lyocell, modal, viscose, cupro, acetate, polyester, nylon, spandex, polyethylene, polypropylene, acrylic, neoprene, leather, wool, silk, down
Ethical & Fair: No
Producing countries: Bangladesh, China, India, Pakistan, Portugal, Spain, Turkey, Vietnam
Certifications: GOTS, OCS, GRS, RDS, RWS, FSC, BCI, Bluesign, Oeko-Tex, BSCI, SMETA, WRAP, SA8000
El Corte Inglés takes measures to align with steadfast principles of ethical and responsible conduct. It wants to evolve towards an omnichannel model more aligned with digitalization, diversification, and sustainability.
El Corte Inglés is taking the lead, setting trends, fostering change, and creating new concepts. It adapts and innovates to accelerate the transformation of the business model.
El Corte Inglés has an environmental policy to reduce the impact of materials used and intensify the use of sustainable and environmentally friendly materials. However, the majority of its business remains detrimental to the environment.
El Corte Inglés only uses a very small proportion of organic materials such as organic cotton and hemp, or recycled materials such as recycled cotton, recycled polyester, and regenerated nylon.
Only very few of its collections are dedicated to sustainable fashion. Most of the fabrics it uses are either natural without relevant certifications, such as conventional cotton or linen, or synthetic petroleum-based fibers such as polyester, nylon, acrylic, and more.
El Corte Inglés also uses a little amount of semi-synthetic fibers or regenerated cellulosic fabrics such as Tencel lyocell, modal, acetate, viscose, and cupro.
Tencel is an eco-friendly fiber made with wood pulp from certified sustainable forests. But only a very small proportion of the materials used by El Corte Inglés are environmentally friendly and sustainable.
El Corte Inglés produced less than 10% of its garments in close neighborhood countries and more than 80% in Asia. It works with carefully selected manufacturers to ensure compliance with social responsibility commitments.
El Corte Inglés manufactures its clothes in Turkey and many other East Asian countries where human rights and labor law violations still happen every day.
But the Spanish clothing retailer is making progress in its goal to verify the social, labor, and environmental conditions in its factories. It ensures the respect for good ethical, social, employment, and environmental standards.
El Corte Inglés demonstrates certification to ensure international human rights, labor, social and environmental standards along the entire supply chain.
El Corte Inglés has a code of conduct that applies to all its suppliers and subcontractors based on the regulations set by the International Labor Organization (ILO).
El Corte Inglés assesses compliance with its Code of Conduct by conducting audits for social, environmental, and good governance in its suppliers' manufacturing plants.
El Corte Inglés works with more than 1,780 manufacturing suppliers and conducted 2,647 audits in the 2020/2021 turnover year, with 75% corresponding to the Amfori BSCI system.
El Corte Inglés doesn't use any exotic animal skin. However, it uses animal hair, fur, angora, leather, wool, silk, and down feathers to manufacture many of its clothing pieces.
El Corte Inglés has committed to reducing the impact on the environment. All El Corte Inglés and Supercor stores will have Zero Waste certification by 2025.
El Corte Inglés will achieve a 30% reduction in the supermarkets' plastic footprint by 2025. It also plans to increase the number of sustainable items by at least 5% a year.
El Corte Inglés aims to purchase 50% of cotton in its products based on BCI principles by 2023. It will use at least 25% of materials with a low climate-change impact (organic, recycled, regenerative, sustainable) by 2025.
El Corte Inglés has committed to 100% use of renewable energies in its operations and incentivized in the supply chain by 2030. Its medium-term goal entails progressively reducing emissions to achieve carbon neutrality.
Discover El Corte Inglés's sustainable collections at Elcorteingles.com.
Reviews And Experiences With El Corte Inglés
Have you had (good) experiences with shopping at or the products of El Corte Inglés? Then leave us your rating below.
PLEASE SIGN IN OR SIGN UP TO REVIEW THIS PRODUCT
accessories bags basics boots casual children clothing denim dresses europe flats jewelry knitwear loungewear maternity men outerwear plus size sandals shoes sleepwear sneakers sportswear swimwear underwear women


Despite the inconsistent medical opinions about Fibromyalgia, several treatment options have been found to be successful.
Serotonin/Norepinephrine Reuptake Inhibitors (Milnacipran & Duloxetine) – these also carry the potential for very serious side effects, and should be regarded as a last resort.
Acupuncture – This treatment, based on Traditional Chinese Medicine, seeks to stimulate very specific points on the body's energy meridians. The meridians most often used to treat acupuncture are Kidney, Liver, Governing Vessel and Gall Bladder.
Inject an analgesic into the tender points. This will "turn them off" for a few days, bringing at least short-term relief.
This is the use of alternating hot and cold packs to reduce or eliminate the pain.
This is the use of adjustment techniques to reduce the strain on muscles and tendons.


text:
My Take on Snow Lake – Aug. 16, 2019
News from Hudbay regarding 1901 deposit near Snow Lake
Marc Jackson / Thompson Citizen
The Lalor/Chisel North Mines sign on Provincial Trunk Highway 392. Could it soon have the words in white added to it?
Photograph By Marc Jackson
In a news release filed with strong operating outcomes and exciting developments in respect to a new Snow Lake deposit, Hudbay Minerals filed their second quarter of 2019 results.
The Toronto-based miner boasted a solid operating quarter, including record production at their Lalor Mine and similar throughput at the nearby Stall Lake concentrator.
Ore mined by Hudbay operations in Manitoba was only up by one per cent; however, it saw a significant increase at Lalor and 777 over the same period last year, which of course was offset by the closure of the Reed Mine. Nonetheless, the company reports they are on track to meet all production and cost guidance for 2019
Hudbay took the opportunity created by the report to announce that they have an initial National Instrument ("NI") 43-101 resource estimate for the 1901 deposit. The 1901 is zinc-rich orebody located between the Lalor deposit and the now defunct Chisel North Mine.
As well, the news release noted that Hudbay has progressed on several key strategic initiatives, including engineering and permitting for the Lalor Gold strategy and community negotiations near their Constancia producer in Peru.
One of the only drawbacks, it seems, is the suspension of construction work at the Rosemont Mine, located just southeast of Tucson, Arizona. This resulted from the U.S. District Court for the District of Arizona revoking the permission for the site given previously by the U.S. Forest Service, stating that the mine would be "inconsistent with standards and guidelines" on a number of wildlife, maintenance and habitat-related concerns. The company says it intends to appeal the decision and is evaluating options for advancing the project.
"We were surprised and disappointed by the court's decision on Rosemont, which we intend to appeal," stated Mr. Kukielski. "Rosemont aside, we continue to execute our strategy. In Snow Lake, we are pleased to announce the initial resource estimate for the 1901 deposit, a mere six months from the initial discovery. In the second half of the year, we will continue advancing the WIM, Pen II and New Britannia zones to upgrade them to a reserve classification, while advancing feasibility work on the 1901 deposit. In Peru, our focus will continue to be on accessing the high-grade Pampacancha satellite deposit while advancing discussions with the communities to the northwest to explore the other satellite properties."
In reviewing their Manitoba operations, Hudbay said they reflect the first full quarter of the Lalor mine achieving 4,500 tonnes per day and the Stall mill achieving record quarterly throughput. "The combined Manitoba operations produced 31,838 tonnes of zinc, 6,131 tonnes of copper and 28,019 ounces of gold-equivalent precious metals," read the release. "Total copper, gold and silver produced were lower compared to the same period in 2018 due to the closure of Reed mine, partially offset by increased production at 777 and Lalor."
The company also provided a Snow Lake exploration update in respect to the 1901 deposit initial resource estimate. Hudbay advises that drilling has continued to define the extent and geometry of the deposit and this drill program, along with geological interpretation and resource modeling, has resulted in an initial resource estimate, a mere six months from discovery. "The deposit is located between the former producing Chisel North mine and Lalor mine, less than 1,000 metres from an active underground ramp at a depth ranging from 550 to 650 metres and within 15 kilometres trucking distance of the Stall concentrator," the company said. "The mineralization is interpreted as two zinc-rich volcanogenic massive sulphide lenses with locally high-grade gold and silver content. The mineralization occurs along the hanging wall contact of the stratigraphic horizon hosting the Chisel North deposit.
"There remain opportunities for extension of the mineralization discovered at the 1901 deposit. Exploration targets for new discrete lenses also exist in the immediate vicinity of 1901 and two drills are actively exploring in the area. The company is studying alternatives to develop the 1901 deposit to optimize the net present value of the Manitoba business unit."
Further to this drilling, Hudbay notes that it has had high-grade gold and copper-gold intercepts. Drilling has identified several high-grade gold and copper-gold zones, but the company is not yet at the point of establishing a mineral resource estimate for it. Highlights of intersections occurring in the footwall of the zinc rich lenses are Drill hole CH1916 assayed 29.8 grams per tonne (g/t) Au and 401.8 g/t Ag over 7.5 metres from 580.5 to 588.0 metres, and drill hole CH1925 assayed 3.2 g/t Au, 19.9 g/t Ag and 2.83 per cent Cu over nine metres from 637.5 to 646.5 metres. As well, several other high-grade copper and gold intersections of less than three metres occur throughout the footwall zone in altered felsic units. "As drilling progresses to an infill stage to convert the inferred zinc-rich resource estimates to an indicated category, the company also expects to establish the continuity of the gold and copper-gold rich mineralization and report a mineral resource estimate for this portion of the mineralization," Hudbay said. "The gold and copper-gold rich mineralization is likely to constitute a suitable feed for the New Britannia gold mill after its refurbishment is completed in 2022 and could further enhance the gold production profile from the Snow Lake camp.
During the second quarter of 2019, Hudbay has also continued in-mine exploration activities at the Lalor mine and made progress on engineering studies for its other 100 per cent-owned deposits in the Snow Lake area, including the WIM, Pen II and New Britannia mine properties. Drilling and studies will continue throughout the year and are expected to be incorporated in the annual mineral reserve and resource estimate.
Municipalities are important for Manitoba's economy
MP Report – Aug. 16, 2019
Popular Columnists
My Take on Snow Lake – May 3, 2019
My Take on Snow Lake - Feb. 8, 2019
My Take on Snow Lake - May 6, 2016
The new division of Africa: Christian south and Muslim north
Come ride with us: Snoman Inc. invites you to explore the trails
MLA Report - Jan. 10, 2020
MP Report - Jan. 10, 2020
We can't just throw money at crime prevention
Take the jolt out of Manitoba's excess power generation
Thompson and the Citizen the latest stop in brief whirlwind journalism career


text:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Treehopper.Demos.DigitalRead
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}


Talley, D. M., & Dwyer, A. C. (2012). Between Scylla and Charybdis: Equating vs. standard setting for new test forms with limited sample sizes. Presented at the meeting of the Association of Test Publishers, Palm Springs, CA.


text:
Q: Is there a way to run some code (once) before all the tests in a JUnit Suite are executed? I would like to create a JUnit 5 test suite that runs some tests. However, I would like the test suite to execute something before it starts running the tests. Is there a way to do this? I have tried using the @BeforeAll annotation, but I don't think it's applicable in this sense, nothing seems to be happening.
I have:
@RunWith(JUnitPlatform.class)
@SelectPackages("org.foo")
public class FooITSuite
{

    @BeforeAll
    public void setUp()
    {
        System.out.println("Lift-off!!!");
    }

}

Is this at all possible?
The tests do execute, but the setUp method does not get executed.


text:
Gadens Engel (originaltitel: Street Angel) er en amerikansk stumfilm med et Movietone-lydspor. Filmen var instrueret af Frank Borzage og tilpasset til film af Harry H. Caldwell, Katherine Hilliker, Philip Klein, Marion Orth og Henry Roberts Symonds. Filmen er baseret på skuespillet Lady Cristilinda af Monckton Hoffe.
Som en af de tidlige overgangslydfilmudgivelser havde den ikke optaget dialog, men brugte mellemtekster sammen med optagede lydeffekter og musikuddrag.

Gadens Engel var en af tre film, for hvilke Janet Gaynor modtog en Oscar for bedste kvindelige hovedrolle i 1929. De andre var F. W. Murnaus Sunrise: A Song of Two Humans og Borzages 7th Heaven. Filmen blev også nomineret til en Oscar for bedste scenografi og en Oscar for bedste fotografering.

Referencer

Eksterne henvisninger

Stumfilm fra USA
Amerikanske film fra 1928


Macron Permanently Cancels Planned Fuel Tax Hike After Yellow Vest Protests, by Chris Tomlinson.
Now that they have tasted victory, it will be interesting to see what the protesting French normals do next.
France is now at a critical juncture. The riots of the yellow vests have occurred each weekend, for the last three weekends. Then Macron backed down on the carbon tax. If the riots this weekend are smaller than last weekend, then the movement is subsiding and may be mollified for months or perhaps years. But if this weekend's riots grow even larger, then Macron is effectively being overthrown and the mob are in control.
Notice how quickly the demands segued from ending the carbon tax to ending third world immigration.
France is currently consumed by this power struggle. Some yellow vests are calling for Macron to resign, for parliament to be dismissed, and a new popular assembly to arise. Notice too that the yellow vests are not associated with either left or right as yet — though both sides are claiming ownership. (The Tea Party in the USA started in 2008 in reaction to the unfairness and corruption of the huge bailouts in the GFC. It was initially in both the left and right, but the Democrats kicked it out and it only took hold in the Republican Party. It eventually morphed into the movement headed by Trump.) They simply want less taxation. and for the elite to listen to them — that is, a decent life and democracy that works.
Is this the long awaited moment when the West's peasants say "enough!" to the globalists?
The French also led the way against corrupt monarchies and their "divine right to rule" in 1789. All of Europe had such monarchies (though not Britain, which had a stronger Parliament). After the crazy leftism of the revolutionaries of 1789 had burned out and crumpled under the guillotine and epic mismanagement, a strong man arose to take charge of France — Napoleon. But the monarchies of Europe wanted to crush France and restore the monarchy in France, because a non-monarchist France was a threat to them and their ideology. (Do they sound like the globalists yet?) Napoleon saw himself as the guardian of the French revolution, In order to defend France from imminent monarchist attack, Napoleon led attacks on all the other European countries — Austria, Spain, the German and Italian states, even Russia. He almost won, and for nearly twenty years he was the scourge of monarchs all over Europe. Eventually Napoleon lost, twice, and the other European powers re-installed a French monarchy.
Yellow vest riots have already spread to Holland and Belgium. Where next? The US and Australia are still too comfortable to riot, but it is not impossible that one day crowds of English speakers will be donning yellow vests.
UPDATE: The vast social and political earthquake that started in France, by Joanne Nova.
I get my information largely from three "independent" rolling news channels, all owned by millionaire oligarchs, and financed by ads which are almost exclusively for fast cars and perfumes — the kind of luxury products which France produces par excellence. In France, less than 8% of the population reads a national newspaper. News is for the élite. I switch to SkyNews, and I feel I've descended ten rungs on the social ladder, with rather ordinary journalists feeding me rather ordinary stuff for rather ordinary citizens. It's not particularly informative, but it feels democratic — sort of.
BUT, these French channels are devoting 95% of their time (I'm not exaggerating) to a movement supported by 85% of the population, which is now demanding the resignation of a president recently elected by 65% of voters, plus the dissolution of parliament, to be replaced by some kind of popular assembly. This situation, incomprehensible to the English, is easily explained by the sociological analysis of Emmanuel Todd.
Blacks are attacking Jews because they see Judaism as 'a form of almost hyper-whiteness'?


In this curriculum, you'll learn how to leverage enterprise reporting, query, and analysis functionality within SAP NetWeaver Business Intelligence. As a result, you'll benefit from the ability to provide tailored information for a variety of user roles across your enterprise. The courses for SAP Business Objects solutions provide insights in the extended possibilities to define and create reports leveraging the capabilities of the SAP Business Objects solutions.


text:
Marshall Gauge 0-15 psi Fuel Pressure Oil Pressure Gauge Black 1.5" Diameter
Marshall C2 Blueline Oil Pressure Gauge, Electric, Stainless Bezel, 2133SS
Marshall C2 60s Oil Pressure Gauge, Stainless Bezel, 2933SS
Marshall 2-1/16" Oil Pressure Gauge, Electric, White Dial, Black Bezel, 2233BLK
Marshall Comp II 3013 Mecanical Oil Pressure Gauge 2 5/8" Black Dial 0-100 PSI
y2llc (3142 )
y2llc has no other items for sale.
Details about Marshall C2 Oil Pressure Gauge, Electric, Black Dial, Black Bezel, 2033BLK
Marshall C2 Oil Pressure Gauge, Electric, Black Dial, Black Bezel, 2033BLK
Trabuco Canyon, California, United States
Estimated on or before Sat. Jan. 25 to help icon for Estimated delivery date - opens a layer
Condition: New Country/Region of Manufacture: United States
Marshall Instruments
Type: Electrical
Warranty: 90 Day Manufacturer Part Number:
2033BLK
y2llc
Blueline Gauges & Sets
Redline Gauges & Sets
C2 Black Gauges & Sets
C2 White Gauges & Sets
SCX Gauges & Sets
Boost / Vacuum
Nitrous Pressure
Trans Temperature
Engine Thermometers
C2 Silver Gauges & Sets
3" Dial
Asphalt Thermometers
Item location: Trabuco Canyon, California, United States
Shipping to: United States, Canada, United Kingdom, Denmark, Romania, Slovakia, Bulgaria, Czech Republic, Finland, Hungary, Latvia, Lithuania, Malta, Estonia, Australia, Greece, Portugal, Cyprus, Slovenia, Japan, Sweden, Korea, South, Indonesia, Taiwan, South Africa, Thailand, Belgium, France, Hong Kong, Ireland, Netherlands, Poland, Spain, Italy, Germany, Austria, Bahamas, Israel, Mexico, New Zealand, Philippines, Singapore, Switzerland, Norway, Saudi Arabia, Ukraine, United Arab Emirates, Qatar, Kuwait, Bahrain, Croatia, Republic of, Malaysia, Brazil, Chile, Colombia, Costa Rica, Dominican Republic, Panama, Trinidad and Tobago, Guatemala, El Salvador, Honduras, Jamaica, Antigua and Barbuda, Aruba, Belize, Dominica, Saint Kitts-Nevis, Saint Lucia, Barbados, Brunei Darussalam, Bolivia, Ecuador, Egypt, Guadeloupe, Iceland, Jordan, Cambodia, Cayman Islands, Sri Lanka, Luxembourg, Martinique, Nicaragua, Oman, Peru, Paraguay, Vietnam, Uruguay, Russian Federation
Change country: -Select- Antigua and Barbuda Aruba Australia Austria Bahamas Bahrain Barbados Belgium Belize Bolivia Brazil Brunei Darussalam Bulgaria Cambodia Canada Cayman Islands Chile Colombia Costa Rica Croatia, Republic of Cyprus Czech Republic Denmark Dominica Dominican Republic Ecuador Egypt El Salvador Estonia Finland France Germany Greece Guadeloupe Guatemala Honduras Hong Kong Hungary Iceland Indonesia Ireland Israel Italy Jamaica Japan Jordan Korea, South Kuwait Latvia Lithuania Luxembourg Malaysia Malta Martinique Mexico Netherlands New Zealand Nicaragua Norway Oman Panama Paraguay Peru Philippines Poland Portugal Qatar Romania Russian Federation Saint Kitts-Nevis Saint Lucia Saudi Arabia Singapore Slovakia Slovenia South Africa Spain Sri Lanka Sweden Switzerland Taiwan Thailand Trinidad and Tobago Ukraine United Arab Emirates United Kingdom United States Uruguay Vietnam
On or before Sat. Jan. 25 to
Oil Pressure Gauges for Honda Odyssey,
Oil Pressure Gauges for Toyota Sienna,
Oil Pressure Gauges for Subaru Forester,
Oil Pressure Gauges for Kia Sorento,
Oil Pressure Gauges for Cadillac DeVille,
Oil Pressure Gauges for GMC Sierra,
Oil Pressure Gauges for Lincoln Navigator,
Oil Pressure Gauges for Scion xB,
Oil Pressure Gauges for Pontiac G6,
Oil Pressure Gauges for Jeep Compass


text:
SYNONYM

#### According to
The Catalogue of Life, 3rd January 2011

#### Published in
Icon. pl. ed. Schreber 3: 261 (1793)

#### Original name
Burcardia globosa Schmied., 1793

### Remarks
null


This post is being written because I see at least locally, many home buyers are making some very big mistakes right now.
Right now buyer's think that they are in the cat-bird's seat. The general market stats indicate that they have plenty of choices and with that type of selection apparently available – it is easy to get a bit too cocky. Time stretches luxuriously before buyers – or so they think. Since there is deflationary pressure in many markets right now – there is a tremendous temptation to happily walk away from a great offer or to counter with a real low-ball. After all, the house will still be around next month -and because of the magic of the buyers market – by then the seller will be begging them to buy and the buyer can name all terms their little hearts desire.
Word to the wise, hubris is a dangerous thing; it can come back to bite you.
To most buyers this means the house of their dreams at a low (sometimes ridiculous) sticker price. The trouble is they are ONLY looking at the sticker price.
Jim Cramer has a saying on his show "Mad Money" which is "hogs get slaughtered." That is a great metaphor for this buyers market. Its past time to stop the madness and put the green-eyed monster on hold. Otherwise you could lose – big time.
How can buyers lose in this market?
By letting greed and the endless quest for "more " get in the way of making a sound purchase while interest rates are low – that's how. Buyers have been blithely ignoring the big wild card in this market: Interest rates. But in so doing they are counting on RECORD LOW INTEREST RATES remaining stable. Since interest rates have a nasty habit of rising unexpectedly – that's like sitting on a keg of dynamite with a lit match. Once interest rates go up, they are unlikely to come down again to present levels since the rates we are enjoying right now are quite literally unprecedented. If you are ignoring interest rates, simply assuming that low rates will always be there for you then you are playing with fire.
Buyers have become very spoiled by extremely low interest rates. These interest rates are pushing affordability to levels exceeding the depths of the previous housing recession of the 1990s. Affordability is at about a 15 year high.
But interest rates are way below historical norms and when they adjust, they tend to adjust quickly and dramatically. Below is a chart of median interest rates over the past 30 years. In only 4 of those 40 years did median rates fall below 6% which is where they are right now. For 15 of those 40 years rates were above 9%. These super low rates pushing below 5% haven't been seen since before Eisenhower was POTUS. Given that history – how long can a good thing like this possibly last? Not that long.
Hopefully, interest rates will then hover around 6-8%. However, if you don't think that will impact your purchasing plans – here is a chart that shows you just what will happen. I picked a mortgage of $300,000 simply because that is a good loan amount for an entry level buyer. I am not a lender at all. So the chart is somewhat quick and dirty – I plugged in a stand mortgage calculator and rounded the results.
I used 4.5% as the base on a standard $300,000 30 year loan. An increase of interest rates from 4.5 to 6% would cost buyers $3336 more a year. At 7%, it would cost buyers $5712 a year more and at 8% a whopping $8172. I don't know about you, but if I were in the market for a home, that would give me pause. Over 30 years this could cost homeowners between $100,000-$245,000. That's not chump change and it is money that could have been put towards their dream house.
Even if you wanted to pay the extra money – the bank probably wouldn't let you. They base their ability to lend on your income and so as interest rates rise – your purchasing power goes down. If interest rates rise from 4.5 -6% on buyers will lose over $46,000 o f purchasing power . At 7% there is a loss of over $70k of lending power – something close to 25%. At 8% lending power decrease in excess of 30%.
Listen Buyers – a 1% increase in interest rates corresponds roughly to a 10% decrease in housing prices. Do you really want to play games with that? For Westchester NY buyers – I know you are disappointed. The hype in the media told you that you could have almost anything for a song. But New York marches to the beat of its own drummer. Even if New York devolves from the biggest financial capital of the world over the next few years – it will still be the financial capital of the United States. That fact makes the area pricey. This market is just 30 minutes from midtown Manhattan. It always has been expensive and it always will be. it creates a relative price stability that other parts of the nation don't enjoy. Nevertheless, there has been a major price adjustment – so you can buy in at levels not seen in this century.