text:
San Antonio Zoo's Tim Morrow: unique experiences, the evolution of zoos and a $200M plan
Tim Morrow intended to be an FBI agent.
Words: Lalla Merlin
23rd Jan 2019
Now CEO of San Antonio Zoo and the instigator of its visionary masterplan, he spoke to Blooloop about his lifelong love of animals, his original career path and how he deviated from it; the zoo he joined in 2014 and its laudable conservation initiatives.
"Animals have been part of my life since I was a small child," he says:
Tim Morrow
"I really enjoyed caring for them; and I was that kid who had turtles and frogs and aquariums and bugs in my house, as well as cats and dogs. I would bring stray animals home, and want to adopt them."
COVID-19 update: 30/04/20 San Antonio Zoo open for drive thru experience
However, he had no intention of running a zoo.
"I lived in San Antonio as a small child, and remember coming to the San Antonio zoo when I was in second and third grade."
See also interviews with: Dolf DeJong, CEO Toronto Zoo / Dr Jenny Gray President WAZA / Auckland Zoo Director Kevin Buley / Manager Sue Rand, Milwaukee County Zoo
His family moved, and he grew up outside Dallas, until he finished at high school.
"And then my whole family ended up coming back to San Antonio, after my sister and I had graduated high school. When I came back, it was to get enrolled in college.
"My dad was an FBI agent, and I was studying criminal justice in college."
From law enforcement to a summer job as lifeguard
While preparing to be a law enforcement agent, Morrow got a summer job at the local theme park that was just opening, Fiesta Texas, as a lifeguard.
Morrow says: "It was just a summer job. I planned to be a lifeguard for the summer, and to meet a bunch of friends, because I was new back to San Antonio.
"Then I started school in the fall, and when summer started coming around again, I was a lifeguard again. I didn't really want to be, but I had nothing else to do. I got promoted to supervisor. The next year, again, I didn't want to go back, but did, and became a trainer and a supervisor. That kept happening. I kept saying, 'I'm not going back' – and I kept going back."
Fiesta Texas began hosting the South Texas Lifeguard Olympics. As a result, Morrow met people across the waterpark industry, including some from SeaWorld.
He says: "SeaWorld called me out of the blue, asking me to come help run their waterpark.
"I said no, because it was too far away. And it wasn't what I wanted to do; I was studying to be a police officer, or an FBI agent."
Having fun in an unexpected industry
Realising he had nothing planned for the summer, Morrow eventually agreed to take the job for the season.
Budweiser Clydesdales at Seaworld
Having helped revamp the waterpark's operating procedures, he took on further responsibilities, including the show operations, seating, the famous Budweiser Clydesdales:
"I was beginning to get more experiences outside of the waterpark.
"And then, around 1998, I went to my first IAAPA conference, and it really hit me that this is a big industry, and a big deal.
"I realised I had been having fun."
A big industry and a big deal
For the first time, he acknowledged the possibility he had found his career.
Having graduated with two associate degrees in criminal justice, he switched over to studying Sociology at the University of Texas, San Antonio.
In 1999 he moved to Orlando, picked to be part of the opening team for the dolphin resort, Discovery Cove; where he gained experience both in design work, and animal and guest interactions.
"We had a free flight aviary, the reef where you could swim with tropical fish and stingrays – and, of course, the other dolphins – on the swim program.
"I also ran the special events; the swim gear operations and the park cleanliness fell under me. I got a lot of experience. It was a smaller park than SeaWorld; almost like a Ma and Pa operation where everybody had a lot of responsibility.
"But I was Texan, and I had a son of seven in Texas, and I wanted to get back to him, and the family.
"I ended up coming back to Texas as the director of operations for SeaWorld."
Learning and growing with SeaWorld
He stayed for ten years, gaining varied experience at director level. In 2010, the idea of opening an Aquatica in San Antonio was first proposed. It opened in 2012, with Morrow promoted to vice president:
"It was basically running my own park, which was a lot of fun. I learned a lot about the different areas, and how they work together.
"The last thing I did before I left SeaWorld was, with the animal care team, to design their Discovery Point; a fun blend of Discovery Cove and SeaWorld, in that new section of that park."
"During the design, a headhunting team reached out to me about the zoo position. Of course – because I have refused every job I've ever been offered – I said 'No'.
"But when I came and walked it, I realised I really love San Antonio; I really love this zoo, and I could make a big difference here.
"I had planned to spend my whole career at SeaWorld. But the opportunity to come to such a historic local institution was something I couldn't pass up.
"It has almost been accidental, and all down to fate pushing me past my saying 'No', but I think everything I have done and learned was to get me here. This is the place I am supposed to be."
Growing attendance at San Antonio Zoo
Tim Morrow has now been at San Antonio Zoo for four years.
He says: "We have made a lot of changes in those four years. We are attracting 1.2 million visitors a year, and have had a big 20% jump in attendance from 2016 that we have maintained without any big capital projects. We have brought a whole new level of guest experience, new updated habitats, and a new focus on conservation and education.
"The community has got really excited about the rebirth of the zoo, and the feedback is what drives me.
"I like to say the community has fallen in love with the zoo all over again."
To have fun and learn, to inspire and communicate
Morrow's first priority is that people should come to the zoo and have fun.
He points out: "People learn best when they are having fun."
By creating a beautiful zoo with engaging exhibits and opportunities, where appropriate, for interaction with animals, Morrow hopes to educate by stealth:
"We build connections to inspire and communicate what we believe in.
"Our first job, as with all the hospitality industries, is to create fun memories. We have the added pressure and bonus of being able to educate people, and of having all this stuff that we do enable our mission of conservation work and education in the community and around the world."
An honour to carry on the legacy of the Zoo
San Antonio Zoo, along with attractions such as the Witte Museum, the Japanese Tea Gardens, the Sunken Garden Theater and the narrow gauge San Antonio Zoo Eagle Train Ride, sits in Brackenridge Park; which was donated to the City in the 1800s by Colonel George Brackenridge; which is itself a site of archaeological interest, with evidence of human settlements dating back 12,000 years.
See also: Merlin attractions set for San Antonio Mall.
The zoo evolved from the animal collection Brackenridge acquired on his travels.
Morrow adds: "Pretty much everybody in the area has been to the zoo, loves the zoo, and has memories of it as children or as parents or grandparents. It is an honour to be responsible for it at this point in time.
"I came in the December of 2014, which was the hundred year anniversary. And so I kind of saw the first 100 years out, and the next 100 years in."
When Morrow joined the zoo, he had been at SeaWorld for 19 years:
"So my first day was kind of terrifying. I had no idea what it will be like."
He says: "When I came in, one of my board members greeted me with a Dr Seuss book, 'If I ran the Zoo.' So from the moment I walked in the door, I was having fun."
Sometimes, things don't go according to plans.
Morrow initially planned to do nothing but observe for 90 days, and only then to begin instituting changes.
However: "They had been working on a giraffe exhibit for a while. It just wasn't the kind of design that I thought was where we were going to be heading in the future; with bigger and more naturalistic habitats. So on my third day in the job I scratched the giraffe project, and started over. My plan of waiting 90 days was out the window on the third day."
The staff have been, Morrow says, excited about the changes.
He adds: "We just started changing everything. We've spent between five and $10 million on animal habitat upgrades. We empowered the animal care staff to start working on their exhibits and telling us what they wanted and needed, as they knew the animals better than anybody.
"We did some things like 'Flip this Habitat', a play on the TV shows that are popular right now; judging departments and giving them awards for best 'flip' of the quarter. And then there were some bigger capital projects we did."
Forming closer connections with the animals
These involved re-doing the elephant and giraffe exhibits, bringing the giraffes into a mixed species exhibit with zebra and birds. He goes on:
"We redid the lion exhibit, took away the moat and brought the window out closer so the guests can be nose to nose with the lions.
Lion at San Antonio Zoo
"Guests have the opportunity on random occasions to play tug-of war with the lions; which is really engaging and enriching for the lions.
"We brought in a giraffe deck–feed, so you can feed the giraffe face-to-face.
"We've done a lot of things to bring people really up close, to form connections with the animals."
A zoo of the future
Further community engagement initiatives include an extension of the zoo's Halloween offering from two nights to 6 weekends; an expansion of the food and wine festival from around 15 to 50 restaurants; events to fill the shorter seasons and a successful holiday light programme that has been running for the past four years:
"I think San Antonio is probably the Christmas light capital of the country. But people really love the charm of the zoo night, so that is been a great success for us."
Feeding a giraffe at San Antonio Zoo
Morrow says: "One of the typical challenges with the zoo of the past was that it was the same experience every time you came.
"We try to create something that is different every time you visit.
"We started bringing some attractions in two years ago. There was a giant bug exhibit with 20 foot bugs all over the zoo, and this year we had dinosaurs.
"We're trying to have something all the time that is new and engaging for all ages. We have adult events, kids' events, family events. It's great fun."
The zoo's conservation and breeding programmes are thriving.
Morrow says: "Steve McCusker, the director at San Antonio Zoo before me, did an amazing job of creating a Conservation Research Department.
Dr. Danté Fenolio with a Japanese giant salamander
"It is led by a gentleman called Dr Danté Fenolio, who specialises in subterranean work. This is a perfect place to be doing this."
Fenolio studies microscopic creatures from the Edwards Aquifer, on which San Antonio sits. One of the world's most prolific artesian aquifers, it is the source of drinking water for two million people, and the primary water supply for the region.
He also travels to the ends of the earth and under it, into its subterranean waters; and is acclaimed across the scientific community for his insights into the species that rely on a certain quality of water for their survival.
Morrow expands on the department's work:
"We are doing cave work in China; we are doing giant Japanese salamander work in Japan; in Chile we built labs for amphibian conservation research; and in Peru we have Project Selva, which is really our signature project. We have done something really unique."
Project Selva: protecting people in order to protect wildlife
He says: "Over the years we have discovered that conservation is not about just putting your arms around the wildlife to protect them; it's about protecting the people in those regions that are going to protect the wildlife.
"In Peru, the indigenous people don't use currency, unless they get sick. When they do, they need money. So miners or loggers who want to take advantage of their land come and say, 'We will give you this medicine, but we want the rights to do mining, or logging.'"
To protect the indigenous people, their land and, by extension, the wildlife, San Antonio Zoo has instituted Project Selva; buying arts and crafts from the indigenous groups it is working with to provide them a steady revenue stream. The artwork, is sold in the zoo's gift stores.
A source of income for locals to protect their land
To pay for project expenses, San Antonio Zoo opened an office and art studio in the Amazonian city of Iquitos.
The decision was made to bring the Japanese art of Gyotaku fish printing to the Amazon, given the area's plethora of freshwater fish.
Gyotaku artist Heather Fortner led training workshops.
The idea is that, once the fish-prints have been made, the paint can be rinsed off the fish, and they can then be cooked and eaten.
Morrow adds: "We frame the original paintings. Some will be on display in San Antonio airport next year; some are going on display in galleries in Hawaii. We sell this artwork, some pieces of which are worth some is worth up to $5000.
"We are trying to protect their land by giving them a source of income that they can depend on without having to give up their land."
Making a difference in various corners of the world
Outlining further initiatives, Morrow says: "We have a horned toad in Texas that is part of the culture, and is disappearing. We're trying to get ahead of that extinction to prevent it before it happens.
"We are involved in conservation efforts on basically every continent. We have breeding programs by which we keep species sustainable. Wherever we can, we release species back into the wild; Puerto Rican crested toads, horned toads, we have done some work with birds."
San Antonio Zoo's planned expansion is currently keeping it in the headlines.
While Morrow can't yet share every detail, he says:
"The master plan really feeds back to ensuring our guests have fun; into focusing on what they want to experience when they come to the zoo; in terms of animals, but also experiences, restaurants, shops, things they can do, ways we get them to stay longer, and by which we get more people to come and see us. It's about fuelling our mission at a higher rate."
He continues: "I have a big vision for what I want our zoo to be, for what I think our city deserves, and the children of our city deserve.
"In my first year we started talking masterplan, with the intention of doing some big incredible things here."
In order to formulate a plan, he first had to look at the vision and mission.
He says: "We ended up using PGAV Destinations out of Saint Louis for our masterplan. They are very scientific about the guest experience, and do a lot of guest studies on how people use attractions; how they flow, down to details like how many chairs you need in the restaurant, how many toilets you need in this area. They are really detailed, but also a very creative group. It has been a process taking about a year and a half.
"We wanted our vision and mission to drive the masterplan. And creating this new vision and mission has really helped us drive what we wanted to do.
"The San Antonio Zoo logo now features the giraffe and the rhino; species that we want to represent us, and that we are going to get involved with saving.
"We have been going step by step through the plan with PGAV, and are literally at the goal line, about to take the ball and hand it to my development team."
The next step is a fundraising feasibility study.
Morrow says: "We are taking the master plan we have created out to donors and corporations to gauge the possible involvement; and give us a roadmap about how fast we can do things, and how much we can take on at a time.
"We think it is a 20 year plan. It may be shorter or it may be longer. We think it's about $200 million. It could be less, it could be more. Until we get the roadmap from the donors, we can't say.
"We want to bring some of the bigger species back.
"Visitors to San Antonio Zoo are expecting to see gorillas when they come here. We don't have them. They are expecting to see orangutans. We don't have them.
"We had these species in the past, when there was no internet, no Youtube; and people had to go to the zoo to see these animals. Then, zoos were all about having the greatest number of species."
The evolution of zoos and the impact they are creating
"Now, zoos have evolved, become smarter. We know more about the animals, and how better to take care of them. That is why zoos are now creating these incredible, naturalistic habitats that are engaging and enriching for the animals.
"It is all about how incredible your habitats are for your animals; how much conservation work you are doing, how much education you are doing.
"I think it's a great time to be doing this. It is becoming, unfortunately, more and more important for zoos to exist, and for all the conservation and education about what is happening in the wilds; but at the same time we are making a bigger impact than ever."
All images kind courtesy of San Antonio Zoo.
Zoo design
Attractions business
Lalla Merlin
Lead Features Writer Lalla studied English at St. Hugh's College, Oxford University. A writer and film-maker, she lives in rural Devon with husband, children, and an assortment of badly-behaved animals, including an enormous but friendly wolf.
Companies featured in this post
PGAV Destinations
Previous article Gathering Place, Tulsa, named best new attraction in the US
Next article Christie develops Secure Series of LCD flat panels for high security facilities
A post-COVID world for zoos and aquariums
Sean Mannie
76th WAZA Annual Conference goes virtual
Charlotte Coates
WAZA
#AZA2021: discussing sustainability, safety, and so much more
A staycation summer like no other
Creating accessibility from the first visit
Sustainability: a key issue for all attractions
Geoffrey Dixon
Fun for all at Sesame Place San Diego
Lighting up the iconic Niagara Parks Power Station
Inside Burj al Arab: an exclusive behind-the-scenes experience
Kew Gardens & the Museum of Architecture announce treehouse design competition
Singapore Oceanarium to be completed by the end of 2024
Shedd Aquarium announces new $500 million strategic vision
Gateway Ticketing Systems grows with Magnolia Plantation on board


text:
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:interpolator/accelerate_cubic"
    android:fromYDelta="30%p"
    android:toYDelta="0"
    android:duration="300" />

redpajama_set_name: RedPajamaGithub


text:
Modena Volley to be leaving for the Belgium Champions League "Bubble" on monday
Leo Shoes Modena is celebrating a long awaited home victory in Superlega Championship after last night's match against Ravenna. Coach Giani's team is currently ranking 5th on the Superlega League table, after collecting 4 defeats in a row. Micah Christenson and his team mates are ready to face Kemerovo, Varsavia and Roselaire's team, host of a difficult but challenging european round. Team's conditions are good at a technical and athletic level, and they are ready to leave for Belgium on Monday afternoon. Modena's outside spikers Daniele Lavia and Moritz Karlitzek are on their Champions League debut while also Andrea Giani will be at his first Champions League attempt as a Head Coach.
Andrea Giani: "We'll be playing a difficult qualifying group, against three high level opponents. We are aware that we're going to fight 3 tight matches but we're working hard to be ready for that. It will be unusual for us to play in a "bubble" but we are extremely focused on us and our goals: we want the Chammpions League's 4th finals qualification".

redpajama_set_name: RedPajamaCommonCrawl


Windows glistening in the sun. Looking upwards in awe at shards of blue, grey, and pink stained glass artfully framed with delicate gold. Pale pink gracefully lines the interior and our custom Rose Gold hardware adds the perfect finishing touch. Gazing upon our Rose Colored Glass print, the world takes on a different hue and all will know the future is bright! Hallelujah!


MONG Podcast 90 | Isn't It About Time for a Teen Rated Halo?
It's Episode 90 of the MONG Podcast, ya'll! Join the crew as we talk about the most topical of topics and join the conversation below! Do you think Halo 5 should be rated Teen? Do you think it's about time that this happened? Who's excited for the Smach Zero? Does Smach Zero sound like an off brand shaving razor? There are so many more questions to be asked! We're packing Scalebound, Hearthstone, Battlefront and even some Battletoads! Join us!
After the success of Playtonic's Yooka-Laylee Kickstarter, Rare's Studio Creative Director Scott Woodroffe took to Twitter to hint at what might be coming at E3.
Xbox head Phil Spencer took to Twitter on Tuesday to mention he was visiting Rare Studios in order get a look at the latest, but as of yet, unannounced Rare game.
Long ago, video games lived through a golden age. Then, everything changed when shovelware appeared. Only Rare, the developer that made a licenced game revolutionary with Goldeneye, could stop bad shovelware. But when the community needed them most, they vanished into Microsoft's arms. Several years passed, and another developer was found: Platinum Games. Although they have made several great games in the past, they have a long way to go before they can save any franchise. However, I believe that Platinum has the potential to save licenced games. So, does Platinum's first attempt, The Legend of Korra, finally bring balance to licensed and unlicensed games, or has The Legend of Korra been equalized to other licenced games?


text:
Sunday gravy: Fan bases no concern to owners in NFL relocation scam
Chip Malafronte cmalafronte@nhregister.com. @ChipMalafronte on Twitter
This undated rendering provided by HKS Sports & Entertainment shows a proposed NFL football stadium in Inglewood, Calif.The Associated Press file photo
We took the boy to Sally's earlier this week, which completes his unofficial tour of the area's major pizza establishments. Afterward we recalled them all, reminded him that many people regard New Haven pizza as the best in the country, and then asked which his favorite was. His stance has yet to change. Nothing is better, he contends, than the pizza they serve in the cafeteria at his elementary school.
So he's either the world's most unrefined food critic or that school is secretly sitting on a culinary masterpiece.
• One of the talking heads on ESPN, in the days before results of the NFL's money-grab relocation scam were announced, reasoned the Rams and Raiders make the most sense because both have established fan bases from previous stints in Los Angeles.
Forget the fact that no one who lives around there has asked for a replacement since the league abandoned L.A. 21 years ago. Creating a fan base is of absolutely no concern to owners.
This isn't a minor league baseball club that relies on ticket sales and merchandising for survival. The NFL would gladly approve sending a franchise to Vladivostok as long as ownership got a billion dollar, publicly-funded stadium, luxury suites, licensing agreements and a nine-figure deal to call the place Stolichnaya Stadium.
An owner like Stan Kroenke is guaranteed a fortune simply because his deal to bring the Rams to Los Angeles was approved. A few thousand living, breathing bodies in the seats next season would be nice. But given the crooked system, fans are inconsequential.
If you're feeling jilted, St. Louis, no worries. It shouldn't be long until the next disgruntled billionaire looking for a shakedown comes knocking at your door.
• Yale surprised its longtime athletic director when it unveiled the Thomas A. Beckett Hall of Champions inside Mory's earlier this week. It's quite the honor, and well-deserved. Beckett, nearly as much of a Yale institution as Mory's, has done much to reshape and revitalize athletics during his 22 years at the school.
• The Hartford Yard Goats will open the season with a 17-game road trip while construction on its stadium is completed. Word is the team inquired about temporary locations in state. Yale Field, once home to the Double-A New Haven Ravens, was never an option. A few years back Yale gutted the main concession area and team offices for an indoor batting cage. It also no longer has a clubhouse for the visiting team. School administrators have no interest in bringing pro baseball back to the facility.
• Former Quinnipiac athletic director Jack McDonald and his wife, Linda, diverted from the Bobcats game at Madison Square Garden last Saturday for the birth of their first grandchild. Kelly Rasmussen McDonald was born to parents Jim and Nicole in New Haven on Jan. 9. Congrats all around.
• Of the 12,000 at Madison Square Garden last Saturday, an estimated 10,000 were Quinnipiac supporters. So impressive was the turnout, promoters immediately inquired with the ECAC Hockey office about moving one of the two Yale-Quinnipiac regular season games to the Garden for next season. It's not going to happen. Neither school is interested in giving up the most popular date on its home schedule.
• It's possible the Hockey Haven rivalry could sell out MSG. But, really, moving even one of those games to New York would have been a big mistake. Good to know administrators at Yale and Quinnipiac understand the rivalry belongs in New Haven and Hamden.
• Our introduction to the music of David Bowie came during our formative years when his music was a staple on MTV (way back when MTV actually played music videos). It was Bowie's "Let's Dance" phase; the bleach blonde hair; the yellow Zoot suit. Geez, the guy even had two different color eyes. To a 12-year-old, it doesn't get much cooler than that. We discovered his earlier stuff afterward, which turned out to be even better. While never a Bowie fanatic, it wasn't terribly hard to recognize the man was a genius and, as it turned out, timeless. He'll be missed.
• And a great tribute by Ben Scrivens of the Montreal Canadiens (and a former Cornell star), who had images of Motorhead and Lemmy Kilmister, the rock icon who died earlier this month, painted on to his goalie mask.
• Our favorite David Bowie songs, ranked: 7) Young Americans; 6) Golden Years; 5) Suffragette City; 4) Modern Love; 3) Changes; 2) Heroes; 1) Space Oddity.
• Ben McAdoo, the new Giants head coach, spent one season as an assistant at Fairfield University and was being considered for the head coaching job in 2003 when the Stags decided to scuttle the football program. Things worked out just fine.
• In advance of today's Carolina-Seattle playoff game, a matchup of two of the top young quarterbacks in the NFL, we bring you an account of the time Seahawks' quarterback Russell Wilson's father was directly, though not proudly, involved in one of the most exciting finishes in Yale Bowl history.
Harry Wilson, much like his son, was once a star football and baseball player in college. A Dartmouth man (Harry Wilson's three younger brothers would follow him to Hanover); he was an all-Ivy split end and a slick-fielding infielder.
In 1975, his fumble recovery in the end zone with 44 seconds remaining gave the Big Green a 14-13 lead that should have led to victory. But in his jubilation, Wilson sprinted past the visiting sideline waving the football and taunting the downtrodden Bulldogs. Referees flagged him for unsportsmanlike conduct. The 15-yard penalty was marked off prior to the ensuing kickoff, which helped set the stage for a 47-yard field goal by Randy Carter as time expired to win the game for Yale.
• That's it for today. Besides, I need to call the kid's school to see if they accept dinner reservations.
Chip Malafronte, the Register sports columnist, can be reached at cmalafronte@nhregister.com. Follow Chip on Twitter @ChipMalafronte.


text:
Q: React: send data from Child component to Parent component This is a react beginners exercise so I'm looking for the simplest solution. I'm currently learning React so any helpful comments would also be appreciated. Thanks in advance!
This is the exercise:
In a functional component, create a div which contains 2 inputs and one button.
Each of these should be a separate child component, all rendered by a parent component called App.
You should collect the data from the inputs and make it available in the parent component (using a function would work for this).
Input 1 should collect the user's email.
Input 2 should collect the user's password.
When the button (also a separate component) is clicked then you should alert the data collected by the two inputs.
You should use the onChange and onClick events
I'm not quite sure what I have to do with the Button component. This is what I have so far for the exercise but I think it's wrong?......
APP.JS
import React from 'react'
import Email from './components/Email'
import Password from './components/Password'

const App = () => {

  getData  = data => '${data}'

  return (

              <Email getData = {getData} />
              <Password getData = {getData} />

    )
  }

export default App

EMAIL.JS
import React from 'react'

const App = () => {

    let email = '';

        return (
            <button onClick ={()=>props.getData({email})}></button>
         );
      }
export default Email;

PASSWORD.JS
import React from 'react'

const App = () => {

    let password = '';

        return (
            <button onClick ={()=>props.getData({password})}></button>
         );
      }
export default Password;

BUTTON.JS

A: I have created a solution and a sandbox for the same.
App.js
import React, { useState } from "react";
import Email from "./components/Email";
import Password from "./components/Password";
import Button from "./components/Button";
const App = () => {
  const [email, setEmail] = useState("");
  const [password, setpassword] = useState("");
  const [submit, setSubmit] = useState(false);
  if (submit) {
    console.log("email ", email);
    console.log("password ", password);
  }
  return (

      <Email setEmail={setEmail} />
      <Password setpassword={setpassword} />
      <Button setSubmit={setSubmit} />

  );
};

export default App;

Password.js
import React from "react";

const Password = ({ setpassword, submit }) => {
  return (
    <>
      Get Password
      <input type="password" onChange={e => setpassword(e.target.value)} />
    </>
  );
};
export default Password;

Email.js
import React from "react";

const Email = ({ setEmail }) => {
  return (
    <>
      Get Email
      <input type="text" onChange={e => setEmail(e.target.value)} />
    </>
  );
};
export default Email;

Button.js
import React from "react";

const Button = ({ setSubmit }) => {
  return (
    <button
      onClick={() => {
        setSubmit(true);
      }}
    >
      Submit
    </button>
  );
};
export default Button;

I would strongly suggest you go to reactjs.org and go through the documents before starting any course. Please don't copy paste. I hope it helps.

redpajama_set_name: RedPajamaStackExchange


What about active waiting? That bullfrog is waiting for a tasty morsel to come by! He's also at the ready – for whatever insect might pass his way, whether in the water, the air or in the grass. Active waiting means being relaxed but hyper-vigilant.
I start watching with him. I want to see him pounce!
This reminds me of a samurai exercise in a butoh class years ago. We had to kneel on the floor, at the ready. At the signal we were to leap to our feet. The waiting went on and on and on and I could feel my muscles seizing up – I'd surely end up flat on my face when I leaped into action, rather than on my feet.
At some point, forcing myself to stay still but alert became effortless. That's when you start to notice all kinds of details – the sounds inside the building and outside, the light in the room and how it changes, the smudges on the window, the scratches on the floor, the breathing of the person next to you.
This is exactly what I need to do with my story that's giving me problems. Go back and re-read, not trying so hard, not picking out details and forcing them to be significant. No, I need to read keeping an open mind, staying alert.
That will allow details to present themselves to me, pop into my consciousness. Those details will be the important ones, the ones that I can experiment with to take my story forward.
But it's nice down here by the pond, so for now I'll stay with the bullfrog!
This entry was posted in Blog, creativity and creative process, writing life and tagged active waiting, bullfrog, consciousness, creativity, meditation, nature, writing craft by Susi Lovell. Bookmark the permalink.
A post with a bullfrog, bugs and leaves, a samurai lesson, and writing. How could I not love this? I've often noticed that writing problems resolve themselves through ideas that come to me when I'm *not* writing, but rather just relaxing and observing nature, or going for a walk. Sometimes clearing your mind makes room for the ideas to come. And eventually, they do, just like eventually a bug will pass within reach of that bullfrog's tongue.
I agree, Chris. I know it's time for a walk or a pilates class when I feel my head is about to burst with trying to work something out. I used to take our little dog for a walk as soon as I finished writing and ideas would sizzle up to add to the story.
What a great connection between samurai and writer's block! I like the idea of being alert while waiting. Very cool.
Thanks very much. I'll go and take a look. And I'll check out your take on the idea too.


Deer design. it is a free image to put on your computer. in our collection of images have this sample to download. all computers type and operating systems. images sizes for all monitors.
deer design Wallpaper (deer). Free HD Wallpapers with pictures, images and deer design Background (deer). Download deer design wallpaper (deer) for PC from Gifmania Networks, the network of free internet sites. Pictures wallpapers of deer design (deer) for desktop. Download Desktop Background deer, antlers, wood, forest,. deer design HD Wallpapers (deer). This wallpaper holds the 7886th position in the overall top of the website.


Poor BET has yet to master the art of award shows. Much like a Memphis Bleek song, the only time it excels is when an outside source comes in to do the heavy lifting.
In the case of the BET Hip Hop Awards, we have to thank the DJs in the hip hop cyphers.
If you're reading this blog I assume you know what a cypher is: a collection of rappers rhyming their faces off.
Last year's awards show set the bar extremely high for cyphers thanks to Eminem and his ravenous crew. Does this year's collection hold up? In a word, no. But there were some surprises.
Before we get into the cypher, if you haven't already, check out my 20 Questions review of the award show itself. Hope you like 2 Chainz. Cuz I don't.
Anyway, here's the Cypher Report Card.
Cypher Champ: Hopsin. Sue me.
Sarkodie: Some dude from Ghana. Even with the subtitles I couldn't tell what was going on. Does that make me xenophobic? 2/5, I guess. Who knows.
Cypher Champ: Talib Kweli. Duh.
Wu-Tang Clan kingpin RZA was behind the boards for this one, so of course it was awesome.
Mook: Like that Chip guy, Mook had a decent but forgettable showing. No one will be saying "YO MOOK KILLED DAT CYPHER" in the morning.
It wasn't even close, he just spits so effortlessly. Not too many other artists can shine in a room filled with hip-hop legends. No wonder Schoolboy has a mancrush on him.
Overall, there was a depressing lack of intensity among lyricists. Most seemed like we were supposed to be impressed that they showed up. It's pretty telling that a lot of the newer artists were too cocky to go hard, while vets like Xzhibit, Kweli and DMX were more eager to step up.
Despite that, honorable mention goes to Childish Gambino. He earned my respect tonight.
Missed the rest of the Hip Hop Awards? Read my review here.


text:
Embassy of Japan in the United States of America
在アメリカ合衆国日本国大使館
Home | About Us | Consulates | Bilateral Relations | Visiting Japan / Visa | Japan Info & Culture | Japan's Foreign Policy News | Press Releases
Information Regarding the Earthquake Centered in the Kumamoto Region
Message from the Embassy:
As you know, Kumamoto Prefecture and the surrounding areas have been affected by a series of severe earthquakes in recent days, which have injured or killed many people, and have displaced over 100,000 residents. The Government of Japan continues to expand relief activities, and extend support to local authorities to deliver food and medical support to affected communities.
We appreciate the many messages of condolence we have received from across the United States, and heartfelt offers of support. The U.S. Forces, Japan have offered support as well, reminding all of us again of the important contributions made by Operation Tomodachi after the Great East Japan Earthquake, and the deep ties of friendship between Japan and the United States.
We would also like to extend our condolences to the people of Ecuador who are also responding to an earthquake disaster.
- Tamaki Tsukada, Embassy of Japan Spokesperson
Japanese Organizations, Local Entities, and the Embassy of Japan have set up accounts that are accepting donations for victims of the earthquake.
The following organizations are currently accepting donations:
Kumamoto Prefecture
Bank Name The Higo Bank, Ltd
SWIFT Code/BIC Code HIGOJPJT
Branch Name KENCHO BRANCH
Transfer Account Number 1639261
Account Holder Kumamotojishingienkin
Beneficiary Name Kumamoto Prefectural Government (International Affairs Division)
Beneficiary Address 6-18-1, Suizenji, Chuo-ku, Kumamoto City 862-8570, JAPAN (Telephone: 81-96-333-2159)
*Regarding the transfer fee of donations, there will be no fee on RECEIVING side (Higo Bank); however, there may be a charge on SENDING side.
For those who require a receipt for your donation, please send us the information listed below. Once your information has been confirmed with your transferred donation, a receipt will be sent to you.
Requested Information:
Transfer Party Information (name of Group or Individual, and mailing address)
Date of Transfer
Amount of Transfer
E-mail: kokusai@pref.kumamoto.lg.jp (Kumamoto Prefecture International Affairs Division)
*Please put "Call for 2016 Kumamoto Earthquake Donations Receipt" in the subject line as a title.
This info is available here:
http://www.pref.kumamoto.jp/kiji_15456.html?type=top
For information on the acceptance period, please check the above website
The Government of Japan
If you would like to donate through the Government of Japan, please contact the Embassy of Japan to receive further information. Please email us at JapanEmbDCdonate@ws.mofa.go.jp and include the following information (for security purposes):
Your donation will be delivered to the victims of the earthquake.
Donations will be accepted until March 31, 2019
Webpage with Information for U.S. Citizens in Japan
http://japan.usembassy.gov/mobile//e/acs/tacs-alert-20160418.html
Accounts to Follow from the U.S. Embassy in Tokyo
@USConnectKyushu (https://twitter.com/USConnectKyushu )
@ACSTokyo (https://twitter.com/ACSTokyo )
Earthquake Info from the Japan Meteorological Agency: http://www.jma.go.jp/en/quake/
Information for tourists from the Japan National Tourism Organization: http://www.jnto.go.jp/eq/kumamoto.html
©2019 Embassy of Japan in the United States of America
2520 Massachusetts Avenue, N.W. Washington, DC 20008 | 202-238-6700 (Main), 202-238-6800 (Visa)


text:
Passport: Beijing's schizophrenic self-image Beijing's schizophrenic self-image...
Beijing's schizophrenic self-image
News that China has overtaken Japan to become the world's second largest economy certainly raised eyebrows in Washington and around the world. But in Beijing? Xinhua, the state-owned wire service, did not gloat but instead played the aw-shucks card today with an article entitled "China Still Behind Japan Economically," reminding international readers just how poor ...
By Christina Larson
News that China has overtaken Japan to become the world's second largest economy certainly raised eyebrows in Washington and around the world. But in Beijing?
Xinhua, the state-owned wire service, did not gloat but instead played the aw-shucks card today with an article entitled "China Still Behind Japan Economically," reminding international readers just how poor much of China remains ("China only ranked 99th worldwide in terms of per capita GDP"). This is true, and worth pointing out: Most of China does not shop at Shanghai's new shopping malls.
Yet, the editorial decision to run such an article now is also evidence of what one might call the Two Chinas phenomenon. On the one hand, Beijing loves luxuriating in its growing global clout: wagging fingers at Western economists when the United States turned out to be more mired in the Great Recession than the Middle Kingdom; becoming increasingly assertive with regards to claims made in the South China Sea; etc. On the other hand, for purposes of receiving support from international organizations like the Global Fund, or pledging commitments on international treaties like Copenhagen, Beijing happily reminds us that China really is a poor country after all -- so please keep that assistance flowing, and don't expect too much from us.
News that China has overtaken Japan to become the world's second largest economy certainly raised eyebrows in Washington and around the world. But in Beijing?
Xinhua, the state-owned wire service, did not gloat but instead played the aw-shucks card today with an article entitled "China Still Behind Japan Economically," reminding international readers just how poor much of China remains ("China only ranked 99th worldwide in terms of per capita GDP"). This is true, and worth pointing out: Most of China does not shop at Shanghai's new shopping malls.
Yet, the editorial decision to run such an article now is also evidence of what one might call the Two Chinas phenomenon. On the one hand, Beijing loves luxuriating in its growing global clout: wagging fingers at Western economists when the United States turned out to be more mired in the Great Recession than the Middle Kingdom; becoming increasingly assertive with regards to claims made in the South China Sea; etc. On the other hand, for purposes of receiving support from international organizations like the Global Fund, or pledging commitments on international treaties like Copenhagen, Beijing happily reminds us that China really is a poor country after all — so please keep that assistance flowing, and don't expect too much from us.
There is truth in both these views of China — the emerging superpower and the weakling, the Dragon and the Piglet. But the alternation can be confusing. Of course, there is method in Beijing's madness. When it's in China's interest to act humble, it will. Where it feels it has little left to gain from the international status quo, it won't.
Christina Larson is an award-winning foreign correspondent and science journalist based in Beijing, and a former Foreign Policy editor. She has reported from nearly a dozen countries in Asia. Her features have appeared in the New York Times, Wired, Science, Scientific American, the Atlantic, and other publications. In 2016, she won the Overseas Press Club of America's Morton Frank Award for international magazine writing. Twitter: @larsonchristina


text:
Lacunal scales are those scales that form the inner border of the loreal pit in crotaline snakes. Usually, these scales are large and also curve outward to form the outer border of the pit. In most cases the pit opening is triangular with one apex pointing back towards the eye. It is bordered above, below and in front by one or more supralacunals, sublacunals and prelacunals respectively.

References

Snake scales

redpajama_set_name: RedPajamaWikipedia


Should I Sell My Home Now or Wait Until the Spring?
Cost vs. Value: Which Home Improvements Offer the Highest ROI in 2017?
Bottom Leader Board goes here.
Housecall is the official blog of RISMedia, covering real estate news and information for agents, brokers and their clients. From mortgage info and housing trends to updates on which celebrity's bathroom is equipped with a Vitamin-C infused shower, Housecall covers the entire moving and shaking gamut of the industry... Read More!


text:
package converters;

import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import domain.Consumer;

@Component
@Transactional
public class ConsumerToStringConverter implements Converter<Consumer, String>{

	@Override
	public String convert(Consumer consumer){
		String result;

		if(consumer == null)
			result = null;

		else
			result = String.valueOf(consumer.getId());

		return result;
	}

}


Now THIS is a reason to smile.
Meet the Samoyed who sounds like Scooby Doo.
So many homes just got so much happier.
You're gonna wanna save these Snapchats.
Finally, an airport you can look forward to going to.


text:
Q: I am trying to create an instance of a class every time 5 seconds pass in pygame, but instead it creates a ton of instances instead of 1 import pygame as pg
import random
from player import Player

pg.init()
pg.font.init()

#screen settings
(width, height) = (800, 600)
bg = (128, 128, 128)
screen = pg.display.set_mode((width, height))
pg.display.set_caption("2D game")

#speed of the game and color rgb values
speed = 1

red = (255,0,0)
green = (0,255,0)
blue = (0,0,255)
yellow = (255,255,0)
cyan = (0,255,255)
colors = [red, green, blue, yellow, cyan]

#player
player = Player((255, 0, 127), 50, 50, 1)
player.rect.x = 380
player.rect.y = 500

#enemy
enemy1 = Player(random.choice(colors), 30, 30, random.randint(50, 100))
enemy1.rect.x = 50
enemy1.rect.y = -50

#adds the player and enemies to their respective lists
all_sprites_list = pg.sprite.Group()
all_sprites_list.add(player)
all_sprites_list.add(enemy1)

all_enemies = pg.sprite.Group()
all_enemies.add(enemy1)

#clock
clock = pg.time.Clock()
passed_time = 0

def make_enemy(name, color, width, height, speed):
    name = Player(color, width, height, speed)
    name.add(all_sprites_list)
    name.add(all_enemies)

def textboard(font ,text, color, x, y):
    font = pg.font.SysFont(font, 50)
    textsurf = font.render(text, False, color)
    screen.blit(textsurf, (x,y))

#game loop
running = True
while running:

    passed_time = round(pg.time.get_ticks()/1000)
    if passed_time%5 == 0:
        variable_name = 0
        variable_name += 1
        speed += 0.01
        make_enemy('enemy' + str(variable_name), random.choice(colors), 30, 30, random.randint(50, 100))

    for event in pg.event.get():
        if event.type == pg.QUIT:
            running = False
        elif event.type == pg.KEYDOWN:
            if event.key == pg.K_x:
                running = False

    keys = pg.key.get_pressed()
    if keys[pg.K_RIGHT]:
        player.moveRight(5)
    if keys[pg.K_LEFT]:
        player.moveLeft(5)

    for enemy in all_enemies:
        enemy.enemyFall(speed)
        if enemy.rect.y > height:
            enemy.changeSpeed(random.randint(50, 100))
            enemy.rect.y = random.randint(50, 100) * -1
            enemy.changePosition()
            enemy.randColor(random.choice(colors))

    collisions = pg.sprite.spritecollide(player, all_enemies, False)
    for enemy in collisions:
        running = False

    all_sprites_list.update()

    screen.fill(bg)

    textboard('ComicSans', 'timer: ' + str(passed_time), cyan, 100, 400)

    all_sprites_list.draw(screen)

    pg.display.flip()
    clock.tick(60)

pg.quit()
pg.font.quit()

This is the game itself. I am having trouble with the make_enemy() function making like tens of instances instead of the one instance I want. I think it has something to do with the ticks, but I am not able to figure it out.
Basically when I run this, after 5 seconds it creates like 10-30 enemies which overpopulate the screen, and I want it to create only one every 5 seconds.

A: You need to put in a check to see if you have already created the new instance otherwise it will create them every game loop from 5s until 6s have passed.
E.g.  At 10000 ticks passed_time=10, at 10200 ticks passed_time=10 ...
So maybe just count how many time you last created one and if
    (pg.time.get_ticks() - create_time-pg) > 5000
create an instance and set create_time=pg.time.get_ticks()

A: " I think it has something to do with the ticks,"
Yes of course. The condition if passed_time%5 == 0: is fulfilled for a second.
Set a time point when the first enemy has t o spawn. If the time point has exceeded, then spawn an enemy and set the next time point:
variable_name = 0
next_enemy_time = 0

running = True
while running:

    if pg.time.get_ticks() > next_enemy_time:
        next_enemy_time += 5000

        variable_name += 1
        speed += 0.01
        make_enemy('enemy' + str(variable_name), random.choice(colors), 30, 30, random.randint(50, 100))

Alternatively you can use a timer event. Use pygame.time.set_timer() to repeatedly create an USEREVENT. e.g.:
milliseconds_delay = 5000 # 0.5 seconds
enemy_event = pygame.USEREVENT + 1
pygame.time.set_timer(enemy_event, milliseconds_delay)

Note, in pygame customer events can be defined. Each event needs a unique id. The ids for the user events have to be between pygame.USEREVENT (24) and pygame.NUMEVENTS (32). In this case pygame.USEREVENT+1 is the event id for the timer event, which spawns the enemies.
Create a new enemy when the event occurs in the event loop:
milliseconds_delay = 5000 # 0.5 seconds
enemy_event = pygame.USEREVENT + 1
pygame.time.set_timer(enemy_event, milliseconds_delay)
variable_name = 0

running = True
while running:

    clock.tick(FPS)

    for event in pygame.event.get():
        if event.type == pg.QUIT:
            running = False

        elif event.type == enemy_event:
            variable_name += 1
            speed += 0.01
            make_enemy('enemy' + str(variable_name), random.choice(colors), 30, 30, random.randint(50, 100))

        # [...]


The following work scope has been developed based on extensive testing and reconditioning of Waukesha pumps. All pumps are disassembled, cleaned, tested and reassembled in a silicone free environment. We have identified several options of repair which will cover the majority of pumps that are sent to us for repair.
- Disassemble wet end and clean all parts.
- Replace all o-rings except casing o-ring. Due to the cost of this special KalRez o-ring, it will be evaluated for reuse. Run test will verify acceptability for reuse.
- Evaluate power end for reuse. Check for excessive bearing end play and leaks around shaft seals.
- Reassemble wet end per IOM.


text:
Competition: Mayor's Design Advocates, London
admin 12th April 2017
The mayor of London is recruiting built environment professionals for a new 30-strong design advocacy panel
The three year contract calls on 'London's top design talent' – including built environment professionals and members of the built environment media – to assist the mayor in delivering his 'City for All Londoners' vision.
Those chosen for the panel will take responsibility for setting and maintaining high standards in urban design, building urban design capacity and improving procurement across the capital. The 30 advocates will also champion 'Good Growth' – defined as development that is socially, environmentally and economically inclusive – by encouraging high quality design and construction.
The mayor of London, Sadiq Khan said: 'As London grows, it's an enormous challenge to ensure the city responds to the needs of everyone who lives, works, studies and visits here. The architecture and design sector has crucial role to play in responding to the pressures of growth – as do every one of London's neighbourhoods and diverse communities, each of which need to be supported through and included in the process of change.
'I'm calling on London's top design talent to play their part in shaping good growth in the capital and I'm looking forward to seeing what innovative solutions they can bring to bear on this fantastic city. I also want Londoners from every background to tell me how they think their city should grow and tell me what they think Good Growth should look like.'
Khan replaced Boris Johnson as mayor of the UK capital in May last year. In January, the mayor started recruiting architects for a new £35 million framework covering projects across the capital.
The framework – which replaces Johnson's Architecture Design and Urbanism Panel (ADUP) and is known as ADUP2 – will cover a treasure trove of TfL and City Hall commissions over the next four years.
The design advocacy panel – unlike ADUP2 – will cover strategy relating to urban design, design capacity, sustainable development and procurement reform without any direct commissions for the participants.
Bob Allies, Terry Farrell, Roger Hawkins, Eric Parry, Sunand Prasad, Fiona Scott and Stephen Witherford all featured on the former mayor's advocacy panel – known as the Design Advisory Group.
Participants on the latest panel will receive a daily rate of £400 and will be expected to provide up to 20 days of work every year along with six optional 6 unpaid days.
The deadline for applications is 12noon on 10 May.
Available via The Architects Journal. View full article here.
London Build is the leading and largest construction show for London and takes place at the Olympia on October 25th & 26th. London Build is FREE to attend and features 100+ speakers, thousands of attendees, CPD-accredited training workshops, and entertainment. Book your free ticket today by clicking here


text:
Q: Programmatically loaded composite disappear elements after postback In my project I'm adding programmatically a composite component to a primefaces p:panel, as described here: How to programmatically or dynamically create a composite component in JSF 2 .
This is the composite component:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<composite:interface>

</composite:interface>

<composite:implementation>

   <h:panelGroup styleClass="ui-grid ui-grid-responsive"
    id="myPG" layout="block">

                #{msgs['label.content']}

  </h:panelGroup>
</composite:implementation>

When added to the page, it show fine, but after the postback of the button, the "div" part, disappear (it isn't sent to the browser).
If I implements the div whith h:panelGroup and h:outputlabel, the elements get rendered but empty (#{msgs['label.content']} is void).
Here is the onMyClick handler (no logic in it):
public void onMyClick()
{
    System.out.println("#########################################CALLBAK");
}

Where I'm wrong?
Primefaces version is 5.1, running on JBoss AS 7.1.1

A: As I was having problem to programmatically create a component on the target architecture (IBM WAS 8.5, with myfaces 2.0 and no, I can't change jsf implementation), I changed the approach, using backing bean bound ui:include inside an h:panelGroup
<h:panelGroup id="myPanel" layout="block" rendered="#{myController.moduleSelected }">
   <ui:include src="#{myController.moduleType}"></ui:include>
</h:panelGroup>

Posting the answer to help other users


SOUTHERN EXPOSURE AND SPARKLING WATER VIEWS!! Spacious 2nd floor, lake front residence, with 3 bedrooms, 2.5 baths featuring new/newer Stainless Steel kitchen appliances, tile in kitchen and baths, new carpet in living room, dining room & bedrooms, updated shower in the master bath with separate dual vanities, an attached garage and more! Better yet, the building just got a face lift with a brand new roof! Great location with the neighborhood - a short walk to the amenities! Amenities and social opportunities abound in Bridgewater Bay with a resort style pool and spa, screened lap pool, fitness center, tennis courts, bocce courts, basketball court, billiards, card/reading room and more! The bonus is the availability of an extra large fenced lot for RVs, boats & trailers, etc. for a reasonable annual fee to Owners. Enjoy easy access to both Airport Pulling and Livingston Roads for quick trips to Waterside Shops and Mercato, elegant and casual restaurants, the beautiful beaches of Clam Pass, Vanderbilt Beach and Wiggins Pass State Recreational State Park and world class golf courses, all just minutes away.


Flechsig Insurance Agency provides insurance for school bus contractors in Punta Gorda, Burnt Store Isles, Burnt Store Marina, North Port, Gulf Cove, Port Charlotte, and surrounding areas.
Safety is the top priority when it comes to the operation of school buses. At Flechsig Insurance Agency, we understand that safety within the industry spans from the operations of the business itself to the day-to-day transportation of students. A quality protection plan will help give you the peace of mind of knowing that all operations are safe.


text:
Alan Cooke (born 1966 in Chesterfield, Derbyshire) is an English former international table tennis player and current coach. He is a six-time National Singles Champion and has won 18 National titles.

He made his senior England debut in the Israeli Open just before his 17th birthday, and played in the 1988 Summer Olympics.

In 2016 he coached the England team to a bronze medal at the 2016 World Table Tennis Championships.

See also
 List of England players at the World Team Table Tennis Championships

References

Living people
1966 births
English male table tennis players
Olympic table tennis players of Great Britain
Table tennis players at the 1988 Summer Olympics
Table tennis players at the 1992 Summer Olympics
Sportspeople from Chesterfield, Derbyshire


text:
OffscreenSurface::OffscreenSurface(DeviceResources* deviceResources)
{
	this->_refCount = 1;
	this->_deviceResources = deviceResources;

	this->_bufferSize = this->_deviceResources->_displayHeight * this->_deviceResources->_displayWidth * 2;
	this->_buffer = new char[this->_bufferSize];
	memset(this->_buffer, 0, this->_bufferSize);
}

OffscreenSurface::~OffscreenSurface()
{
	if (this->_deviceResources->_offscreenSurface == this)
	{
		this->_deviceResources->_offscreenSurface = nullptr;
	}

	delete[] this->_buffer;
}

HRESULT OffscreenSurface::QueryInterface(
	REFIID riid,
	LPVOID* obp
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tE_NOINTERFACE");
	LogText(str.str());
#endif

	return E_NOINTERFACE;
}

ULONG OffscreenSurface::AddRef()
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

	this->_refCount++;

#if LOGGER
	str.str("");
	str << "\t" << this->_refCount;
	LogText(str.str());
#endif

	return this->_refCount;
}

ULONG OffscreenSurface::Release()
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

	this->_refCount--;

#if LOGGER
	str.str("");
	str << "\t" << this->_refCount;
	LogText(str.str());
#endif

	if (this->_refCount == 0)
	{
		delete this;
		return 0;
	}

	return this->_refCount;
}

HRESULT OffscreenSurface::AddAttachedSurface(
	LPDIRECTDRAWSURFACE lpDDSAttachedSurface
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::AddOverlayDirtyRect(
	LPRECT lpRect
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::Blt(
	LPRECT lpDestRect,
	LPDIRECTDRAWSURFACE lpDDSrcSurface,
	LPRECT lpSrcRect,
	DWORD dwFlags,
	LPDDBLTFX lpDDBltFx
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	str << tostr_RECT(lpDestRect);
	str << " " << lpDDSrcSurface;
	str << tostr_RECT(lpSrcRect);

	if ((dwFlags & DDBLT_COLORFILL) != 0 && lpDDBltFx != nullptr)
	{
		str << " " << (void*)lpDDBltFx->dwFillColor;
	}

	LogText(str.str());
#endif

	if (dwFlags & DDBLT_COLORFILL)
	{
		if (lpDDBltFx == nullptr)
		{
#if LOGGER
			str.str("\tDDERR_INVALIDPARAMS");
			LogText(str.str());
#endif

			return DDERR_INVALIDPARAMS;
		}

		unsigned short* buffer = (unsigned short*)this->_buffer;
		int length = this->_bufferSize / 2;
		unsigned short color = (unsigned short)lpDDBltFx->dwFillColor;

		for (int i = 0; i < length; i++)
		{
			buffer[i] = color;
		}

		return DD_OK;
	}

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::BltBatch(
	LPDDBLTBATCH lpDDBltBatch,
	DWORD dwCount,
	DWORD dwFlags
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::BltFast(
	DWORD dwX,
	DWORD dwY,
	LPDIRECTDRAWSURFACE lpDDSrcSurface,
	LPRECT lpSrcRect,
	DWORD dwTrans
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::DeleteAttachedSurface(
	DWORD dwFlags,
	LPDIRECTDRAWSURFACE lpDDSAttachedSurface
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::EnumAttachedSurfaces(
	LPVOID lpContext,
	LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::EnumOverlayZOrders(
	DWORD dwFlags,
	LPVOID lpContext,
	LPDDENUMSURFACESCALLBACK lpfnCallback
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::Flip(
	LPDIRECTDRAWSURFACE lpDDSurfaceTargetOverride,
	DWORD dwFlags
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::GetAttachedSurface(
	LPDDSCAPS lpDDSCaps,
	LPDIRECTDRAWSURFACE FAR *lplpDDAttachedSurface
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::GetBltStatus(
	DWORD dwFlags
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::GetCaps(
	LPDDSCAPS lpDDSCaps
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::GetClipper(
	LPDIRECTDRAWCLIPPER FAR *lplpDDClipper
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::GetColorKey(
	DWORD dwFlags,
	LPDDCOLORKEY lpDDColorKey
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::GetDC(
	HDC FAR *lphDC
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::GetFlipStatus(
	DWORD dwFlags
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::GetOverlayPosition(
	LPLONG lplX,
	LPLONG lplY
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::GetPalette(
	LPDIRECTDRAWPALETTE FAR *lplpDDPalette
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::GetPixelFormat(
	LPDDPIXELFORMAT lpDDPixelFormat
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::GetSurfaceDesc(
	LPDDSURFACEDESC lpDDSurfaceDesc
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

	if (lpDDSurfaceDesc == nullptr)
	{
#if LOGGER
		str.str("\tDDERR_INVALIDPARAMS");
		LogText(str.str());
#endif

		return DDERR_INVALIDPARAMS;
	}

	*lpDDSurfaceDesc = {};
	lpDDSurfaceDesc->dwSize = sizeof(DDSURFACEDESC);
	lpDDSurfaceDesc->dwFlags = DDSD_CAPS | DDSD_PIXELFORMAT | DDSD_HEIGHT | DDSD_WIDTH | DDSD_PITCH;
	lpDDSurfaceDesc->ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN | DDSCAPS_SYSTEMMEMORY;
	lpDDSurfaceDesc->ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);
	lpDDSurfaceDesc->ddpfPixelFormat.dwFlags = DDPF_RGB;
	lpDDSurfaceDesc->ddpfPixelFormat.dwRGBBitCount = 16;
	lpDDSurfaceDesc->ddpfPixelFormat.dwRBitMask = 0xF800;
	lpDDSurfaceDesc->ddpfPixelFormat.dwGBitMask = 0x7E0;
	lpDDSurfaceDesc->ddpfPixelFormat.dwBBitMask = 0x1F;
	lpDDSurfaceDesc->dwHeight = this->_deviceResources->_displayHeight;
	lpDDSurfaceDesc->dwWidth = this->_deviceResources->_displayWidth;
	lpDDSurfaceDesc->lPitch = this->_deviceResources->_displayWidth * 2;

#if LOGGER
	str.str("");
	str << "\t" << tostr_DDSURFACEDESC(lpDDSurfaceDesc);
	LogText(str.str());
#endif

	return DD_OK;
}

HRESULT OffscreenSurface::Initialize(
	LPDIRECTDRAW lpDD,
	LPDDSURFACEDESC lpDDSurfaceDesc
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::IsLost()
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::Lock(
	LPRECT lpDestRect,
	LPDDSURFACEDESC lpDDSurfaceDesc,
	DWORD dwFlags,
	HANDLE hEvent
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	str << tostr_RECT(lpDestRect);
	LogText(str.str());
#endif

	if (lpDDSurfaceDesc == nullptr)
	{
#if LOGGER
		str.str("\tDDERR_INVALIDPARAMS");
		LogText(str.str());
#endif

		return DDERR_INVALIDPARAMS;
	}

	if (lpDestRect == nullptr)
	{
		*lpDDSurfaceDesc = {};
		lpDDSurfaceDesc->dwSize = sizeof(DDSURFACEDESC);
		lpDDSurfaceDesc->dwFlags = DDSD_CAPS | DDSD_PIXELFORMAT | DDSD_HEIGHT | DDSD_WIDTH | DDSD_PITCH | DDSD_LPSURFACE;
		lpDDSurfaceDesc->ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN | DDSCAPS_SYSTEMMEMORY;
		lpDDSurfaceDesc->ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);
		lpDDSurfaceDesc->ddpfPixelFormat.dwFlags = DDPF_RGB;
		lpDDSurfaceDesc->ddpfPixelFormat.dwRGBBitCount = 16;
		lpDDSurfaceDesc->ddpfPixelFormat.dwRBitMask = 0xF800;
		lpDDSurfaceDesc->ddpfPixelFormat.dwGBitMask = 0x7E0;
		lpDDSurfaceDesc->ddpfPixelFormat.dwBBitMask = 0x1F;
		lpDDSurfaceDesc->dwHeight = this->_deviceResources->_displayHeight;
		lpDDSurfaceDesc->dwWidth = this->_deviceResources->_displayWidth;
		lpDDSurfaceDesc->lPitch = this->_deviceResources->_displayWidth * 2;
		lpDDSurfaceDesc->lpSurface = this->_buffer;

		return DD_OK;
	}

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::ReleaseDC(
	HDC hDC
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::Restore()
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::SetClipper(
	LPDIRECTDRAWCLIPPER lpDDClipper
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::SetColorKey(
	DWORD dwFlags,
	LPDDCOLORKEY lpDDColorKey
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	str << " " << (void*)lpDDColorKey->dwColorSpaceLowValue << " " << (void*)lpDDColorKey->dwColorSpaceHighValue;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDD_OK");
	LogText(str.str());
#endif

	return DD_OK;
}

HRESULT OffscreenSurface::SetOverlayPosition(
	LONG lX,
	LONG lY
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::SetPalette(
	LPDIRECTDRAWPALETTE lpDDPalette
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::Unlock(
	LPVOID lpSurfaceData
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

	return DD_OK;
}

HRESULT OffscreenSurface::UpdateOverlay(
	LPRECT lpSrcRect,
	LPDIRECTDRAWSURFACE lpDDDestSurface,
	LPRECT lpDestRect,
	DWORD dwFlags,
	LPDDOVERLAYFX lpDDOverlayFx
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::UpdateOverlayDisplay(
	DWORD dwFlags
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}

HRESULT OffscreenSurface::UpdateOverlayZOrder(
	DWORD dwFlags,
	LPDIRECTDRAWSURFACE lpDDSReference
	)
{
#if LOGGER
	std::ostringstream str;
	str << this << " " << __FUNCTION__;
	LogText(str.str());
#endif

#if LOGGER
	str.str("\tDDERR_UNSUPPORTED");
	LogText(str.str());
#endif

	return DDERR_UNSUPPORTED;
}


Iraqi Prime Minister Haider al-Abadi said last month he would "take all necessary measures" against militants based in Syria.
BAGHDAD — Iraq captured five Islamic State commanders after its intelligence services lured them into crossing from neighboring Syria, Iraqi state TV reported Wednesday.
It described the five as "some of the most wanted" leaders of ISIS. They were named as Saddam al-Jammel, Mohamed al-Qadeer, Ismail al-Eithawi, Omar al-Karbouli and Essam al-Zawbai and were shown in yellow prisoner uniforms.
Iraqi agents then used the Telegram messaging app on his mobile phone to lure four commanders from the group to cross the border from Syria into Iraq and into a trap, security advisor Hisham al-Hashimi told Reuters on Thursday.
Following Eithawi's capture, Iraqi and American intelligence agents were able to uncover bank accounts used by the group and also secret communication codes he used, Hashimi said.
"The noose is tightening around him," Hashimi said, referring to Baghdadi.
U.S. President Donald Trump later tweeted "Five Most Wanted leaders of ISIS just captured!"
Iraqi Prime Minister Haider al-Abadi said last month he would "take all necessary measures" against militants based in Syria. The Iraqi air force has carried out several airstrikes since last year against ISIS positions in Syrian territory.
Abadi declared final victory last December over the group, which overran a third of Iraq in 2014. But the militants still pose a threat along the border with Syria and have continued to carry out ambushes, killings and bombings across Iraq.
There are some 5,000 U.S. troops in Iraq training the country's military.


text:
Interview: Jodi Rudoren
By Charley J. Levine February/March 2014
Photo by Fred Conrad. Courtesy of Jodi Rudoren.
Jodi Rudoren's education at Yale University prepared her for two decades at two of the world's most influential newspapers, The Los Angeles Times and The New York Times. Rudoren, 42, moved to Jerusalem less than two years ago to serve as The New York Times bureau chief, accompanied by her husband and young twins.
Q. How does The New York Times cover Israel?
A. In a very aggressive way as a mainstay of its daily news diet. In this digital age…we strive to have an analytical edge. We have a growing global audience and serve many different audiences at the same time. We have people who are extremely engaged in Israel and the Israeli-Palestinian conflict and Israel's conundrum over Iran and the Arab Spring and the Middle East. Many are passionate and deeply knowledgeable advocates. These are a core part of our readership in New York and throughout America. We have 30 million readers internationally. The flip side of that is that the advocacy community has become relatively obsessed with criticizing the newspaper.
Q. What is your assignment?
A. My job is to cover Israel, the Palestinian territories and…Jordan. I arrived intending to write as much as I could about what it is like to live in as many different places as possible. I expected to write about food and culture and religion and technology and medicine. I have done far fewer of these stories because the news flow is relentless. Not just the conflict, but Iran and the Arab Spring. We've done many, many stories about Syria, Egypt and Iran and how they affect this place. This region is at the center of world debate. It is my limited amount of hours in the day that holds me back from covering the wider picture. Good examples are Bedouin resettlement, haredi men's changing role in the workforce, internal Israeli struggles over religious pluralism and identity, public policy regarding migrant workers.
Q. I understand you are critcized by pro-Palestinian or left-wing activists as well as by nationalist Zionists?
A. I think the fact that I am equally lambasted by activists with totally different viewpoints—in many cases about the same articles!—suggests that the lambasting is less about me and my work and more about their predispositions. People have deep, entrenched, impassioned opinions. And they should. But this prevents them from seeing mainstream, balanced, neutral, detached news coverage as mainstream, balanced, neutral and detached. Because this conflict is…about dueling narratives, people with a strong point of view see neutrality as supporting the other view.
Q. How has social media changed reader responses?
A. The scrutiny of our work is intense. Social media have magnified this. It is now easier to send a letter or post a comment directly to The New York Times, not to mention placing a critique quickly on any number of websites or Facebook. At the same time, I get e-mails filled with profanities. Bloggers make all kinds of suppositions about my background, my personal life, my friends and associates, how I spend my free time, without any basis in fact.
Q. Why did The New York Times assign a censor to monitor your early use of social media?
A. It was not a censor. It was an editor. During the Gaza war, I was very active on Facebook. At first, this was fantastic [and] led to lots of reader engagement. As the week wore on, I said a couple of things on Facebook I should not have, the main one being that many Gazans seemed almost "ho-hum" about the attacks after all they had endured. I should have said "resilient." In any case, afterward, my bosses asked me to work with an editor on social media. They pointed out that because of the complexity and passion on this beat, we have always been super careful to get many eyes on every word we publish…to make sure we are being accurate, fair, sensitive and clear and to avoid code words that can be minefields. They were concerned it could undermine my credibility and the credibility of The New York Times.
This was the wrong solution…for the right reasons. It was problematic to try to work with an editor in New York, seven hours behind Jerusalem, in a medium that thrives on immediacy. I have since waded back into Facebook and Twitter solo…but on a much smaller scale, mostly to just post articles or news items. Even so, many of my posts are hijacked by extremists who post comments that regurgitate their entrenched positions. I regret that I have not found a way to use social media on this beat the way so many of my colleagues elsewhere have—to illuminate stories, explore readers' questions, test out ideas and exchange experiences.
Q. Are there political doors in Israel not open to you?
A. I have never spoken with Yaakov Amidror, Israel's outgoing national security adviser. Amos Gilad [director of policy and political military affairs at the Defense Ministry]—can't get an interview with him. There are Knesset members and Cabinet ministers who have been elusive. I have managed only one or two conversations with Ehud Barak. I haven't spoken with Defense Minister [Moshe] Ya'alon in a long time. I've had two meetings with Netanyahu, but it took more than a year to get the first one. I have yet to have a sit-down with Palestinian Authority President Mahmoud Abbas.
Q. Was it hard to move to Israel?
A. We moved when my kids were just under 5. We have a bigger apartment here and the weather is nicer, they get to see their dad all the time. They go to the pool a lot, and they are in a great school. In many ways, their quality of life has improved.
Q. Your husband, Gary, an architect, followed you halfway around the world. How is he doing?
A. My husband's approach to life and marriage has always been to 'hold hands on the roller coaster ride.' He was very supportive of what this opportunity meant for me. Even more, he thought of it as an opportunity for our family. Many years from now, which would be more fun to look back on: four more years in Brooklyn or a crazy, exciting and special place called Jerusalem?
Q. Tell us about the name Rudoren.
A. I couldn't imagine taking my husband's name [Ruderman], although I also didn't like the idea of not having the same last name as my kids…[so] we decided to combine names. I felt that if we each kept part of our old names—mine is Wilgoren—and took part of the other's name, that was a real metaphor for how we wanted to run our family—on equal footing. When we googled it, the only thing for Rudoren was an island off Finland that we intend to claim as our ancestral homeland someday.
Q. How does your Jewishness impact your job?
A. I came to Israel as a teen with United Synagogue Youth and the memory of that, particularly of Jerusalem…and the layered history that you see in the Old City and elsewhere, were things that as a journalist I found incredibly compelling. I wanted to come here to cover this fascinating beat. Being Jewish certainly is central to that. I know a decent amount about Judaism, I speak Hebrew pretty well. I come knowledgeable about the Jewish American or Jewish Israeli side of this beat.
Q. What about the non-Jewish angle?
A. One of my biggest regrets is not studying Arabic before coming over because I find working in a language that I really don't know to be very difficult.
Q. Why does the left wing criticize you?
A. Some pro-Palestinians attack me based on the idea that I am kind of entrenched in the Israeli-Zionist-Jewish-American perspective. They complain that I live in West Jerusalem [and] spend quite a bit of time in my office there. I wish I spent much more time in the West Bank than I do, both reporting and living, because that impacts how you develop your sensibility about things.
Q. How does your perspective differ from reporters from, say, Portugal?
A. I have an American world view…[which] takes Israel's existence as a given. There are some places in the world that do not. The argument that Israel is an amoral, ahistorical experiment that will fall like apartheid and the Soviet Union is outside the American mainstream way of seeing things. America and the United Nations have embraced Israel as a modern state and I operate from this same assumption.
NY Times Tries To Under-report Gaza Body Count | PopularResistance.Org says:
August 2014 at 12:16 pm
[…] in Rudoren's reporting may not surprise some. She has described herself as being criticized as "kind of entrenched in the Israeli-Zionist-Jewish-American perspective… […]
Tour Israel first-class with 'New York Times' cheerleader Jodi Rudoren says:
[…] were "ho-hum" when their children got killed. When we said she was a Zionist, and cited her background in the pro-Israel Jewish community in Boston and the fact that she had first gone to Israel as a teen with United Synagogue Youth, […]
NY Times Jerusalem Bureau Chief Admits Palestinians Experience Apartheid—After Leaving the Bureau – Infinitify says:
[…] Of her posting: "I wanted to come here to cover this fascinating beat. Being Jewish certainly is central to that. I know a decent amount about Judaism, I speak Hebrew pretty well. I come knowledgeable about the Jewish American or Jewish Israeli side of this beat," she told the Hadassah magazine. […]
For Bari Weiss, Israel advocacy was both ideology and good career move says:
March 2018 at 2:00 pm
[…] graduating, Weiss went to Israel on a United Synagogue Youth fellowship. (Rudoren also went to Israel as a teenager with USY.) The "Nativ" program sends young Jews to Israel for a year, to prepare them to be Israel […]
Zionism Quiz: Did You Know?
Food for Thought at New Cultural Center in Tel Aviv
By Jordana Benami
Farm-to-Table Israel Philanthropy
By Hilary Danailova
Get to Know Haifa With This Word Search Puzzle!
Interview With Noa Tishby
By Debra Nussbaum Cohen


We have a wealth of knowledge on most disiplines - Dressage, Eventing, Show Jumping, Showing, Hunting and Carriage Driving. We also has a lot of experience with youngsters breaking and producing for competition. Re-backing and schooling problem horses. We love to teach beginners all the way up to advanced riders.


text:
Peter Burke, Local10.com Managing Editor
Published: August 8, 2019, 3:01 pm
Tags: Local, Crime, Monroe County, News
Driver tells Keys deputies he was speeding 'because he was in a hurry'
53-year-old in Camaro arrested after traveling more than 100 mph
Jonas Laurindvicius, 53, of Sao Paulo, Brazil, faces a charge of reckless driving.
MARATHON, Fla. – A man from Brazil was arrested Wednesday night after speeding in the Florida Keys. When questioned, Jonas Laurindvicius told deputies he was speeding because he was in a hurry.
Laurindvicius faces a charge of reckless driving. He was also cited for speeding and traveling in the wrong lane.
Monroe County Sheriff's Office deputies said Laurindvicius was traveling about 100 mph in a Chevrolet Camaro as it traversed the Bahia Honda Key Bridge.
When deputies caught up to the car along northbound U.S. Highway 1, they said it moved into the southbound lane to illegally pass several other northbound vehicles.
Deputies said they attempted to stop the car, but the Camaro kept going.
Eventually, the Camaro stopped at a traffic light and a deputy ordered Laurindvicius out of the car at gunpoint.
"Laurindvicius stated he was traveling fast because he was in a hurry," sheriff's spokesman Adam Linhardt said.
The 53-year-old driver from Sao Paulo, Brazil, was arrested and taken to jail.
Peter Burke returned for a second stint of duty at Local 10 News in February 2014. He graduated from Florida State University and previously worked at Local 10 from 2005-08.


text:
A comprehensive look at cow's milk
On Apr 17, 2019
Milk is a staple of the human diet, full of key nutrients such as protein, carbohydrates, fats, and vitamins. Cow's milk in particular is one of the most-used dairy products globally, with over 800 million tons produced annually according to the United Nations Food and Agriculture Organization. Today, scientists report in ACS' Journal of Agricultural and Food Chemistry a comprehensive, centralized database of all known bovine milk compounds.
Human milk consumption has played a key role in global economic and agricultural developments for over 10,000 years. Given its popularity, cow's milk has been the subject of numerous scientific studies in recent history. There are thousands of known components in the liquid, but the data are scattered throughout the literature. And analyzing milk can be a complex undertaking, as the beverage can vary in amount of and identities of its constituent compounds, depending on the breed of cow, type of feed and other factors. Using targeted chemical analyses has provided a large amount of data on specific compounds, but none have been able to both fully identify and quantify the makeup of bovine milk. That's why David Wishart and colleagues at the University of Alberta set out to perform a multi-tiered analysis that provides the most complete picture to date.
To build a database of bovine milk components, the researchers applied a combination of experimental technologies and literature text-mining. For their experimental work, they assessed commercially purchased skim, 1 percent, 2 percent and whole milk with four different spectrometric technologies. They identified and measured various substances in milk, including metal ions, vitamins, organic acids and amino acids. For the computer analysis part of the study, the researchers used a series of digital text-mining tools to find published chemical information on dairy compounds. The data from the project are freely available at the Milk Composition Database. More than 2,300 metabolite entries are in the database, and over 160 of these substances were reported on for the first time in cow's milk.
The authors acknowledge funding from the Canadian Institutes of Health Research, Alberta Innovates-Bio Solutions, Alberta Livestock and Meat Agency, Genome Alberta and Genome Canada.
The paper's abstract will be available on April 17 at 8 a.m. Eastern time here:
https://pubs.acs.org/doi/10.1021/acs.jafc.9b00204
The American Chemical Society, the world's largest scientific society, is a not-for-profit organization chartered by the U.S. Congress. ACS is a global leader in providing access to chemistry-related information and research through its multiple databases, peer-reviewed journals and scientific conferences. ACS does not conduct research, but publishes and publicizes peer-reviewed scientific studies. Its main offices are in Washington, D.C., and Columbus, Ohio.
To automatically receive news releases from the American Chemical Society, contact [email protected]
Katie Cottingham
Chemistry/Physics/Materials SciencesFertilizers/Pest ManagementFood/Food ScienceNutrition/NutrientsZoology/Veterinary Science
Need more energy storage? Just hit 'print'
Parboiling method reduces inorganic arsenic in rice
Survival of the zebrafish: Mate, or flee?
UCF team discovers, names new frog species
Lionfish ear-bones reveal a more mobile invasion
Virtuoso of mobile sensing technology receives ACM Prize in Computing
Scienmag Apr 3, 2019
Shwetak Patel broke new ground in IoT research and brought innovative products to marketCredit: University of…
UW team finds key to common cancer pathway
Optimizing the growth of coatings on nanowire catalysts


We're naming and shaming the priciest e-tolls in SA: Some road users are having to pay nearly R25 to get through a single gate in Gauteng.
If we had a rand for every complaint we'd heard about e-tolls, we'd have enough to clear Sanral's spiralling debt. The much-maligned payment system has been a bone of contention for Gauteng-based motorists since its unwelcome inception in 2013.
The government have chosen to renew the service provider's contract for another 12 months, meaning that drivers are going to have to put up with the fees until December 2019. However, many locals are taking a stand against the system, with as many as 75% of the province's road users flatly refusing to pay for the tolls.
As the fees rack up, the expense can be a piss-take. In some locations, vehicles have to pay nearly R25 just to get through a single gate. We're naming and shaming the e-tolls that simply don't play fair.
For this list, we're looking at the prices of standard vehicles and HGVs, to give us a range of costs from the smallest to largest motors on the road. These fees are based one transaction per e-toll gate. For a comprehensive list of all toll plazas in SA, you can see the fees for national locations here.
Class A1: Light vehicles: Standard cars (with or without a trailer) and motorcycles.
Class A2: Heavy vehicles: Any motors which don't fall into the above category, operating on two axles.
Class B: Large heavy vehicles: These are vehicles with three or four axles.
Class C: Extra large heavy vehicles: Same concept as before, but this applies to vehicles with five or more axles.
You can consult the full list of all 47 e-toll gates and prices here.


text:
Q: Newtonsoft.Json DeserializeObject passing null for guid 00000000-0000-0000-0000-000000000000 I have a class that is used to represent an identity, it contains a value of string.
I then have another class that is used to represent an event, this includes an identity object, and a string name.
I can serialize from object to JSON string fine, I get the string:
{"Id":{"Value":"2e4146c2-66c9-4637-8936-29ccfc5df638"},"Name":"Jon Doe"}
However when I go from the above JSON to object, in the MyIdentity constructor the string identityValue is passed in as "00000000-0000-0000-0000-000000000000".
I have also tried providing two constructors for MyIdentity, one for string, and one for Guid, but same result. The idea behind this is to store the data as a string, but to remember we can be cast to a Guid if required (since identities will either be formed by a string or by a Guid).
public class MyEntityId : MyIdentity
{
    public MyEntityId(Guid identityValue)
        : base(identityValue)
    {
    }
}

public abstract class MyIdentity
{
    protected readonly bool convertableAsGuid;
    protected readonly string value;

    public string Value { get { return this.value; } }

    public MyIdentity(string identityValue)
    {
        this.value = identityValue;

        Guid guid;
        if(Guid.TryParse(identityValue, out guid)==false)
            this.convertableAsGuid = false;
    }

    public MyIdentity(Guid identityValue)
    {
        this.value = identityValue.ToString();
        this.convertableAsGuid = true;
    }
}

static void Main(string[] args)
{
    var evnt = new MyEvent(new MyEntityId(Guid.NewGuid()), "Jon Doe");

    var eventHeaders = new Dictionary<string, object>
    {
        {"EventClrTypeName", evnt.GetType().AssemblyQualifiedName}
    };
    var serializerSettings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.None };
    var metadata = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(eventHeaders, serializerSettings));
    var data = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(evnt, serializerSettings));
    string dataAsString = Encoding.UTF8.GetString(data);

    var eventClrTypeName = JObject.Parse(Encoding.UTF8.GetString(metadata)).Property("EventClrTypeName").Value;
    var obj = JsonConvert.DeserializeObject(dataAsString, Type.GetType((string)eventClrTypeName));
    // stepping through the above, a zero initialised GUID string is passed in to MyIdentity constructor
}

As @hvd has kindly commented, it seems to be the Value only has a get property, if i add a set property also then it works (so I believe the constructor string value is not actually being used). The reason I don't want to put a setter on the identity is for programming design, it is an identity and should not be changed once created.
I can live with a public get and protected set on the property, I have tried the keyword [JsonProperty] and it works... however I don't want to decorate my domain objects with those attributes - is there another way?

A: If I understood correctly you have a problem initializing the Guid on deserialization and you don't want to create a setter or use attributes for successful deserialization. Please note that I changed your MyIdentity class by removing the constructor that accepted Guid parameter since it's not necessary, changed the parsing of Guid logic since it would have never initialize the convertableAsGuid property correctly and created MyEvent class since you didn't post it on your question. Also I created the MyCustomConverter class which is used during the deserialization. Here are the classes:
public class MyCustomConverter : JsonConverter
{
    public override bool CanConvert(Type objectType)
    {
        return objectType == typeof (MyEvent);
    }

    public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
    {
        var jObject = JObject.Load(reader);
        existingValue = new MyEvent(new MyEntityId(jObject["Id"]["Value"].ToString()), jObject["Name"].ToString());

        return existingValue;
    }

    public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
    {
        throw new NotImplementedException();
    }
}

public class MyEvent
{
    public MyEntityId Id { get; set; }

    public string Name { get; set; }

    public MyEvent(MyEntityId id, string name)
    {
        Id = id;
        Name = name;
    }
}

public class MyEntityId : MyIdentity
{
    public MyEntityId(string identityValue)
        : base(identityValue)
    {
    }
}

public abstract class MyIdentity
{
    protected readonly bool convertableAsGuid;
    protected readonly string value;

    public string Value { get { return this.value; } }

    public MyIdentity(string identityValue)
    {
        this.value = identityValue;

        Guid guid;
        if (Guid.TryParse(identityValue, out guid))
            this.convertableAsGuid = true;
    }
}

And here is the serialization and deserialization logic:
static void Main(string[] args)
{
    var evnt = new MyEvent(new MyEntityId(Guid.NewGuid().ToString()), "Jon Doe");

    var eventHeaders = new Dictionary<string, object>
        {
            {"EventClrTypeName", evnt.GetType().AssemblyQualifiedName}
        };
    var serializerSettings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.None };
    var metadata = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(eventHeaders, serializerSettings));
    var data = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(evnt, serializerSettings));
    string dataAsString = Encoding.UTF8.GetString(data);

    var eventClrTypeName = JObject.Parse(Encoding.UTF8.GetString(metadata)).Property("EventClrTypeName").Value;
    var obj = JsonConvert.DeserializeObject<MyEvent>(dataAsString, new JsonConverter[] {new MyCustomConverter()});
}

Demo: https://dotnetfiddle.net/asRtEI


"Ever since the day she checked that wonderful book out of the Maplewood Public Library; she truly believed that in some past life, she had been the royal princess of Heisenberg Castle. She knew in her heart that she had been awaken each morning by her loyal servants, served breakfast in bed on a beautiful silver serving tray, and had spent her days kindly and gently reigning over her admiring and adoring subjects. The event she loved the most was, of course, her own magnificent coronation, highlighted by the passing review of the most elegant ladies of her court; the finest tribute to the finest queen in all the land."


text:
Danielle Blasczak
Assistant Director of Data and Systems
Danielle Blasczak is our assistant director of data and systems. She has more than 18 years of nonprofit experience in Rhode Island, and she specializes in data analysis and management. She is a Strategic Data Partner Fellowship graduate, led by the Center for Education Policy Research at Harvard University, where she was able to grow advanced analytic capacity, develop clear priorities and plans for data and data systems, build organizational willingness to use data for decision-making, and uncover valuable insight about performance. Prior to joining ONE|NB, Danielle was manager of research and evaluation at Highlander Institute. However, before she made her transition to education, much of her career was spent in fundraising, working for Brown University and Rhode Island Public Radio. She is excited to use her unique skill set to make a lasting difference in the community that she so deeply loves.
Email Danielle


NORFOLK, Va. -- Former Lee-Davis High School running back Nate Evans was shot and killed in Norfolk late Thursday night, according to Norfolk Police.
Officers responded to the 800 block of W. 43rd St. after getting calls about gunshots, police said.
When they arrived, officers founds Evans shot on the sidewalk. He died at the scene.
Evans, 19, was a junior at William and Mary where he played football for the Tribe. He was the Tribe's second-leading rusher this past season.
"Nate's is a loss we are feeling deeply within our program. Faith and family are the foundations of our program. We value relationships first. Our team has gathered together to support each other as we deal with the grief that comes from this tragedy," William and Mary Head Football Coach Mike London said.
In high school, Evans was an all-district and all-metro performer at Lee-Davis in Mechanicsville.
His former football coach Ryan Turnage mourned the loss of Davis in a statement to CBS 6.
"Nathan was a tremendous player and a great teammate, and I was proud to be his coach. He will always have a place in the Lee-Davis football family.
"William & Mary grieves today the death of Nate Evans, an immensely talented young man," William & Mary president Katherine Rowe said. "I extend condolences and the deepest sympathy on behalf of the community to Nate's family, friends, team members and others close to him."