Despite the fact more than two-thirds of California pistachio growers voted to continue their 26-year-old marketing, research and promotion organization, the California Pistachio Commission is going out of business.
It is the casualty of California's agricultural commission law which says it also takes majority of production along with two-thirds of eligible voting producers to make or break a commission.
Los Angeles billionaire Stewart Resnick and his Paramount Farming Co. in Kern County, Calif., control 25-30 percent of the state's pistachio production. Paramount's one vote against the commission killed it in a recent statewide referendum.
Sheely said the commission closure would lead to reductions in generic advertising advocating pistachios as a healthy diet component.
The demise of the commission could not come at a worse time as production is expected to increase dramatically in the next few years with 40,000 new acres coming into production. That is a third more than the 112,000 acres now farmed by the state's 734 growers.
The 2006 harvest produced 237 million pounds and it was considered an off year for alternate producing pistachios. The record is 347 million pounds produced in 2004.
"With the California Pistachio Commission, the industry had a unified voice. If there was an Iranian (pistachio) dumping issue in the U.S., we went as a unified voice to Congress and said there is a problem and this hole needs to be plugged. Now there is no formal mechanism to do that. We are in a quandary," Sheely said.
Officially, the two-thirds who voted to continue the commission produced only 41 percent of the voted volume. More than 60 percent of the state's pistachio producers balloted.
Paramount filed suit against the CPC in October 2005 and since that time the CPC has been embroiled in litigation while attempting to negotiate a settlement resolution with the plaintiffs in the case. California Department of Food and Agriculture oversees the CPC and had conducted a public hearing last December to allow the industry to express opinions as to potential structural and governance changes for the CPC that was enacted by the state legislature in 1981.
Referendum ballots were mailed to all assessed growers on Jan. 25 and included options to restructure the CPC for the purpose of resolving the current litigation.
"This has been a very difficult time for the industry, and it is my sincere hope that the growers can move beyond their disappointment and start working together for the good of the industry," stated Karen Reinecke, CPC president.
California produced its first commercial crop in 1976. The state is the largest producer of pistachios in the U.S. and the second largest in the world.
Paramount said in its lawsuit that the commission's marketing programs are "totally ineffective" yet pistachios have emerged as one of the most profitable and fastest growing segments of mainstream California agriculture over the past decade.
"It is critical that, as an industry, we move beyond the CPC's commodity mindset and set our sights on the bigger goal of stimulating consumer demand and that is why we have taken these actions today," said Chris Tuffli, Paramount Farms' communications director, in a written statement issued when the lawsuit was filed.
A large contingent of pistachio producers under the organization called "United Pistachio Farmers" lead the court fight and in the field.
To get Paramount's attention some from this group pulled pistachios away from Paramount and placed them with other processors. It did no good.
In the last industry referendum, 96 percent of the ballots submitted supported the continuation of the commission.
CPC has fielded an aggressive California pistachio promotion campaign for several years. Health benefits have given pistachio consumption a big boost and the commission's promotion activities played off that.
Besides promotion, the commission funds considerable, vital research, including root stock trials and insect control studies. Herman hopes that work and current advertising contracts would be honored.
Paramount farms about 30,000 acres of almonds, 25,000 acres of pistachios and 6,000 acres of pomegranates in the southern San Joaquin Valley.
Paramount Farming recently purchased 15,000 acres of row-crop land in Madera County from Newhall Land Co. that likely will be planted to almonds, pistachios or pomegranates.
The Resnicks purchased Paramount Citrus in the 1980s. They own 20,000 acres of their own citrus and farm another 10,000 acres through their subsidiary S&J Farm Management. Paramount Citrus is the largest citrus grower in California and supplies 20 percent of Sunkist's citrus.
"I want to encourage all growers and processors in California's pistachio industry to not look back and point fingers or place blame at anybody's feet, but rather look ahead and focus on how the industry can continue to achieve the commission's goals," Herman said.


"Please not that only suscribers can post on these mailing lists, so please make sure that you are posting your mail with the email address you subscribed with."
"Please note that only subscribers can post on these mailing lists, so please make sure that you are posting your mail with the email address you subscribed with."
"guaranteeing a high level of quality and ensuring that Modelio remain a platform for innovation."
"guaranteeing a high level of quality and ensuring that Modelio remains a platform for innovation."
"Objecteering's model transformation language (H then J) was abandonned in favor of Java, with the diffusion of a public API matching Modelio's metamodel."
I suggest another term for diffusion: distribution, or providing, provision, or offer. Just an opinion, it seems to me that in English diffusion doesn't mean distribution in neutral sense. At least, I don't think I've ever seen "diffusion" used in English for software or APIs, in the sense of distribution. In French it seems to work for "diffusion d'une API", in English I'd say distribution of an API or providing an API.
Diffusion was a choice of the translator maybe not the good choice in this context. I replaced it by distribution which seems to be used in this content.


Enjoy maintenance-free living in this luxury townhome, built by Coventry Homes. Soaring thirteen foot ceilings in the master bedroom, family room, island kitchen and dining room lend drama to this stunning open floor plan. The wood-like tile and durable quartz countertops are both stylish and easy to maintain for busy families. The luxurious master suite is located between the courtyard and the covered patio, offering various view of the scenery. The master bath feels like a spa with a large shower and soaking tub, with views of the quaint courtyard. The family room opens to the covered patio, which offers an outdoor kitchen. This premium cul-de-sac lot is fenced with rod iron behind, and backs up to a lush green belt. If outdoor entertaining is your passion, this floor plan is for you, and the lot is large enough for a private pool. Come enjoy the convenience of neighborhood shopping and the beauty of nature with 10 miles of trails and two lakes!


text:
Global Supply Chain Management Star Featured in 30 Under 30
If you asked Leah Williams what she wanted to be when she was younger, she'd tell you that she wanted to be a musician.
True to her word, the 24-year-old plays nine instruments, but music isn't her only talent. She's been tapped as a rising star in a field that also requires cutting-edge quality and performance: global supply chain management.
So, how does a young professional arrive — and excel — in global supply chain management? For Williams, it's her appetite for knowledge, experience and growth that led her to Northrop Grumman's Professional Development Program (PDP).
Since joining the Northrop Grumman just a year and a half ago, Williams has completed two PDP rotations that exposed her to the company's partnerships with small businesses and diverse procurement operations.
Leah's achievements thus far have earned her a spot in the Thomas and Institute for Supply Chain Management's "30 Under 30," which celebrates young professionals for their contributions to their organization and the supply chain industry through leadership, innovation and collaboration efforts. Luis Huazano, a procurement analyst for our aerospace systems sector, also earned a spot on the list.
"To be given this recognition early in my career indicates that I'm on the right path," she says. "I'm honored and humbled."
Williams views her role not solely as buying parts for the best price, but as a critical partner in the company's quality and performance objectives.
For instance, in November 2017, Williams completed a contract worth more than $1 million between two small business suppliers. She also assisted with a successful Defense Contract Management Agency (DCMA) audit and has immersed herself in the company's employee resource groups.
"I wanted to find a company that values me," Williams says. "The opportunities here [at Northrop Grumman] are endless."
Voltaire Walker, manager in the Global Supplier Diversity Programs, sees Williams as a future leader in light of her ability to learn quickly, willingness to take on stretch assignments and knack for interpersonal communication.
Working with Walker's team to prepare for the DCMA Small Business Program Review, Williams conducted a detailed analysis of data trends, which helped to explain changes in small business subcontracting performance between the 2015 and 2016 fiscal years.
"Leah is very quick at grasping required details to complete a project," Walker says. "Leah is ambitious and eager to learn more and to exhibit to others how she can contribute to their success."
Williams was valedictorian of the 2015 undergraduate class at Delaware State University where she earned a bachelor's degree in management. She also obtained a master's degree in business administration, management and operations shortly thereafter in 2016.
But, her learning didn't stop there. In her 16 months with Northrop Grumman, she's added a supply chain professional certification to her repertoire and is working toward her Project Management Professional (PMP) Certification with the company's support.
"Northrop Grumman has given me a great foundation," she says. "I look forward to continuing to grow as a business professional."
Return to Life at Northrop Grumman home page.
Joint_cyberspace_programs_earth_Northrop_Grumman
Meet Monique: Life at Northrop Grumman
50 Years at the Rocket Ranch: Life at Northrop Grumman
Jodi and the OmegA Rocket: Life at Northrop Grumman
From the Military to Northrop Grumman: Life at Northrop Grumman
Inspiring Young Scientists: Life at Northrop Grumman
Adaptable Interns: Life at Northrop Grumman
Volunteering in Vietnam: Life at Northrop Grumman
Finding Work-Life Balance: Life at Northrop Grumman
Test Engineer Returns Home: Life at Northrop Grumman
From BEYA to a Career: Life at Northrop Grumman
Posted in Careers, Life at Northrop Grumman

redpajama_set_name: RedPajamaCommonCrawl


text:
Magic Knight Rayearth (manga), een Japanse mangaserie
 Magic Knight Rayearth (Sega Saturn), een computerspel voor Sega Saturn
 Magic Knight Rayearth (SNES), een computerspel voor Super Nintendo Entertainment System

redpajama_set_name: RedPajamaWikipedia


text:
Q: How do I filter tables while creating entity classes from database in netbeans? The database have 5000+ tables.
I'm creating entity classes from database in NetBeans, it lasts an hour.
I will select 10 Tables from these. But bringing it all tables.
I know how create entity classes:

Is there a way to speed up? How do I filter tables?

A: There's a bug report submitted to NetBeans, but for now it doesn't look like you can filter the tables.

Martin Balin 2016-07-07 08:56:00 UTC
This old bug may not be relevant anymore. If you can still reproduce it in 8.2 development builds please reopen this issue.
Thanks for your cooperation,
NetBeans IDE 8.2 Release Boss
Comment 14 vasster 2016-09-04 13:28:49 UTC
Yes it still exists in nightly-201609040002. Very slow retrieving of lots of tables. It seems that it may take half an hour to retrieve 3000 tables on an Oracle schema (jdbc7 driver).
I don't think it is actually a bug (it's not broken) but an enhancement request.
The past ideas are good candidates. Let it retrieve just the list of table names on schema to show and do actions on the next steps of the wizard for tables that are selected by the user.

redpajama_set_name: RedPajamaStackExchange


They can last from a year to several years.
It's a secondary movement they usually retrace between the 0.33% and the 0.66%.
The duration could be between one and 3 months.
They are the shortest and the more likely to be manipulated.
The standard duration could be between from an hour to one month.
Which trend you need to follow.
How to systematically identify a market trend.
This lack of information and method usually leads the new traders to discretionary trading systems which are the fastest way to the margin call.
The Hurst Cycles, once again, solve this issue thanks to their first principle: The principle of the proportionality.
This Hurst Cycle has an average duration of 32 days.
Its average movement is between +30 pips and -40 pips from its halft.
The total average movement bottom-to-top is of 70 pips.
This Hurst Cycle has an average duration of 256 days.
Its average movement is between +77 and -160 pips.
The total average movement bottom-to-top is of 237 pips.
The Yearly Cycle, which has a duration 8 times bigger than the Monthly Cycle, create a movement 3,38 times bigger than the Monthly cycle.
Now that you know the "theory", let's move into the advantages of trading the trends with the Hurst Cycles.
Which Market Trend should you follow?
In your opinion, the actual trend of the Aud/Usd is Bullish or Bearish?
The answer is: You cannot tell it.
Why? Because you didn't specify which trend you are trying to identify.
If you don't know which trend you are looking for, the answer can be whatever: bullish or bearish.
Here the first advantage of the Hurst Cycles comes into play: DEFINITION.
Thanks to the Hurst Cycles you are not going anymore to speak about "Trends" but "Cycles" and the cycles has a defined average duration and amplitude which you can measure, analyse and forecast.
Choose the Hurst Cycle you want to trade based on its duration and your free time.
In which Direction is pointing the Current Trend?
Now that you have decided which cycle you want to trade, it's the moment to methodically identify its direction.
This one of the key features of the Hurst Cycles.
A lot of trend-based trading systems use the Moving Averages with different inputs such as 21, 50 or 200.
Have you ever wondered why you are using these inputs?
Do they really work? Which is the best input?
If you haven't done yet hundreds of backtests, surely the answer is "I don't know".
But there is a good news: The Hurst Cycles solve this issue.
Set your indicators using this number.
Have a systematic indication of the trend direction.
1. Set your indicators using the Hurst Cycle Duration.
In the article "2 Useful Tricks to identify the Hurst Cycles" I explained you that the Moving Averages follow the movement of the cycle when the input is half the periods of the cycle duration.
Apply the Moving Average to your chart.
3. Spot the direction of the Cycle/Trend.
When the Cyclical Moving Average is pointing upward, the selected cycle/trend is bullish.
When the Cyclical Moving average is pointing downward, the selected cycle/trend is bearish.
Looking for something easier? Have a look at our Premium Indicators!
Using the Hurst Cycles you eliminate all the discretionary side of the common Trend Following Strategies.
Learn more about the Hurst Cycles!
Subscribe to the newsletter and download the FREE Hurst Cycles Mini Course.


SALEM, Ore. – Oregon lawmakers advanced a bill Wednesday that bans businesses from excluding unemployed applicants in their helped wanted ads.
While Senate Bill 1548 doesn't have any opposition, it nearly died after at least one member powerful enough to kill the bill expressed concerns about it.
Under the bill, Oregon businesses would be fined $1,000 by the state for writing in their job ads that unemployed applicants will not be considered.
The other key issue was whether applicants could sue a company. The bill doesn't allow new lawsuits against companies and it also doesn't stop employers from actually excluding unemployed candidates once they have their resume.
But questions linger over whether it could lead to broader protections for the unemployed that businesses might oppose.


text:
Notebook: Players react to latest in Meyer saga
Edward Aschoff Correspondent
NEW ORLEANS — Florida's players were unaware of the new developments in Urban Meyer's health saga on Wednesday.
According to an ESPN report, Meyer's wife, Shelley , called 911 from their home at about 4:30 a.m. following Florida's 32-13 loss to Alabama in the SEC Championship Game after she found him unresponsive. Meyer was then rushed to the hospital by ambulance after complaining of chest pains and tingling on his side.
The initial statement released by UF stated that Meyer had checked himself into Shands Medical Center and was treated for dehydration.
Meyer was not made available for comment following practice.
Senior receiver David Nelson said he was unaware of that particular situation on Dec. 6, but said Meyer has looked normal during practices for the Sugar Bowl against No. 4 Cincinnati (13-0).
"That's who he is," Nelson said. "He's not going to come out here and give us 50 percent or 75 percent. He's going to come out here and be just as fiery and just as intense as he always is. He knows that if he can't be 100 percent, then he won't be on the sidelines."
Senior linebacker Ryan Stamper said he hadn't noticed a difference in Meyer's intensity level this week and believes Meyer "deserves a break" from football and should return soon. When he does, Stamper said there will be only one place for him.
"I really don't feel like coach Meyer wants to coach anywhere but Florida," Stamper said. "He said it, and I pretty much believed him. He built something here real special and it's pretty much the top program in the country now because of him. Why would he want to go anywhere else?"
Senior quarterback Tim Tebow said Meyer still has health issues he needs to fix, but doesn't appear to have missed a coaching beat.
"He's going 100 percent and he wants to win this final game and end this season on a good note for us seniors and the (juniors) leaving," Tebow said.
Wednesday signaled the final practice of 2009, and finalized the practice careers for Florida's seniors.
Usually an emotional time, players said this year's traditional "Senior Tackle," in which the seniors make their final hit on a tackling dummy and underclassmen/coaches speak on their behalf, was more fun.
"There weren't any tears today, which was somewhat surprising to see," Nelson said. "At the same time, guys were so focused and motivated for this game on Friday."
Stamper was sent out by defensive coordinator and soon-to-be Louisville head coach Charlie Strong and junior defensive end Justin Trattou . Both spoke of Stamper's importance to the defense.
"Coach Strong was saying that if there was any player on the defense that can't get hurt, I couldn't get hurt," Stamper said.
Quarterbacks coach Scot Loeffler was recently listed as a potential candidate for the head-coaching job at Central Michigan after Butch Jones left CMU to become the next coach at Cincinnati.
Loeffler said there has been no communication between him or CMU.
"I have not spoken to them whatsoever," Loeffler said.
"I'm coaching the quarterbacks at the University of Florida and enjoying every second."


The Quality Assurance team has conducted training for each of the QM standards. The recordings below are password protected. Please contact the LTC at 575.439.3851 or email: ltcNMSUA@nmsu.edu for the passcode.


It never ceases to amaze me how many offers I get from PR companies to cover things on this little blog – which I write primarily for my own amusement. These days most get deleted immediately but occasionally something grabs my attention.
Like recently when I was contacted on behalf of Premier Inn who've just opened a new hotel in Harrogate, North Yorkshire and invited me to be one of the first to stay there. Although I am genuinely a regular Premier Inn customer it wasn't enough to get me interested, I mean a night in a Premier Inn only costs about £50 usually anyway.
I like sharing such experiences and I love Harrogate, but it's been years since I last visited. It's fair to say my tastes have improved considerably since then, the most exciting place I'd eaten at previously was their Wagamama. So it seemed a perfect opportunity to return and see what they have for the foodie I've become.
Initially I'd considered driving to Harrogate but as soon as I realised that the train station is home to 'Harrogate Tap' suddenly travelling by train was the only option. Having fallen in love with both Sheffield Tap and Euston Tap I knew it would be the perfect place to start (and probably end) my Harrogate trip.
And so it proved to be. Within minutes of getting off the train in the historic 1862 built station – the first in Harrogate to be built of bricks apparently, though I've no idea what they were building them from before, straw? – I was sat in the comfy Tap with a couple of great beers. Quite a few more followed; to be honest, I would've been perfectly happy to sit there for the rest of the day! It's every bit as enjoyable as the other Taps and left me looking forward to the opening of Manchester Tap next year even more than I already was.
Eventually we summoned up the willpower to leave (helped by the fact that we'd tried pretty much all the beers available) and headed to Major Tom's Social for a pizza, and possibly another beer.
Arriving to find it was above a quirky little vintage shop, 'Space'. The place to go for typewriters, vinyl and retro Adidas gear.
After almost blowing £3k on a full size jukebox we eventually made our way upstairs to Major Tom's Social.
I'd heard Major Tom's did good beer already but what I didn't know was that my visit conveniently coincided with a Brooklyn Brewery Takeover! So I got to enjoy some of my favourite Brooklyn beers as well as try their new Double IPA 'Blast' for the first time.
Despite the stone baked pizza being a little under cooked for my liking I loved Major Tom's. It had a great atmosphere, lovely staff and is exactly the sort of place I like to drink. We spent a couple of hours there relaxing and hiding from the cold outside on a comfy couch in the corner with its own heater.
Finally we made it to the Premier Inn. I'll spare you from any sort of 'review' of the hotel. Except to say that I've stayed in literally 100's of Premier Inn's and they're almost always pleasant experiences. This was no exception, as it's brand new the building is in immaculate condition and it's in a very quiet location, yet close to everywhere we planned on visiting.
After a well needed power nap we headed back out into the cold, dark night. This time to Baltzersen's, a cafe which at night transforms into Norse, a restaurant influenced by Nordic cuisine.
Having eaten at Noma – clearly the inspiration for Norse – and reading a glowing review from Jay Rayner recently I had very high expectations.
We started with a couple of cocktails; Dirty Beets (Beetroot) and Chipotle Margarita. The beetroot drink was fantastic but the margarita needed much more lime for me.
We then moved onto the six course tasting menu. Despite a couple of reservations it was a great meal and an enjoyable evening. Some highlights included a 'Soused Mackerel' dish and 'Globe Artichoke with Pickled Pear & Blue Cheese'. Read a full review time.
I really loved that they serve a range of craft beers, including form nearby Bad Seed Brewery.
We must have liked the place though as after checking out of the Premier Inn the following day we headed back to Baltzersen's to see what it's like in the day time. The cafe menu looked amazing but we only sampled a savoury pastry and a couple of drinks as we had lunch at Van Zeller booked already.
Not learning my lesson at all I had equally high hopes for Van Zeller. Only this time they were far exceeded! We ate from the seven course tasting menu and every single dish was flawless. Again a full review will follow but here are a few of my favourites.
After a stunning meal it was time to head back to the train station, with just enough time to call at Harrogate Tap for one last drink. We were actually only in Harrogate for around 28 hours but in that time we saw, ate and drank more than was probably sensible. But we had so much fun and are already planning to return to eat at Van Zeller in the evening. Of course we'll be travelling by train too.
Disclaimer: My stay at Premier Inn Harrogate was complimentary for the purposes of this post. I also received some travel expenses but I planned the entire trip, was never told where to visit or what to write and of course, all views are my own.
Previous: The New Menu At Solita, And Which Is Best: NQ or Didsbury?


expert, caring partners in their health.
Bone & Joint Recover fast from injury and achieve your optimal physical performance.
Cancer Care Nationally recognized care in one of the nation's most advanced cancer centers.
Heart & Vascular Experience makes us a national, regional and local leader for heart care.
Women's Health Caring for every woman with compassion and sensitivity throughout their lifetime.
American College of Physicians chapter honors Christiana Care doctorsThe Delaware Chapter of the American College of Physicians (ACP) honored three of its members with awards in March. Allen Friedland, M.D., FACP, FAAP, received the chapter's Laureate Award. The award is the highest recognition given by ACP chapters to honor physician members who have demonstrated a commitment to excellence in medical care, education, research […] The post American College of Physicians chapter honors Christiana Care doctors appeared first on Christiana Care News.
This medical pocket guide is a real page-turnerWhen should a patient with a sinus infection be given an antibiotic? When does a patient's sore throat suggest a bacterial, rather than viral, cause? Which antibiotic should be given to a septic patient who needs rapid resuscitation? When emergency room physicians face questions like these, they need answers quickly, concisely and right the first […] The post This medical pocket guide is a real page-turner appeared first on Christiana Care News.
Where high tech meets high touchChristiana Care Health System has earned the Most Wired designation from the College of Healthcare Information Management Executives for the third consecutive year, recognizing health care organizations that demonstrate the best practices through their adoption, implementation and use of information technology. Christiana Care is the only health care organization in Delaware and one of only […] The post Where high tech meets high touch appeared first on Christiana Care News.
Community volunteers share The Story of BRENDA "with and for Love"For reasons that researchers do not yet understand, Delaware women — especially African-American Delaware women — are among those at highest risk for an aggressive form of breast cancer known as triple negative breast cancer. There is currently no effective hormone therapy to prevent the spread or return of this fast-growing cancer. It affects 33 […] The post Community volunteers share The Story of BRENDA "with and for Love" appeared first on Christiana Care News.
Life is goodBill Hodgman loves the active life — to take strolls on the beach and peaceful walks in the park, to travel and snorkel. He often wakes before 6 a.m. to greet the day. He keeps a list of things he'd like to do in the future. His positive approach to life today is far removed […] The post Life is good appeared first on Christiana Care News.
Rotaries' gift supports Swank Memory Care CenterThe Lewes-Rehoboth Rotary Club and Georgetown-Millboro Rotary Club in Sussex County, Delaware, are supporting innovative approaches to improving memory care through a $5,000 gift to the Swank Center for Memory Care and Geriatric Consultation at Christiana Care. "We are working to reduce caregiver burden and improve activities of daily living in individuals with problems in […] The post Rotaries' gift supports Swank Memory Care Center appeared first on Christiana Care News.
Make the Most of Sneezin' SeasonIf you've got allergy symptoms, we've got answers. How can I tell the difference between a cold and seasonal allergies? Colds usually last for 7 to 10 days. Symptoms may include a sore throat, runny nose, body aches, and sometimes a fever. Allergy symptoms are similar and may include itchy eyes as well as a […] The post Make the Most of Sneezin' Season appeared first on Christiana Care News.


Our Black Afterglow Inflatable Arch Slip allows you to transform your arch from the current color to black with a simple slip change! This Arch Slip measures 9′ high x 10′ wide once inflated. This is for the Black Arch Slip Only. The Inflatable Arch (Item number KSAAFI) is sold separately.


text:
class Fleet
{
    // Heading indexes
    public static final int NORTH = 0;  //   0 degrees
    public static final int EAST  = 1;  //  90 degrees
    public static final int SOUTH = 2;  // 180 degrees
    public static final int WEST  = 3;  // 270 degrees

    // Ship type indexes
    public static final int PTBOAT     = 0;
    public static final int UBOAT      = 1;
    public static final int DESTROYER  = 2;
    public static final int BATTLESHIP = 3;
    public static final int CARRIER    = 4;

    // Static final variables
    public static final int NUMSHIPS        = 5;
    public static final int NUMROWS         = 10;
    public static final int NUMCOLS         = 10;
    public static final int LARGESTSHIPSIZE = 5;

    // Location tables
    private boolean[][] missLocations = new boolean[NUMROWS][NUMCOLS];
    private boolean[][] hitLocations = new boolean[NUMROWS][NUMCOLS];

    // A fleet is a group of ships
    private Ship[] ships = new Ship[NUMSHIPS];

    // Size of each ship corresponds to ship indexes above
    private int[] shipSize = {2, 3, 3, 4, 5};

    // Constructor
    public Fleet()
    {
        // Setup the fleet
        for (int shipType = PTBOAT; shipType <= CARRIER; shipType++)
        {
            // Create one of each type of ship
            ships[shipType] = new Ship(shipSize[shipType]);

            // Set the ship in dry dock
            setShipLocation(shipType, -1, -1);
        }

        resetLocationTables();
    }

    public int getShipHeading(int shipIndex)
    {
        if ((shipIndex < 0) || (shipIndex >= NUMSHIPS))
        {
            System.out.println("ERROR: invalid shipIndex, " + shipIndex);
            return -1;
        }

        return ships[shipIndex].getHeading();
    }

    public int[][] getShipLocation(int shipIndex)
    {
        int[][] coords = new int[ships[shipIndex].getSize()][2];

        if ((shipIndex < 0) || (shipIndex >= NUMSHIPS))
        {
            System.out.println("ERROR: invalid shipIndex, " + shipIndex);

            for (int i = 0; i < ships[shipIndex].getSize(); i++)
            {
                coords[i][0] = -1;
                coords[i][1] = -1;
            }
        }
        else
        {
            for (int i = 0; i < ships[shipIndex].getSize(); i++)
            {
                coords[i] = ships[shipIndex].getCoordinates(i);
            }
        }

        return coords;
    }

    public boolean isShipLocation(int shipIndex, int row, int col)
    {
        if ((shipIndex < 0) || (shipIndex >= NUMSHIPS))
        {
            System.out.println("ERROR: invalid shipIndex, " + shipIndex);
            return false;
        }

        if ((row < 0) || (row >= NUMROWS) || (col < 0) || (col >= NUMCOLS))
        {
            return false;
        }

        return ships[shipIndex].isLocation(row, col);
    }

    public boolean setShipLocation(int shipIndex, int row, int col)
    {
        if ((shipIndex < 0) || (shipIndex >= NUMSHIPS))
        {
            System.out.println("ERROR: invalid shipIndex, " + shipIndex);
            return false;
        }

        if ((row < 0) || (col < 0))
        {
            for (int i = 0; i < getShipSize(shipIndex); i++)
            {
                ships[shipIndex].setCoordinates(i, -1, -1);
            }

            return true;
        }

        // If set, the ship will collide with another ship
        boolean collision = false;

        // Get the ship size
        int size = getShipSize(shipIndex);

        // Set new coordinates based on ship heading
        if (getShipHeading(shipIndex) == EAST)
        {
            // Don't allow the ship to straddle the eastern border
            if ((col + (size-1)) > 9)
            {
                col = 0;
            }

            // Check each ship
            for (int si = 0; si < NUMSHIPS; si++)
            {
                // Except the ship being placed
                if (si != shipIndex)
                {
                    // Loop through each new point
                    for (int i = 0; i < size ; i++)
                    {
                        // If location is already occupied
                        if (true == isShipLocation(si, row, col+i))
                        {
                            collision = true;
                            System.out.println("Collision with a " +
                                               getShipName(si));
                            break;
                        }
                    }
                }

                if (true == collision)
                {
                    break;
                }
            }

            if (false == collision)
            {
                for (int i = 0; i < size ; i++)
                {
                    ships[shipIndex].setCoordinates(i, row, col+i);
                }
            }
        }
        else if (getShipHeading(shipIndex) == WEST)
        {
            // Don't allow ship to straddle the western border
            if ((col - (size-1)) < 0)
            {
                col = 9;
            }

            // Check each ship
            for (int si = 0; si < NUMSHIPS; si++)
            {
                // Except the ship being placed
                if (si != shipIndex)
                {
                    // Loop through each new point
                    for (int i = 0; i < size ; i++)
                    {
                        // If location is already occupied
                        if (true == isShipLocation(si, row, col-i))
                        {
                            collision = true;
                            System.out.println("Collision with a " +
                                               getShipName(si));
                            break;
                        }
                    }
                }

                if (true == collision)
                {
                    break;
                }
            }

            if (false == collision)
            {
                for (int i = 0; i < size; i++)
                {
                    ships[shipIndex].setCoordinates(i, row, col-i);
                }
            }
        }
        else if (getShipHeading(shipIndex) == NORTH)
        {
            // Don't allow the ship to straddle the northern border
            if ((row - (size-1)) < 0)
            {
                row = 9;
            }

            // Check each ship
            for (int si = 0; si < NUMSHIPS; si++)
            {
                // Except the ship being placed
                if (si != shipIndex)
                {
                    // Loop through each new point
                    for (int i = 0; i < size ; i++)
                    {
                        // If location is already occupied
                        if (true == isShipLocation(si, row-i, col))
                        {
                            collision = true;
                            System.out.println("Collision with a " +
                                               getShipName(si));
                            break;
                        }
                    }
                }

                if (true == collision)
                {
                    break;
                }
            }

            if (false == collision)
            {
                for (int i = 0; i < size; i++)
                {
                    ships[shipIndex].setCoordinates(i, row-i, col);
                }
            }
        }
        else if (getShipHeading(shipIndex) == SOUTH)
        {
            // Don't allow the ship to stradle the southern border
            if ((row + (size-1)) > 9)
            {
                row = 0;
            }

            // Check each ship
            for (int si = 0; si < NUMSHIPS; si++)
            {
                // Except the ship being placed
                if (si != shipIndex)
                {
                    // Loop through each new point
                    for (int i = 0; i < size ; i++)
                    {
                        // If location is already occupied
                        if (true == isShipLocation(si, row+i, col))
                        {
                            collision = true;
                            System.out.println("Collision with a " +
                                               getShipName(si));
                            break;
                        }
                    }
                }

                if (true == collision)
                {
                    break;
                }
            }

            if (false == collision)
            {
                for (int i = 0; i < size; i++)
                {
                    ships[shipIndex].setCoordinates(i, row+i, col);
                }
            }
        }

        if (collision == true)
        {
            return false;
        }
        else
        {
            return true;
        }
    }

    public void setShipHeading(int shipIndex, int newHeading)
    {
        if ((shipIndex < 0) || (shipIndex >= NUMSHIPS))
        {
            System.out.println("ERROR: invalid shipIndex, " + shipIndex);
            return;
        }

        int size = getShipSize(shipIndex);
        int[] sternCoords = new int[2];
        sternCoords = ships[shipIndex].getCoordinates(0);

        // If ship is off the visible grid or if border straddle correction is
        // turned off
        if ((sternCoords[0] < 0) && (sternCoords[1] < 0))
        {
            // Set the new heading
            ships[shipIndex].setHeading(newHeading);

            // ... and return
            return;
        }

        // If heading is changing by 180 degrees
        if ((getShipHeading(shipIndex) == EAST) && (newHeading == WEST))
        {
            // Switch direction
            sternCoords[1] = sternCoords[1] + (size-1);
        }
        else if ((getShipHeading(shipIndex) == WEST) && (newHeading == EAST))
        {
            // Switch direction
            sternCoords[1] = sternCoords[1] - (size-1);
        }
        else if ((getShipHeading(shipIndex) == NORTH) && (newHeading == SOUTH))
        {
            // Switch direction
            sternCoords[0] = sternCoords[0] - (size-1);
        }
        else if ((getShipHeading(shipIndex) == SOUTH) && (newHeading == NORTH))
        {
            // Switch direction
            sternCoords[0] = sternCoords[0] + (size-1);
        }
        // If heading is changing by 90 degrees
        else if ((getShipHeading(shipIndex) == EAST) && (newHeading == SOUTH))
        {
            // If when heading SOUTH the ship will straddle a border
            if ((sternCoords[0] + (size-1)) > 9)
            {
                // If when heading WEST the ship will straddle a border
                if ((sternCoords[1] - (size-1)) < 0)
                {
                    newHeading = NORTH;
                }
                else
                {
                    newHeading = WEST;
                }
            }
        }
        else if ((getShipHeading(shipIndex) == EAST) && (newHeading == NORTH))
        {
            // If when heading NORTH the ship will straddle a border
            if ((sternCoords[0] - (size-1)) < 0)
            {
                // If when heading WEST the ship will straddle a border
                if ((sternCoords[1] - (size-1)) < 0)
                {
                    newHeading = SOUTH;
                }
                else
                {
                    newHeading = WEST;
                }
            }
        }
        else if ((getShipHeading(shipIndex) == SOUTH) && (newHeading == EAST))
        {
            // If when heading EAST the ship will straddle a border
            if ((sternCoords[1] + (size-1)) > 9)
            {
                // If when heading NORTH the ship will straddle a border
                if ((sternCoords[0] - (size-1)) < 0)
                {
                    newHeading = WEST;
                }
                else
                {
                    newHeading = NORTH;
                }
            }
        }
        else if ((getShipHeading(shipIndex) == SOUTH) && (newHeading == WEST))
        {
            // If when heading WEST the ship will straddle a border
            if ((sternCoords[1] - (size-1)) < 0)
            {
                // If when heading NORTH the ship will straddle a border
                if ((sternCoords[0] - (size-1)) < 0)
                {
                    newHeading = EAST;
                }
                else
                {
                    newHeading = NORTH;
                }
            }
        }
        else if ((getShipHeading(shipIndex) == WEST) && (newHeading == NORTH))
        {
            // If when heading NORTH the ship will straddle a border
            if ((sternCoords[0] - (size-1)) < 0)
            {
                // If when heading EAST the ship will straddle a border
                if ((sternCoords[1] + (size-1)) > 9)
                {
                    newHeading = SOUTH;
                }
                else
                {
                    newHeading = EAST;
                }
            }
        }
        else if ((getShipHeading(shipIndex) == WEST) && (newHeading == SOUTH))
        {
            // If when heading SOUTH the ship will straddle a border
            if ((sternCoords[0] + (size-1)) > 9)
            {
                // If when heading EAST the ship will straddle a border
                if ((sternCoords[1] + (size-1)) > 9)
                {
                    newHeading = NORTH;
                }
                else
                {
                    newHeading = EAST;
                }
            }
        }
        else if ((getShipHeading(shipIndex) == NORTH) && (newHeading == WEST))
        {
            // If when heading WEST the ship will straddle a border
            if ((sternCoords[1] - (size-1)) < 0)
            {
                // If when heading SOUTH the ship will straddle a border
                if ((sternCoords[0] + (size-1)) > 9)
                {
                    newHeading = EAST;
                }
                else
                {
                    newHeading = SOUTH;
                }
            }
        }
        else if ((getShipHeading(shipIndex) == NORTH) && (newHeading == EAST))
        {
            // If when heading EAST the ship will straddle a border
            if ((sternCoords[1] + (size-1)) > 9)
            {
                // If when heading SOUTH the ship will straddle a border
                if ((sternCoords[0] + (size-1)) > 9)
                {
                    newHeading = WEST;
                }
                else
                {
                    newHeading = SOUTH;
                }
            }
        }

        // Set the new heading
        ships[shipIndex].setHeading(newHeading);

        // Set new coordinates
        setShipLocation(shipIndex, sternCoords[0], sternCoords[1]);
    }

    public int getShipSize(int shipIndex)
    {
        if ((shipIndex < 0) || (shipIndex >= NUMSHIPS))
        {
            System.out.println("ERROR: invalid shipIndex, " + shipIndex);
            return -1;
        }

        return ships[shipIndex].getSize();
    }

    public void setShipIsMobile(int shipIndex, boolean m)
    {
        if ((shipIndex < 0) || (shipIndex >= NUMSHIPS))
        {
            System.out.println("ERROR: invalid shipIndex, " + shipIndex);
            return;
        }

        int[] sternCoords = new int[2];
        sternCoords = ships[shipIndex].getCoordinates(0);

        // If this is the first time the ship is mobile
        if ((sternCoords[0] < 0) && (sternCoords[1] < 0))
        {
            // Locate the ship in the top left corner
            setShipLocation(shipIndex, 0, 0);
        }

        ships[shipIndex].setMobility(m);
    }

    // Set a ship section as hit
    public void setShipIsHit(int shipIndex, int row, int col)
    {
        if ((shipIndex < 0) || (shipIndex >= NUMSHIPS))
        {
            System.out.println("ERROR: invalid shipIndex, " + shipIndex);
            return;
        }

        ships[shipIndex].setHitSection(row, col);
    }

    // Set an all ship sections as hit
    public void setShipIsSunk(int shipIndex)
    {
        int shipLocation[][] = getShipLocation(shipIndex);

        for (int i = 0; i < getShipSize(shipIndex); i++)
        {
            setShipIsHit(shipIndex, shipLocation[i][0], shipLocation[i][1]);
        }
    }

    // Set ship is repaired
    public void setShipIsRepaired(int shipIndex, int row, int col)
    {
        if ((shipIndex < 0) || (shipIndex >= NUMSHIPS))
        {
            System.out.println("ERROR: invalid shipIndex, " + shipIndex);
            return;
        }

        ships[shipIndex].unsetHitSection(row, col);
    }

    // Find out if a ship is hit at a certain location
    public boolean isShipHit(int shipIndex, int row, int col)
    {
        if ((shipIndex < 0) || (shipIndex >= NUMSHIPS))
        {
            System.out.println("ERROR: invalid shipIndex, " + shipIndex);
            return false;
        }

        return ships[shipIndex].isHitCoordinates(row, col);
    }

    public boolean isShipSunk(int shipIndex)
    {
        if ((shipIndex < 0) || (shipIndex >= NUMSHIPS))
        {
            System.out.println("ERROR: invalid shipIndex, " + shipIndex);
            return false;
        }

        return ships[shipIndex].isSunk();
    }

    public boolean shipIsMobile(int shipIndex)
    {
        if ((shipIndex < 0) || (shipIndex >= NUMSHIPS))
        {
            System.out.println("ERROR: invalid shipIndex, " + shipIndex);
            return false;
        }

        return ships[shipIndex].isMobile();
    }

    public void resetLocationTables()
    {
        for (int i = 0; i < NUMROWS; i++)
        {
            for (int j = 0; j < NUMCOLS; j++)
            {
                hitLocations[i][j] = false;
                missLocations[i][j] = false;
            }
        }
    }

    public void setMissLocation(int row, int col)
    {
        unsetHitLocation(row, col);
        missLocations[row][col] = true;
    }

    public void setHitLocation(int row, int col)
    {
        unsetMissLocation(row, col);
        hitLocations[row][col] = true;
    }

    public boolean isHitLocation(int row, int col)
    {
        return hitLocations[row][col];
    }

    public boolean isMissLocation(int row, int col)
    {
        return missLocations[row][col];
    }

    public void unsetHitLocation(int row, int col)
    {
        hitLocations[row][col] = false;
    }

    public void unsetMissLocation(int row, int col)
    {
        missLocations[row][col] = false;
    }

    public boolean isFleetDestroyed()
    {
        boolean fleetDestroyed = true;

        for (int shipType = PTBOAT; shipType <= CARRIER; shipType++)
        {
            if (false == ships[shipType].isSunk())
            {
                fleetDestroyed = false;
                break;
            }
        }

        return fleetDestroyed;
    }

    public void setShipOpacity(int shipIndex, float op)
    {
        ships[shipIndex].setOpacityFactor(op);
    }

    public float getShipOpacity(int shipIndex)
    {
        return ships[shipIndex].getOpacityFactor();
    }

    public void repairFleet()
    {
        for (int shipType = PTBOAT; shipType <= CARRIER; shipType++)
        {
            // Set ship in dry dock
            setShipLocation(shipType, -1, -1);

            // Repair damage
            ships[shipType].repairDamage();

            // Set the ship heading
            setShipHeading(shipType, NORTH);
        }

        // Remove all hits and misses
        resetLocationTables();
    }

    // Miscellaneous methods
    public String getShipName(int s)
    {
        if (s == CARRIER)
        {
            return ("CARRIER");
        }
        else if (s == BATTLESHIP)
        {
            return ("BATTLESHIP");
        }
        else if (s == DESTROYER)
        {
            return ("DESTROYER");
        }
        else if (s == UBOAT)
        {
            return ("UBOAT");
        }
        else if (s == PTBOAT)
        {
            return ("PTBOAT");
        }

        return ("NOSHIP");
    }
}

redpajama_set_name: RedPajamaGithub


text:
Amputee gets mean note about parking in disabled parking spot
Jul 1st 2016 9:42AM
FORT COLLINS, Colo. (KDVR) -- A Fort Collins man found a pretty mean note on his windshield after another driver saw him park in a disability parking spot and walk inside a store.
"Saw you park in a handicapped spot and go into Walmart. Handicapped my a** f*******. Took a photo of your car + license plate. Look 4 it on facebook," the note said.
SEE ALSO: Terrifying video shows man's quick move after losing parachute mid-air
The note was left on Ethan Schlemer's car at a Wal-Mart in Timnath on Sunday. Whoever wrote it thought Schlemer wasn't really disabled.
"I laughed really hard," Schlemer told FOX31 Denver.
Schlemer walks on a prosthetic leg. He had his left leg amputated above the knee about two years ago after battling cancer.
If you didn't know he had a prosthetic leg, you might not know about his disability.
Ethan still walks, runs, hikes and rock climbs. He has worked very hard to get to the point where he can function like he used to. Life with a prosthetic isn't perfect though, and he still has difficult days.
"Definitely some days I'm limping more than others," he said.
He has a disability placard for his car so he can park in disability parking spots while he is out.
The day he found the note on his car, he was headed into work at the Wal-Mart where he is a pharmacy technician. Schlemer said it was one of his good days, so whoever wrote the note probably thought they were doing the right thing.
"Maybe some people would question why I park there, but to me, I never know when I'm going to take a wrong step or hurt myself and I'll be thankful when I do that I did park that close," he said.
Now, he just wants the note to be a lesson to others that you can't judge a book by its cover.
"I just wanted people to realize that when they do something like that they might not know the whole story behind what's going on," Schlemer said.
As of Thursday evening, no photos of Schlemer's car or license plates have surfaced on Facebook.
Kid at College World Series has epic staring contest with camera
This struggling teen asked a stranger for a box of doughnuts and ended up with $270K (and growing)
Grizzly bear kills biker near Glacier National Park


Justin Bieber meltdowns over new hair do – CRYING.
Justin's "swoop" was the highlight of last night's red carpet, but the fact he then went and performed with a cap on, therefore denying the TV viewers a chance to see the "swoop" in motion is an award show travesty.
POOR BABY – MAYBE, THIS EXPLAINS WHY HE WAS CRYING!


Hot Spring spa plumbing fittings - for when you need to keep your Hot Spring spa working at its best. Have questions about the right fittings for repairing or maintaining your Hot Springs spa? Call 914-237-5606 to speak with a customer service specialist. We offer FREE SHIPPING to the lower 48 states on orders over $299.
31417 Barbed Adapter 3/4" x 3/4"
70317 Vinyl Tubing Assembly 3/8"
34504 Adapter 3/4" x 1/4"
38429 Manifold, 4 port 1" x 1/2"


Home/Videos/Celebrating 10-Years at the Greening the Desert Project, Jordan.
The Greening the Desert Project started with the purchase of land about ten years ago, and it expanded slowly until that mounted into exponential growth. Things started at the top, literally, with a large water tank that feeds a shower/toilet block just downhill. The toilets are dry composting, supplying fertilizer for plants on site, and the greywater from the showers and sinks goes to a nearby reed bed. The reed bed, still high in the landscape, is then able to send gravity-fed irrigation to many trees throughout the site. It's all used onsite for beneficial biological cleaning.
The food forest with stone walls and earth-backed swales moves through the landscape to rabbit and chicken houses, which combine manures in a system that creates a cubic meter of compost every five weeks. That goes to the main crop garden, a shade-covered kitchen garden. The surplus fertilizer (compost) goes to food forest trees and the nursery. The runoff from the nursery goes through to the kitchen garden. The accommodation building has an office, a classroom, and eight bedrooms. It's two stories high and made with earth brick and straw bale. The roof has a beautiful garden made up of wicking beds.
The project started in 2008, and the association working on it was created in 2011. Jordan is hot and arid, so the systems applied help with water conservation. At the same time, they save money by not relying on chemicals and, instead, utilizing natural process. While chemicals seem beneficial at the offset, they ultimately kill the soil and destroy fertility.
The current farm manager, Hayel Abu Yahia, took the PDC course with Geoff in 2013 and has been working on the project ever since, setting up wicking beds and teaching organic techniques. The project also works with local schools, and from there, it has been instrumental in setting up gardens at students' homes. The project's crew are working with 20 families and five schools, helping them establish systems similar to those on the farm. The surrounding community is adopting some of the practices.
Mayson Aledwan, Director of Al Kafreen Secondary School for Girls, says her school's land was unsuitable for agriculture. They had tried to grow plant several times but had quickly failed. Working with the Greening the Desert Project, the school learned agriculture was available and all of the students could participate. The association created ponds and taught the students how to cultivate them. The students worked with citrus trees. The wicking beds, greywater systems from kitchens, and organic compost from waste were all techniques that taught them to manage resources well.
Sh. Hassan Elsetohy celebrates that the MAA has been supporting the Greening the Desert Project for over five years. During this time, the project has expanded greatly, and the results have equated to food abundance in the desert. MAA is an ethical, trust-fund charity focused on wise sustainable development projects.
Naima Ahmed is a housewife and permaculture teacher, and having a garden has had a huge impact on here. Rather than relying on markets, she can go to the garden to choose what she needs and eat what she grows. One of the problems Naima and many other gardeners face is space limitations, and because permaculture techniques can assemble gardens in small spaces, more people in the community are now adopting them, particularly the wicking bed system.
Yaman Amro, a permaculture graduate, notes that this site is quite different because it is maintained by locals and nearby families. It's expanding to schools and other families and communal gardens where people can learn about permaculture and food resilience, including producing their own products and living off the land. There are many contributors as well, and Muslim Aid Australia (MAA) is a major one.
Now that Greening the Desert is expanding out through the schools, villages, and towns, the hope is that the project will be replicated in locations throughout Jordan and the region.
Jackie Scott, a permaculture graduate, was so excited about the project that she has included it in her programs. Young kids have their own gardens, raising the nutrition and diet of their families and are selling produce. In ten days, Jackie completed the course and went from knowing nothing about growing her own food to having a garden from which she eats daily. She is also teaching. She recommends everyone do a PDC course.
@jfk- what in the world could your point be? Sure, the center has grant income but don't you think it *actually* survives because people are making the changes there… the people who live there and get up every day, working long hours to see the changes for the better. Your comment is petty and unhelpful.
Some people can only see the negative side of things. I hate to use that word here (negative) since financing isn't necessarily ( in some cases ) negative. Some think the $ could have been put to better use with the majority able to argue their point extremely well. However; those not realizing the positive impact this project will have in the long run fail to see the entire problem in the first place.
the rich and undeserving get to show us all their 'hard work' with the power of the internet.
Where did the water come from for all of this?


text:
Michael Erb
Photos & Field Work
and Climatology
Drought paper and interview on The Weather Channel
This morning I gave an interview on The Weather Channel! Much of the southwest U.S. is currently in drought, and I was lead author on a recent paper in Science Advances which looks at U.S. drought over the past 1000 years. We found that while some drought is linked to La Nina, much past variability appears to be the result of atmospheric variability. This work was done with colleagues at the University of Southern California, University of Washington, and Columbia University. Check it out!
The interview: www.youtube.com/watch?v=GpNYhX0xKcQ
The paper: advances.sciencemag.org/content/6/32/eaay7268.full
Two new papers about Holocene climate!
In two new papers, published recently in Scientific Data, we present an extensive compilation of Holocene proxy records and use them to reconstruct global-mean temperature over the past 12,000 years. The proxy collection represents a vast collection of data and the temperature reconstructions synthesize the data using five methods. Data and methods have been released alongside the papers, so check it out.
The proxy database: Kaufman et al., 2020: "A global database of Holocene paleotemperature records"
The temperature reconstructions: Kaufman et al., 2020: "Holocene global mean surface temperature, a multi-method reconstruction approach"
September field work — photos and descriptions
Back in September, I had the wonderful opportunity to do some field work in Colorado. Colleagues and I traveled to high elevation lakes and fens to take sediment cores. It was a fun experience, and I've made a write-up of the field work, along with photos, on this page: Ancient Sediment — Lakes and Fens in Colorado. Take a look!
Radio interview on 'This Green Earth'
This morning I did a radio interview! It was on the KPCW show 'This Green Earth' and concerned a recent Nature Geoscience paper that I worked on with a lot of colleagues, which discusses global-mean temperature changes over the past 2000 years. You can find the radio interview here (https://www.kpcw.org/post/green-earth-july-30-2019-michael-erb) or on your favorite podcast app by looking for the 'This Green Earth' podcast.
Please give the interview a listen! I was a little late due to a scheduling mix-up, but I show up around the three minute mark. Apologies for any details I might have misstated (this is my first radio interview), but all of the main points should be right. Hopefully I get listeners interested in the fascinating and important nature of this work. As I say in the interview, proxy data are really cool!
You can read the full text of the paper we're talking about here: Nature Geoscience paper.
Also, the hosts talk a little about a companion paper that colleagues of mine (but not me) worked on, which discusses regional climate variability over this same time period, which you can find here: Nature paper.
Articles about our recent paper
Below are some articles about our recent Nature Geoscience paper, 'Consistent multidecadal variability in global temperature reconstructions and simulations over the Common Era' (https://www.nature.com/articles/s41561-019-0400-0), as well as related new papers.
Nature Geoscience - "The great climate conundrum"
Los Angeles Times - "Earth warmed faster in the last few decades than the previous 1,900 years, study says"
CNET - "Recent climate change trends 'unprecedented' in the last 2,000 years"
New paper about reconstructing climate of the past 2000 years
Our new paper, out today in Nature Geoscience, explores global-mean temperature over the past 2000 years, reconstructed using seven different statistical methods: https://www.nature.com/articles/s41561-019-0400-0.
Results show:
1) The second half of the 20th century warmed more rapidly than any previous time in the last 2000 years, putting the extraordinary rate of current climate change into a long-term context.
2) Before the industrial revolution, volcanic eruptions were the most important forcing of multi-decadal climate variations during this time period.
3) Climate models capture the magnitude of volcanic-forced cooling and natural variability well.
This study was an international collaboration which used a global collection of well-vetted proxy records (such as tree rings, corals, and ice cores) to reconstruct Common Era climate, led by Raphael Neukom at the University of Bern. Coauthors of this study at Northern Arizona University include Darrell Kaufman, Nicholas McKay, and myself.
An NAU press release about the paper can be read here: https://news.nau.edu/pages-2k/
Paper about paleoclimate data assimilation in the Common Era published
The two primary methods of investigating past climate are through proxy records (e.g. tree rings, ice cores, and corals) and climate models. These two methods have different strengths and weaknesses, and paleoclimate data assimilation is a method which aims to utilize the advantages of each to reconstruct past climate. Our new paper, published today in Climate of the Past (available here: https://www.clim-past.net/15/1251/2019/), explores this method and reconstructs multiple climate fields over the past 2000 years. Take a look.
More news about our new Holocene paper
Our new paper, published yesterday in Nature (https://www.nature.com/articles/s41586-019-1060-3), has been generating some more news:
Phys.org - "New study shows arctic warming contributes to drought"
Toronto Star - "Research links shrinking sea ice to less rain in south"
EurekAlert! - "Study shows arctic warming contributes to drought"
Ars Technica - "Thousands of years ago, a warm Arctic made mid-latitudes drier"
Nature paper about temperature and mid-latitude precipitation published today!
New paper! Our paper, published today in Nature, studies the connection between the strength of the Northern Hemisphere latitudinal temperature gradient and mid-latitude net precipitation during the Holocene: https://www.nature.com/articles/s41586-019-1060-3. The primary finding is that a weaker temperature gradient in the early Holocene is associated with reduced net precipitation in the mid-latitudes, consistent with the idea of weaker mid-latitude cyclones. Because global climate change is currently weakening this temperature gradient through Arctic amplification, this paper is exceedingly relevant to the study of future changes. This paper is the result of diligent effort by scientists here at Northern Arizona University (Cody Routson, Nick McKay, Darrell Kaufman, and myself) as well as co-authors at other universities (Hugues Goosse, Bryan Shuman, Jessica Rodysill, and Toby Ault).
Early press for the paper:
NAU News - "As the Arctic warms, temperate regions dry out, with likely effects on society"
CTV News - "Strong connection: Research links shrinking sea ice to less rain in south"
Michael Erb is an Assistant Research Professor at Northern Arizona University.
© 2022 Michael Erb. All rights reserved.


Elvin, The Head Chief Up North (When Santa's Not Around).
You are here: Home / Recent Work / Dolls / Christmas / Elvin, The Head Chief Up North (When Santa's Not Around).
This little fellow is Elvin. He keeps things running smoothly up North, but you'd never hear him say so! Elvin measures 17″ tall from the tip of his cute hat to his toes. He's been made of muslin & stuffed with fiberfill. He's been hand-painted & sanded a couple of times, giving him a lovely, aged patina. Elvin has a hemp loop attached to his back making him suitable for hanging or he can be sit with assistance. Elvin has been sealed so that he may be lightly dusted after display.
Elvin's face has been painted with a variety of media. His nose & bottom lip have been needle-sculpted by hand, giving him a perfect pout. His hands have been needle-sculpted as well. He sports brown painted gloves & brown painted boots with the cutest striped stockings.
His shirt is made of white muslin. It features hand stitching around the neckline, sleeves & back. It is finished with tiny black buttons at the neckline. His pants are brown corduroy with cutesy polka dot suspenders.
This sweet teddy will be going to a special home! It's a muslin & fiberfill creation & measures a wee 4 inches. Elvin's bag is made of burlap & has sprigs of sweet annie tucked inside. The jute strap is pinned to the bag, allowing it to be removed if you wish.
Elvin's hair is 100% wool. It is a beautiful grey color & has been applied with light glue for extra security & needle-felting.
He has a ponytail in the back.
Elvin in now available on eBay. He will end Sunday, Nov. 1 at 9:15 PM EST. Click here to view or bid on this little fellow!
This is such a sweet elf…your detail is amazing!
Thanks so much Julie! He definitely cracks me up.


Every person is different, but every person is human, meaning we all have things in common.
There are some habits so foundational to human well-being that they can single-handedly keep us going when we find ourselves in a difficult place. Foundational habits consistently improve our core elements—mind, body, and soul—which is why they are overwhelmingly positive for nearly everyone. If you're in a rut or feel like you might be approaching one, put some effort into forming these habits to put yourself in a position to thrive.
Life can be tough. I just moved to a new city where I don't know anyone. Being a writer, it means I don't have a social outlet through work, and not being into bar or coffee shop scenes, forming relationships in this first month has been difficult. Given my lonely circumstances, I could fall into a negative spiral of self-pity, but I haven't for the reasons I'm about to tell you.
When something isn't going well, you can thrive (in other ways) with powerful foundational habits. They're foundational because you can always rely on them. When you have foundational habits, you're able to brush off poor circumstances with greater ease. They enable you to persevere, which is one of life's most important skills.
These are the four foundational habits that every person needs for maximum well-being and resilience. You may be familiar with these habits, but read on for some unique insights you may not have heard before.
Exercise is the greatest natural anti-depressant there is. The physical benefits are obvious, but exercise arguably benefits the mind as much as it does the body.
Exercise creates positive chemical reactions and increased blood flow in the brain. If you tend to have a lot of ideas while walking or running, it's likely because increased blood flow is making your neural connections snappier. Increased blood flow is a key part of exercise's magic.
I believe exercise is the single most important habit a person can have. The cumulative mind and body benefits are incalculable and can be exponential as they impact other areas of your life.
People who exercise are more resilient to life's hardships for a number of reasons, one of which is tension release. Just the other day, I was furious about something and poured that energy into my workout. I came out feeling great, physically and emotionally!
Reading books is surely underrated in the modern world, if only because it's deserved dominance has been lessened by an excessive number of alternative entertainment and learning options. Reading has been the historic standard for expanding your mind, finding new information, and learning directly or indirectly how to become greater than you currently are. Books, in my opinion, are simply the best choice for quality reading and have the greatest impact overall.
Those are significant benefits, and when you consider that reading a single book can change your perspective and life forever, that alone is a compelling reason to read and read often!
Ruts are illusions that we empower. When a basketball player misses a series of shots, he is declared by himself or others as "off" or "cold." In reality, his next shot has the same chance as always of going in if he maintains his composure. Thus, it is not an actual rut unless he believes it is and loses focus.
When you woke up this morning, like every other morning, you had an opportunity to live life well, create opportunities, make progress on your goals, and be happy. Whether you did or not is besides the point. The point is that the present moment is always neutral. The past can't happen twice, for better or worse, so it doesn't do us any good to ruminate on it.
Given the present moment's neutrality, it's an opportunity to be grateful for what is going well in our lives. This easy action makes us come alive, and feel happy. In fact, some studies found gratitude to be the largest influencer of happiness.
Note: the "gratitude visit" from the quote above entailed participants writing a thank you letter to someone who deserved their thanks, and then delivering it in person.
Practicing gratitude means focusing on what you're genuinely thankful for in your life. The study found that the biggest jump in happiness came for those who did the "gratitude visit" and delivered the letter. They weren't just thinking of things they were thankful for, but actively demonstrating their gratitude. As with most things, action seemed to have a greater impact than thought.
There is a caveat here, however, and it's critical to this message. In the follow-up tests, the gratitude visit participants were happier at one week and one month, but not at three months.
There was another group in the study who practiced listing "three good things that happened each day and why they happened." These people showed a more modest spike in happiness, but their increased happiness remained up to six months later!
This shows the power of habit over one-time events. Delivering an emotional thank you letter is the flashier action that seems more significant, but it was the daily gratitude that produced lasting change. Flash-in-the-pan moments are great, but we don't need them as much as we need foundational habits to make our lives better in the long term. That's why gratitude—a proven component of happiness—should be a habitual part of our lives.
It's interesting how the simplest things can have the greatest impact. Meditation is one of those things, and has changed many lives. It's the simplicity of focusing on your breathing and nothing else that makes meditation so calming and relieving of stress.
Scientists have studied the brains of monks who have meditated "20-40 thousand hours." The results? The areas of their brains that are associated with happiness light up like a Christmas tree. Measured in this way, their happiness was practically off the charts.
I think meditation works on the opposite side of gratitude—gratitude puts our focus on the positive, while meditation takes our minds off the negative. If you meditated a few hours a day like a monk does, your problems would seem less significant. This is so important because many of the problems that bother us are things we can't control. Meditation helps us let go.
The other thing I've noticed meditation does is slow you down. We live in the technological era, and because of that, almost every process keeps getting faster (communicating, eating, cleaning, etc). This faster pace seems to have transferred to our state of mind, causing us to be anxious and frantic. Meditation reverses this by forcing you to focus on something inherently simple and slow—your breathing.
It's a matter of how you spend your time. If everything you do is fast and rushed, you will be hard-pressed not to adopt that for yourself. Meditation is a great mental balancing tool for those of us who live fast-paced lives.
Do You Do The Right Things Occasionally Or Habitually?
It's difficult to get in a rut with good habits. I mean it. Having good habits means you can always count your day as at least a minor success, even if other things didn't go your way. But if you only do these things occasionally, then in your ruts—the time you need these the most—you'll be less likely to do them because general motivation is always lower when you're in an emotional down state. This is why the habitual component is crucial. Make these an automatic, daily part of your life.
And if you're in a rut now, there's no surer way to get out than with consistent steps in a better direction. But how can a person form these habits? I know it's not easy to do when you have a busy life full of responsibilities. If you want to know the most reliable (and fun) way to form foundational habits, I urge you to read my best-selling book, Mini Habits.
The mini habits concept has changed thousands of lives of people who could never change their behavior with traditional methods. More than 35,000 copies have been sold, not because I have a large marketing budget, but because people are telling their family and friends about the strategy that changed their life. Mini Habits details the scientific principles and strategy I used to get out of a two-year rut and get into the best shape of my life.
If you prefer videos to reading, use the exclusive coupon "pickthebrain" to take 80% off the acclaimed and entertaining Mini Habit Mastery video course, which is based on the book.
I'm Stephen Guise. To hear from me each Tuesday morning about habit-formation, focusing, and self-mastery (and to claim my anti-stress book and desktop wallpaper set), join Deep Existence.


I found a similar bottled dressing a few years ago, but it's not quite the same -- a little too chunky. And I don't like being dependent on bottled dressing anyway, so I decided to explore making my own.
Of course, there are quite a few recipes for "famous Japanese restaurant-style ginger salad dressing" (go ahead, Google it for yourself, I'll wait). The one I chose to use as a baseline for my adaptation had an ingredient list that seemed to correspond pretty closely to the bottled version (without the additives), plus it called for blending, which I figured would eliminate the chunkiness.
Verdict (after a few tries)? A big hit!
Just the right blend of sweet and tangy with no chunks. It is especially good on a simple spinach salad. And I'd be willing to bet it would make a great marinade for grilled chicken, too.
Now I just need to find some good sushi to go with it.
Combine all ingredients in a bowl. Using an immersion blender, blend until smooth.
Fantastic- thank you so much! I miss great sushi too- there was plenty just near us in Sydney. Now that we're over in London, it's harder to find. I think this dressing is going to save me.
Tori, I'm just jealous that you live in London -- my favorite city! If you try the dressing, please consider posting a comment on how it turned out for you or if you make any modifications. Thanks!
I can't comment about the dressing, but the pictures are fantastic!!
Oh, this looks super good. I love the dressing, but I almost always skip getting a salad at a sushi place because a.) iceberg and carrots = not a real salad and b.) HELLO MORE ROOM FOR SUSHI.
This looks just like my recipe, except I sub miso for the tomato paste, and it turns out just as good (if not better) than any I've had in restaurants. I may try the tomato paste, since it's something I'm more likely to have on-hand at a given moment. Thanks!
@Kristen: b) is a really, really good point!!


text:
New convention brings Division II SAACs together
January 15, 2018 10:00am Rachel Stark-Mason
Division II pulled together campus SAAC leaders in November for its first regional leadership convention. Matt Ward / NCAA
Tracking the pulse of more than 120,000 Division II student-athletes is no small task for the 27 students and recent graduates who make up the national Division II Student-Athlete Advisory Committee. But this fall, the group took a substantial step toward strengthening the extended lines of communication with their student-athlete peers nationwide.
In November, SAAC organized and led the inaugural Division II SAAC Super Region Convention, a leadership event that brought together more than 180 student-athletes and administrators for three days. The participants, hailing from six athletic conferences and one independent institution in the eastern region of the United States, attended new programming that focused on the student-athlete voice, communication between student-athletes and administrators, mental health, time demands, community engagement, social justice and the Division II legislative cycle.
The event was held in conjunction with the NCAA Student-Athlete Leadership Forum on Nov. 17-19 at the Gaylord National Resort and Conference Center outside Washington, D.C.
For David Brantley, a track and field student-athlete at Shippensburg and treasurer of the Raiders' SAAC, the convention provided a first-time look at the inner workings of the Division II governance process. Before the event, Brantley knew a national SAAC existed but didn't understand how it operated — or, more importantly, how student-athletes' campus ideas and concerns trickle to the conference and national SAACs.
"I was shown that what we tell our conference representatives, they take to the national meetings, and they put into place for votes," Brantley says. "They were able to explain and give examples of how our voice really matters."
That takeaway was the message national SAAC members had hoped would resonate at the convention, which they planned over the last year with their Division II staff liaisons.
"If your conference has 14 member institutions, oftentimes it's tough to get that information out effectively to all those campuses," says Jasmyn Lindsay, SAAC chair and a former softball player at Queens (North Carolina). "We thought: How can we really effect change and make an impact at the campus level?"
The Division II Presidents Council allocated $1 million of the $5.7 million Division II Foundation for the Future funding to enable the SAAC convention annually through 2021, each year in a different region.
Over the three days, the student-athletes were tasked with developing two projects: one that would improve their voice on campus and another that would address student-athlete mental health. Ideas ranged from informative videos about the role of SAAC to advocating for a campus mental health counselor.
The perspectives shared equipped Bluefield State SAAC President Shonte Cargill, who competes in cross country and softball, with ideas for improvements she can pursue on her own campus. "I figured it would be a pretty good idea for me to go and hear from other SAAC representatives what they're doing at their schools," Cargill says.
Both Brantley and Cargill went back to their campuses feeling inspired to keep the conversation going.
"It made me realize how much influence and impact we actually have," Cargill says, "and how much we can change if we actually do speak up."
More Stories Like This
Cornell gymnast to lead Division I SAAC
In January, Morgan Chall was named chair of the national Division I Student-Athlete Advisory Committee. A native of San Mateo, California, Chall says she looks forward to tackling the committee's priorities for the 2019-20 academic year.
Read More > about Cornell gymnast to lead Division I SAAC
Important steps taken toward implementing more robust version of Division III University
An educational resource for coaches and administrators launched in December, designed to mirror a similar program adopted by Division II in spring 2018.
Read More > about Important steps taken toward implementing more robust version of Division III University
5 ways to get smart about college basketball reform
There has been no shortage of questions about the reform effort around college basketball in the past few months.
Read More > about 5 ways to get smart about college basketball reform
More Champion Insider Stories >
About Champion
Champion magazine goes behind the headlines and beyond the scoreboards to celebrate the unique connection between Americans and college sports. Champion is published by the NCAA.
Subscribe to NCAA Champion Magazine >
Subscribe to the Podcast >


Autofocus for videos and photos. Welcome to the PC Pitstop Driver Library, the internet's most complete and comprehensive source for driver information. Compact and sturdy enough to take with you anywhere. Rotating lens for perfect aiming and natural images. Images [trigger to render Image Gallery].
This webcam has been certified by Skype.
Kit includes webcam, installation cd and guide. You can manual download the web driver for it to work on your computer. You May Also Like.
If found, they are photographed and noted. USB cable 25 cm.
Maybe the joke will warrant a response? The webcam does work as indicated by the blue light see picture.
Philips spc 600nc pc camera the perfect match for your driver More than 5 million happy users. Find out how to make your computer faster by running our Free Performance Scan. See yourself in the game! Summary It should be bundled with VLounge software.
Get the perfect match pjilips your driver More than 5 million happy users.
Try a free diagnostic now Introducing Driver Matic. Note that your submission may not appear immediately on our site.
Also, with many wireless adapters it is important to stay current as updates often contain security fixes. If not, has anyone had any success spc nc philips spc 600nc pc camera web cam or a similar model? Got one to sell? Videos [trigger to render Video Gallery]. Complete in Philips spc 600nc pc camera Box: Inthe company announced the sale of the bulk of its remaining consumer electronics operations to Japan's Funai Electric Co, but in Octoberthe deal to Funai Electric Co was broken off and the consumer electronics operations remain under Philips.
Discover MyPhilips Register for exclusive benefits. With just one philops of this button, your webcam takes a picture automatically – ready for adding to e-mails, web pages or documents.
Add video to Yahoo! At this level of resolution, you can even print larger-sized photos wit Guaranteed by Wed, Aug 1.
Images [trigger to render Image Gallery]. Advertising seems to be blocked by your browser. Transfer images from your EOS camera to your computer.


Herbal medicine is the oldest known form of medicine, dating back in written history in China to 2800BC. Unsurprisingly, it's still incredibly popular and effective now. The fact that the herbs used in Herbs of Gold products' come from traditional European, Chinese and Ayurvedic (Indian) cultures is the perfect link between history and innovation – they make the herbal medicine with proven benefits for your health today.
With my mother being an acupuncturist I have always been a strong believer in the benefits of Eastern medicine. Herbs of Gold products' showcase a holistic approach combining herbs, vitamins, minerals and nutrients in their range. I am very happy to share Herbs of Gold with our mum's out there!


Adidas Originals take inspiration from 90's running shoes for the Temper Run bringing back vintage technical style. The mesh uppers are layered with suede overlays giving that retro sports look.
The Temper Run features a sculpted EVA midsole that gives lightweight cushioning with ADIPRENE® technology under the heel for superior cushioning at impact.


text:
Home › Indian Gems › The Visitor (Bengali Title: Agantuk 1991)
The Visitor (Bengali Title: Agantuk 1991)
By mostlycinema on April 10, 2013 • ( 4 )
The Visitor (Bengali Title: Aguntuk 1991)
Dir.: Satyajit Ray
In the living room of the Bose family,Manomohan listens to his niece sing.
A letter arrives from an uncle who left home to lead a nomadic life 35 years ago saying that he wishes to spend a few days with his niece at her home in Kolkata. The recipient of the letter is Anila Bose (Mamata Shankar), an upper middle-class homemaker married to a mild mannered salaryman, Sudhindra Bose (Dipankar De). Anila was 2 years old when this uncle left home and she has only heard about him from her grandmother.He was a brilliant student, a wonderful artist and a singer.Nobody has heard from him since and his letter is a bolt from the blue.They don't know what to make of it and decide to meet him and then make up their minds about hosting him. By the time Manomohan Mitra(Utpal Dutt) arrives a few days later Anila and Sudhindra are in a state.
The prodigal uncle turns out to be an absolute charmer, he speaks chaste Bengali which arouses the suspicion of the Bose's since he has lived abroad for decades. Anila is in a terrible dilemma, she likes him instantly but removes her valuable bronze statues from the mantelpiece. Her husband is further perplexed when Manomohan shows him his passport but tells him disarmingly in the same breath that passports can be forged.Nobody is more acutely aware of the predicament of the hosts than the visitor.He strikes an immediate friendship with the young son of Anila, dazzling him with his stories about everything under and including the sun.
The picture of a divided family,Mamata Shankar as Anila Bose is in the foreground.
Sudhindra is an inherently decent man, a bhadralok, and just not up to the task of cross examining the uncle whose outward decency and endless knowledge of the world makes him feel out of depth. Ascertaining a mans identity should be a matter of a few practical steps which a cultured Indian family cannot take with a person who is possibly a close relative.He asks his barrister friend to come and do the needful.The living room scene where the family along with Manomohan and the feckless barrister spend a tense evening is a triumph of dialogue writing.For every pointed question of the lawyer the old man has a reply which advertises his wisdom and erudition.The evening does not end on a happy note.Ray resolves this conflict in a poignant manner and gives us a sequence of graceful tribal dance that is set to the music of his swan song.
This was Ray's last film and undoubtedly his most neglected one.Everyone has their favorite Ray film and this one is mine. There is a general consensus among critics that the quality of Ray's work declined in the last phase of his career after he had a heart attack midway through shooting Ghare Baire in 1982.While undoubtedly the bulk of his great films came in the first two thirds of his career, this last film is somehow very personal.The Visitor is very Bengali in its sensibilities and it reads like a letter that Ray composes to his fellow Bengalis as a sort of parting rebuke, one that he was eminently qualified to administer, as there has been no towering cultural figure like him, since his death in 1992.
A rare production still of the film.Satyajit Ray is in the foreground.
By the early eighties West Bengal had fallen into a state of alarming economic and social decline and the intellectual and cultural superiority that the average Bengali felt over his fellow country men had become justifiably questionable.When a man of Ray's intellect and experience decides to become almost a character in his own film and talk to us about the meaning of civilization and the human condition it is appropriate that we listen carefully.He is not trying to make another Pather Panchali here, he already did that back in 1955, and in the process changed Indian cinema forever.
The screenplay is studded with the insights gleaned by Manomohan who led an unorthodox life, not just by Bengali standards but by global standards, living with tribals all over the world and acquiring a degree in anthropology almost effortlessly. When Manomohan corrects an actor friend of the Bose's in another riveting living room scene, pointing out that the adda (leisurely debate and discussion with friends) is not a Bengali invention but a poorer version of the dialogues in the gymnasium's of ancient Greece, he is exhorting the wider local audience of his film to expand their worldview.He spells it out too, advising his grandson never to be a kupamunduk (frog in a well). Twenty years later his message remains just as potent. Utpal Dutt as Manomohan gives one of the finest performances in the history of Indian cinema.
Utpal Dutt as Manomohan Mitra
When Manomohan goes back to wherever he came from, it is almost as if Ray is saying goodbye, leaving behind a treasure trove of astonishing films.He directed part of the film from an oxygen tent and did not have the physical strength to embellish it with visual flourishes.He knew he had very little time and used it wisely to get his message across.The current raging debate about us turning into cyborgs and the potentially damaging effects of living our lives on Facebook was neatly predicted by Ray when Manomohan points out the dehumanizing effects of technology.He admits to seeing a witchdoctor when he was sick in the jungles but then the witchdoctor had intimate knowledge of hundreds of medicinal herbs which ultimately cured him.Now contrast this with how perilous our lives have become at the mercy of big pharma and the universal handwringing over almost criminally high healthcare costs.
Ultimately The Visitor is also a love letter to humanism and how varied and wonderful the human condition is.This is a theme which permeates all of Ray's work but here he decides to make a chamber piece that is like a farewell speech.His becoming an icon of world cinema was almost a miracle, something that India has since been unable to better.The Visitor is a film that everyone should see, it is entertaining, endlessly engaging and sadly a bit of a forgotten gem.
‹ In the House 2012 (Original French Title: Dans la maison)
Oblivion 2013 ›
Tags: Agantuk review, Aguntuk review, anthropology, asia, Calcutta, cinema, classic film, comedy, death, ethics, existentialism, film, film festival, film review, film star, food, Gandhi, Hinduism, Hollywood, India, kolktata, mamata shankar, movie review, music, mythology, oscars, Pather Panchali, philosophy, photography, politics, relationships, satyajit ray, sex, singapore, spirituality, travel, utpal dutta, west bengal, world cinema
Apratim Saha
It's really a great movie !
I cant agree more but the fuddy duddy critics out there got pissed off with Ray when he showed his love for hollywood openly and was so thrilled to get the Oscar so they wrote off the last bit of his career….too bad for them!
thecleverdog
This is most likely my favorite Satyajit Ray film too. and yes, who gives a damn about so called critics. nice work.
thats why you are a clever dog!!cheers


Equipped with a Lycoming O-540 6 cylinder carbureted engine that produces 225HP. It has a max gross weight of 2,400 Lbs and a max ceiling of 14,000′. It is able to carry 3 passengers and their pilot at speeds up to 130 Knots or 150 MPH for up to 3 hours. This type of aircraft is used throughout the world for everything from aerial tours to flight instruction and even utility work with power lines and farming. Robinson Helicopters provide excellent reliability, responsive handling and altitude performance making this the excellent choice for aerial tours of our beautiful coastline.


text:
package org.jivesoftware.smack.tcp;

import static org.junit.Assert.fail;

import java.io.IOException;
import java.io.Writer;
import java.util.concurrent.BrokenBarrierException;
import java.util.concurrent.CyclicBarrier;

import org.jivesoftware.smack.SmackException.NotConnectedException;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.tcp.XMPPTCPConnection.PacketWriter;

import org.junit.Test;
import org.jxmpp.stringprep.XmppStringprepException;

public class PacketWriterTest {
    private volatile boolean shutdown;
    private volatile boolean prematureUnblocked;

    /**
     * Make sure that stanza(/packet) writer does block once the queue reaches
     * {@link PacketWriter#QUEUE_SIZE} and that
     * {@link PacketWriter#sendStanza(org.jivesoftware.smack.tcp.packet.Packet)} does unblock after the
     * interrupt.
     *
     * @throws InterruptedException
     * @throws BrokenBarrierException
     * @throws NotConnectedException
     * @throws XmppStringprepException
     */
    @SuppressWarnings("javadoc")
    @Test
    public void shouldBlockAndUnblockTest() throws InterruptedException, BrokenBarrierException, NotConnectedException, XmppStringprepException {
        XMPPTCPConnection connection = new XMPPTCPConnection("user", "pass", "example.org");
        final PacketWriter pw = connection.new PacketWriter();
        connection.packetWriter = pw;
        connection.packetReader = connection.new PacketReader();
        connection.setWriter(new BlockingStringWriter());
        pw.init();

        for (int i = 0; i < XMPPTCPConnection.PacketWriter.QUEUE_SIZE; i++) {
            pw.sendStreamElement(new Message());
        }

        final CyclicBarrier barrier = new CyclicBarrier(2);
        shutdown = false;
        prematureUnblocked = false;
        Thread t = new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    barrier.await();
                    pw.sendStreamElement(new Message());
                    // should only return after the pw was interrupted
                    if (!shutdown) {
                        prematureUnblocked = true;
                    }
                }
                catch (Exception e) {
                }
                try {
                    barrier.await();
                }
                catch (InterruptedException | BrokenBarrierException e) {
                }
            }
        });
        t.start();
        // This barrier is not strictly necessary, but may increases the chances that the threat
        // will block before we call shutdown. Otherwise we may get false positives (which is still
        // better then false negatives).
        barrier.await();
        // Not really cool, but may increases the chances for 't' to block in sendStanza.
        Thread.sleep(250);

        // Set to true for testing purposes, so that shutdown() won't wait packet writer
        pw.shutdownDone.reportSuccess();
        // Shutdown the packetwriter
        pw.shutdown(false);
        shutdown = true;
        barrier.await();
        if (prematureUnblocked) {
            fail("Should not unblock before the thread got shutdown");
        }
        synchronized (t) {
            t.notify();
        }
    }

    public class BlockingStringWriter extends Writer {
        @Override
        @SuppressWarnings("WaitNotInLoop")
        public void write(char[] cbuf, int off, int len) throws IOException {
            try {
                wait();
            }
            catch (InterruptedException e) {
            }
        }

        @Override
        public void flush() throws IOException {
        }

        @Override
        public void close() throws IOException {
        }
    }
}


text:
Home News Industries Technology Va. Biotechnology Association elects new directors
Va. Biotechnology Association elects new directors
Board expands from 24 to 30 directors
The Virginia Biotechnology Association (Virginia Bio), a Richmond-based trade association representing 230 member organizations in the life sciences industry, has elected six new directors, expanding its board from 24 to 30 directors.
Joining the board are:
Gerry Brunk, managing director of Lumina Ventures, based in Boston, but involved in many life sciences organizations in Virginia and the Southeast;
Jessica Foley, Washington, D.C.-based chief scientific officer for the nonprofit Focused Ultrasound Foundation, which is headquartered in Charlottesville;
Craig Gill, Washington, D.C.-based director of U.S. government relations at Pfizer Inc.;
Nikki Hastings, Charlottesville-based co-founder and managing partner of QDS Capital;
Conaway Haskins, vice president of entrepreneurial ecosystem at the Virginia Innovation Partnership Corp., based in Richmond; and
Gary Warren, president and CEO of Newport News-based medical device company ivWatch LLC
The six directors will serve three-year terms, beginning in April 2022.
Virginia Bio's mission is to promote innovation and growth through strengthened networks, advocacy, capital investment, talent attraction, development and retention and advancing the next generation of leaders.
Sterling biotech firm launches COVID-19 test
Aperiomics says it has capacity to process 1,000 test results per week.
Virginia Community Healthcare Association CEO stepping down
Neal Graham headed association for 19 years; board announces executive search
Mass.-based software company acquires Reston care management platform
HealthEdge Software Inc. buys Altruista