text:
EMLENTON'S LUMBER INDUSTRY WAS INTERTWINED WITH OIL PRODUCTION AND TRADITIONS
EMLENTON'S LUMBER INDUSTRY WAS INTERTWINED WITH OIL PRODUCTION AND TRADITIONS (GEORGE MORGAN, HARDWOOD LUMBER COMPANY, SLOAN PLANING MILL / MCINTYRE SAW MILL / EMLENTON LUMBER & PLANING MILL)
Emlenton, Venango County, PA, long associated with the petroleum and natural gas industries, also has had connections to logging and lumbering. Some of the town's noted oil industry figures also owned lumber mills. Here are some of their histories:
George Morgan (1815 - 1882), born near Callensburg, Clarion County, settled in Emlenton, 1848. Morgan was known to have been a sawmill operator, carpenter, barge builder, farmer and hotel keeper.
Mody Boatwright, Texas folklorist, wrote the following, 1945:
"George Morgan's object in moving to Emlenton in 1848 was not, however, to build houses. He erected a barge works on the Allegheny River at the mouth of Ritchey Run, and there built the hulks from native timber and floated them downstream to Pittsburgh, where sides and other necessary fittings were added. The barges were then put into service transporting an increasing traffic in [iron] ore, coal and lumber."
George Morgan also operated the Valley House, an Emlenton hotel built in 1837 by Andrew Truby, c. 1855 - 1860. This hotel, once considered "the leading hostelry of the town," still stands today (Otto's Tavern).
George Morgan left Emlenton in 1868, according to Boatwright:
"Emlenton was [Morgan's] residence for twenty years. In 1868 he established a barge works at Tionesta, in Forest county. This move was probably the result of a shift in the river traffic…. Barges were more urgently needed than ever before, and Tionesta, near Tidioute and above the mouth of Oil creek [at Oil City], was a favorable location in which to build them.
"George Morgan was soon to make another business venture. The first announcement of the new location of his barge works appears in the Forest Press, Tionesta, for March 6, 1868. On June 3 he announces that he 'has leased the Greene & Gordon Mill on Tionesta {creek} and removed his family to that place, where he will begin the manufacture of lumber. The old dam is gone {the announcement continues} but a temporary one has been erected and when the water falls sufficiently a permanent dam will be built.'
"The mill was at the mouth of Bear creek, and George and Elizabeth Morgan lived in the community by that name for six years. They then moved back to Tionesta…. A newspaper account of 1872 tells of Harrison Morgan's losing a finger in the sawmill, indicating that members of the family worked at the mill."
One of George and Elizabeth Morgan's children, Gilbert "Gib" Morgan (1842 - 1909), linked the oil and lumber industries in a different way. Gib Morgan, a veteran of the Tenth Pennsylvania Infantry during the Civil War, went to work as a tool dresser in the Venango County oil fields (Petroleum Centre), c. 1864 - 1865.
Morgan worked as a tool dresser, driller, roustabout and pipe line laborer in numerous Pennsylvania, West Virginia, Ohio and Indiana oil fields, 1860s - 1890s. He was best known for his way of telling tall tales about oil drilling (in a manner reminiscent of Davy Crockett).
Pennsylvania, West Virginia and Ohio oil field workers picked up Morgan's stories and retold them in the Texas, Oklahoma, California and Illinois oil fields after 1900. Salesmen for the Red River Lumber Company (which probably supplied rig timbers to the California and Illinois oil fields) heard Morgan's tall tales.
Some oil field workers who knew the Morgan stories went to work for the Red River Lumber Company's logging camps and sawmills (in California and Minnesota) following World War I military service.
William B. Laughead, Red River Lumber advertising manager in Bemidji, Minnesota, transformed the Gib Morgan oilfield "ripsnorters" into the Paul Bunyan lumber "tall tales", 1914 - 1930. Some Gib Morgan oil stories also became attributed to Bunyan (especially in Texas and Oklahoma)!
Harry J. Crawford (1867 - 1953); Emlenton native long associated with oil production / refining, natural gas and banking interests; was also a lumberman. Crawford became connected with a partnership founded by John H. Young (1881 - 1956).
John Young, a former sawmill contractor for Wyman & Landers, Tionesta, PA lumbermen, purchased timber land near Emlenton, 1905. Young then joined forces with lumbermen Erland Norton, of Titusville; and Ralph Meabon, of Grand Valley, Warren County.
Harry Crawford and Thomas Gregory purchased interests in the J.H. Young Lumber Company, 1906. The Crawford - Gregory - Young - Norton - Meabon firm then became known as the Hardwood Lumber Company. Sawmills were operated near Emlenton until 1912.
John Young then returned to independent lumbering in the Emlenton area. Joseph Riesenman recounted Young's subsequent business career, 1943:
"After two years of independent business activity in Emlenton, Mr. Young removed in 1914 to Warren, where he carried on the J.H. Young Lumber Company until April, 1919. It was in that month that the Commercial Lumber Company was formed in Warren and Mr. Young was named its president and general manager …. Until 1925 the Commercial Lumber Company operated small portable mills in Warren, Venango, Clarion and Forest counties, but in 1925 they erected the present stationary plant and installed a dry kiln with capacity for drying seventy - five thousand feet of lumber."
Wilbert F. Young (1889 - 1966), John Young's brother, was a Hardwood Lumber Company portable sawmill operator and lumber inspector. "Bill" Young left Emlenton after 1912 and operated lumber mills in Venango and Mercer counties. He then formed a partnership with lumberman Thomas Fisher (a Spartansburg, Crawford County, PA) native, 1916. Fisher & Young's base of operations was near Titusville after 1923. The partnership opened a large band saw mill at East Titusville, 1929 (which became the largest in Pennsylvania during the 1950s and 1960s).
SubsequentW.F. Young lumber interests included Fisher & Young Lumber, Inc. / Fisher & Young Builders Supply (Reliable Builders Supply Company), Endeavor Lumber Company and Ashepoo River Lumber Company.
John Young married Pleasantville (Allegheny Township), Venango County native Myrtle Bunting. Ralph Bunting (1890 - 1966), Myrtle's brother, also worked for the Hardwood Lumber Company. Ralph later worked as an independent logger and sawmill operator, and as a log buyer / timber cruiser for Fisher & Young, Inc., Pearl City Plywood (Jamestown / Falconer, NY), and other wood products companies.
Ralph Bunting married Marie Hughes (1892 - 1959), a daughter of Emlenton banker - oil and natural gas producer Gordon I. Hughes (Farmers National Bank of Emlenton).
Erland Norton moved his base of lumber manufacturing, cutlery manufacturing and oil / natural gasoline production to Tidioute, Warren County, c. 1910. He was long renowned as a supplier of ash billets used in manufacturing "Louisville Slugger" baseball bats. Larimer & Norton, a Warren County plant founded by Erland Norton's family, still makes hardwood billets as a division of Hillerich & Bradsby Company ("Louisville Slugger"), Louisville, KY.
Harry Crawford's other business interests included: Quaker State Oil Refining Corporation / Sterling Oil Company / Appaline Oil Company, Columbia Gas Corporation, Manufacturers Light & Heat Company, Pennsylvania Fuel & Supply Company, Union Heat & Light Company, Slippery Rock Heat & Light Company, Mountain Fuel Supply Company, Casing Head Gas Company / Hopewell Oil & Gas Company, President Oil Company (Crawford & Gregory), Reno Oil Company, Devonian Oil Company, Dental Oil Company, Talon Hookless Fastener Company, Lightning Hookless Fastener Company, Cooper - Bessemer Gas Engine Corporation, Citizens Banking Company (Oil City), Oil City National Bank, and First National Bank of Emlenton.
Crawford, despite his oil, natural gas and manufacturing interests, always thought of himself as just a "country banker'!
Thomas Gregory was also Harry Crawford's associate in Quaker State Oil Refining Corporation / Sterling Oil Company, Pennsylvania Fuel & Supply, Casing Head Gas Company / Hopewell Oil & Gas Company, Reno Oil Company, Devonian Oil Company, etc.
Emlenton's longest lived lumber business was founded by Sloan, Camp & Allebach, 1866 - 1867. Emlenton Planing Mills (Uriah Sloan) subsequently purchased and utilized the former Presbyterian Church edifice, 1875.
Herbert C. Bell wrote the following about the Emlenton Presbyterian Church, 1875:
"The first place of worship was the old town hall. A frame church edifice, still standing on Water street, was erected in 1859 and dedicated January 13, 1860. The opening of the railroad having deprived this location of its former eligibility, the present site was secured and the brick structure erected thereon in 1874. It was dedicated August 27, 1875."
The same 1875 history also listed the following biographical data concerning Emlenton Planing Mills owner / operator Uriah Sloan.
In the words of Herbert Bell:
"URIAH SLOAN, lumber dealer and manager of planing mill, was born in Venango township, Butler county, Pennsylvania, September 27, 1840.… In 1859 he began to drill for oil, and continued in the business until the breaking out of the Rebellion. He entered the Union service September 24, 1861 as a member of Company B, One Hundred and Third Pennsylvania Volunteers…. April 20, 1864 his entire regiment was captured at Plymouth, North Carolina, and suffered a loathsome imprisonment at Andersonville, Georgia and Florence, South Carolina, until February, 1865.
"…. He was married May 6, 1868 to Miss Sarah, daughter of David E. Perry, of Scrubgrass township…. In 1867 he began [lumber] milling in Emlenton, and in 1875 he bought the old Presbyterian church and converted it into the factory which he has since operated."
Uriah Sloan continued to own the planing mill building, 1898. The lumber business itself was operated by his sons, Frank and Norman Sloan.
The elder Sloan, in addition to owning the mill building, also worked for his sons in the Sloan Brothers lumber and planing mill business!
Two other Emlenton area residents were engaged in logging and lumbering during the 1890s - and probably supplied rough wood to the Sloan planing mill. McIntyre Brothers (Archibald and Fred) operated a saw mill at the Emlenton Bridge's south west end, 1898.
Joseph Riesenman recalled the McIntyre's lumbering activities, 1943: "[Archibald McIntyre], a lumberman, started work in the lumber business in Venango County in 1875. In 1896 he returned to Emlenton after being engaged in lumbering and rafting in the Pittsburgh area as one of the last of the old - time river pilots. Archibald McIntyre and his brother, Fred McIntyre, built the mill at the south end of the Emlenton Bridge, continuing in business together until 1905.…"
Archibald McIntyre bought the Uriah Sloan family lumber yard - planing mill business, 1915. The plant then became known as the Emlenton Planing Mills, and subsequently the Emlenton Lumber & Planing Mill, 1918.
Lawrence E. McIntyre, prior to World War I U.S. Army service, became part owner of the Emlenton Lumber & Planing Mill. Joseph Riesenman highlighted later changes in the business:
"In 1935, at his father's death, Lawrence Edwin McIntyre became sole owner and manager of the business. He employs four men regularly and more at certain seasons of the year, and has two modern delivery trucks to aid in the distribution of the firm's products."
The Emlenton Lumber & Planing Mill covered nearly five city lots - on both sides of the railroad tracks - during the 1940s.
Fire destroyed the Emlenton Lumber & Planing Mill complex, August 14, 1949. The Titusville Herald carried the following account:
"Damage estimated at $150,000 was caused by a spectacular fire which leveled a warehouse and planing mill here [in Emlenton]. Eighteen pieces of fire - fighting equipment from nearby and distant communities fought the blaze. Railroad and telephone service were interrupted and five firemen were injured by debris and overcome by smoke. Cause of the fire is not known.
"Flames were seen in the warehouse of the Emlenton planing mill, then in the mill itself. All these structures were leveled and one house was gutted.
"…. The planing mill had been modernized seven or eight years ago. Part of it was formerly Emlenton's old Presbyterian church."
The McIntyre Planing Mill - Emlenton Lumber & Planing - was completely rebuilt in the same location. It later changed ownership, and became McNany Lumber Company.
Rig timbers and power house lumber for many southern Venango County oil leases probably came from the Sloan and McIntyre mills
Hickman Lumber Company, operators of a Scrubgrass Township sawmill, currently utilizes the former Emlenton First National Bank Building for office space. The story continues….


text:
Home Uncategorized English Quiz for Bank of Baroda PO Exam: 3rd July 2018
English Quiz for Bank of Baroda PO Exam: 3rd July 2018
English Quiz for Bank of Baroda(BOB)
This section can be easy as pie if your basics are clear. Sometimes, even those who can communicate very well in English, fail to perform to the best of their ability in the banking exams. So, instead of boiling the ocean, try building up a strong vocabulary, an effective knowledge of grammar, and efficient comprehension skills so as to be on the ball to face this particular section. Here is a quiz on English Language being provided by Adda247 to let you practice the best of latest pattern English Questions for upcoming BOB exam.
Directions (1-5): Rearrange the following six sentences (A), (B), (C), (D), (E) and (F) in the proper sequence to form a meaningful paragraph and then answer the questions given below. The opening and the closing sentence of the following passage has already been given to you as a hint.
Q1. (1)A land settled by farming families from the British Isles, New Zealand, had long relied on women's contributions to national life and well-being.
A. Author, socialist and a mother of four, Locke is a historian of the social history of her country for the past half century.
B. From advocating rights for the unemployed to the legalization of family planning, Locke's commitment to social justice is continuous.
C. Locke's life's work has been to document these contributions and expand women's right and roles in New Zealand society.
D. Her interest in Maori culture, led her to study and become fluent in the Maori language.
E. She is an activist who, when she feels her contribution is no longer needed, simply goes on to the next challenge.
F. This enabled her to contribute to a better understanding of Maori culture and history.
(8) She was awarded an honorary doctorate in 1987 for her ability to join scholarly work with social responsibility.
Q1. Which of the following would be the FIRST sentence after rearrangement?
(a) A
(b) B
(c) C
(d) D
(e) E
S1. Ans.(c)
Sol. CAEBDF; C
Q2. Which of the following would be the SECOND sentence after rearrangement?
(a) F
(b) A
(c) D
(d) E
(e) B
S2. Ans.(b)
Sol. A
Q3. Which of the following would be the THIRD sentence after rearrangement?
(b) D
(d) B
S3. Ans.(e)
Sol. E
Q4. Which of the following would be the SIXTH sentence after rearrangement?
(a) D
(c) E
(d) F
S4. Ans.(d)
Sol. F
Q5. Which of the following would be the FIFTH sentence after rearrangement?
(b) C
(c) A
S5. Ans.(a)
Sol. D
Directions (6-15): In the following passage, some of the words have been left out, each of which is indicated by a number. Find the suitable word from the options given against each number and fill up the blanks with appropriate words to make the paragraph meaningful.
The Hemis National Park in Ladakh is _____(6)_____ not just to some magnificent creatures such as snow leopards but also to a few hundred people in villages on its periphery.
The _____(7)_____ of life in the rugged terrain of the cold desert is _____(8)_____ in these remote villages that have no electricity, running water, and _____(9)_____ no schools or medical _____(10)_____.
Locals are _____(11)_____ on limited farming activities, and on their sheep and yak for _____(12)_____.
A project was launched in the early 2000s to bring some economic _____(13)_____ to the villages _____(14)_____ changing climatic conditions and it has become an important _____(15)_____ for conservation today.
(a) prone
(b) place
(c) hole
(d) home
(e) residence
Sol. 'Home' as the context explains about the features of "The Hemis National Park" which is a home to the various snow leopards. Thus, 'home' is the appropriate option that should fit into the given blank.
(a) distress
(b) hazard
(c) hardship
(d) need
(e) suffering
Sol. 'Hardship' as the context talks about the difficulties of life that lead to the hardship of the life.
(a) extreme
(b) utmost
(c) supreme
(d) ultimate
(e) fabulous
Sol. 'Extreme' refers to the extent of the hardship that natives of the particular cold desert face.
(a) rarely
(b) often
(c) seldom
(d) periodically
(e) momentarily
Sol. 'Often' here means the number of probable times.
(a) aiding
(b) issues
(c) instrument
(d) facilities
(e) problems
S10. Ans.(d)
Sol. 'Facilities' is one of the best appropriate answers that should fit in.
(a) living
(b) operating
(c) vigorous
(d) alive
(e) dependent
S11. Ans.(e)
Sol. 'Dependent' as local people are dependent on the farming activities for their livelihood.
(a) edibles
(b) maintenance
(c) sustenance
(d) ration
(e) support
S12. Ans.(c)
Sol. 'Sustenance' means something that provides support or nourishment. Thus, sheep and yak are the means of sustenance for them.
(a) safely
(b) security
(c) care
(d) cover
(e) redemption
S13. Ans.(b)
Sol. 'Security' as the economic security has been provided to the people through the means of a project which was launched in year 2000.
(a) facing
(b) having
(c) surviving
(d) living
(e) being
S14. Ans.(a)
Sol. 'Facing' as economic security had been provided to the people who were facing the climatic conditions of that particular area.
(a) form
(b) gadget
(c) weapon
(d) job
(e) tool
Sol. 'Tool' is referred to the economic security for the environment day.
.button:hover {background-color:#c72645}
.button:active { background-color:#c72645; box-shadow: 0 5px #666; transform: translateY(4px); }
Download Free Topic-wise and Mock Test PDF
Tips and Tricks To Solve Reading Comprehension
Tips and Tricks to Solve Coherent Paragraph| Odd Sentence out
5 Tips and Tricks To Solve New Pattern Cloze Test
Previous articleQuantitative Aptitude Questions for IBPS RRB Prelims Exam: 3rd July 2018
Next articleSBI Junior Associates Mains 2018 Online Test Series

redpajama_set_name: RedPajamaCommonCrawl


Ella & Samantha are alone in class, as they both wait for Miss to return Ella has only one thing on her mind. She strolls to the front of the class, and leaning on Samantha desk reminds how she promised she would help her practice kissing. Samantha is always one to oblige and leans in closer and the two girls start to kiss passionately. As they kiss they slowly start to undress, slipping of each others uniform. As their tongues slide in and out of each others mouths you can see how much they are enjoying themselves and it isnt long before they are slipping off each others lingerie too. Completely naked, apart from Samanthas socks, the two girls get closer, stroking each other bodies as they kiss even harder.


text:
Michigan GOPer Allegedly Asked For Bribes In Exchange For Vote
Michigan state Rep. Larry Inman (R) has been indicted for allegedly seeking out campaign contributions from unions in exchange for a pro-union vote.
The Detroit Free Press reported on Wednesday that the lawmaker has been charged with attempted extortion, soliciting a bribe and lying to the FBI.
According to the indictment, Inman texted a union representative asking for campaign contributions for himself and several other Republicans who could potentially vote "no" on a measure that would repeal a wage law that requires union wage rates on most public projects.
"I would suggest maxing them out on all 12, or at least doubling what you have given them," he allegedly texted, suggesting that the contributions reach the maximum under the state's contribution law.
"We never had this discussion," he also texted.
Michigan House Speaker Lee Chatfield (R) removed Inman from his committee seats and called for him to resign.
Chatfield told reporters on Wednesday that the text was "completely out of line and is not in the spirit of what the people of this state deserve in their representation."
However, Inman insists that he's innocent.
"I have never compromised the integrity of my vote. I have always represented my constituency honestly and legally. I intend on vigorously fighting these charges and defending my reputation," he said in a statement to the Free Press.
Inman also refuses to resign.
CorruptionGOPMichigan


text:
Omupanda was a mission station of the Rhenish Mission Society in Oukwanyama in southern Angola, located 10 km to the south-east of Ondjiva.

History
Omupanda was founded in 1892 by German missionary August Wulfhorst. At the time, it was thought that the area was part of German South West Africa.

Just as the first building was completed, it burned down and had to be rebuilt.

In 1900, the German missionary Hermann Tönjes came to Omupanda, together with his newly wed wife Anna (née Rautanen), daughter of the Finnish missionary Martti Rautanen.

The Germans had to leave Angola in 1916 as a result of World War I, and thus Omupanda was left empty. In 1928, the mission was transferred to the Catholic Church, and it remains Catholic to this day.

References

Populated places in Cunene Province
Rhenish mission stations in Oukwanyama
Catholic mission stations in Oukwanyama

redpajama_set_name: RedPajamaWikipedia


text:
Wartburg outlasts Simpson in old-fashioned shootout
by Brock Borgeson, Sports Editor
WAVERLY, Iowa – You may have heard your late grandfather or some outdated commentator on TV say the adage, "close only counts in horseshoes and hand grenades."
Unfortunately for Simpson, close doesn't count in football as the Storm lost 51-45 to No. 21 Wartburg in an arena-football-esque shootout on Saturday, suffering their third one-score loss in conference this season.
"What do you say?" an exasperated Simpson head coach Jim Glogowski said. "It's 51-45, you onside kick the ball twice to get it back late in the game! It's an unbelievably difficult loss."
Wartburg's offense was the story on Saturday.
Last week the Knights (8-1, 5-1) set a single-game record for yardage with 573 against Buena Vista.
That was nothing.
Wartburg obliterated that number, generating a staggering 721 yards of total offense (341 on the ground, 380 passing) to win the shootout.
"Certainly, as a defensive coach, that's not what you want to see," Glogowski said. "The offensive guys did a great job and kept battling. But we could not get our defense off the field."
Simpson (3-6, 2-4) had arguably its best offensive game of the season, posting 567 yards on 81 plays. And on the first play from scrimmage, Simpson showed that its offense was ready to play. Jordan Beem used a gaping hole to go for a 73-yard touchdown run, eclipsing the 1,000-yard rushing mark for the season.
Wartburg said not-so-quick though, going on a 21-0 run to snag a 21-6 lead and a 28-13 lead at the half.
Despite the Storm's fervent comeback, the Knights would never relinquish that lead.
Down 38-24, Simpson got within one score when quarterback Caleb Frye found wide receiver Corbin Clark for a 34-yard touchdown reception, their second such connection of the day.
Down 38-31, Wartburg quarterback Logan Schrader, the all-time leader in passing yards, completions and touchdown passes, appeared to put the nail in the coffin with an 88-yard touchdown run.
The Storm kicked right back when Frye found Nate Connealy for a six-yard touchdown pass on an off-balance fade, making it 45-38.
After a failed onside kick, Schrader broke a 30-yard touchdown run right before Simpson made a final gasp, a 32-yard touchdown pass from Frye to freshman Sam Bartlett.
A second onside kick failed for the Storm, Wartburg got in victory formation and Wartburg extended its home-winning streak, which dates back to Nov. 2, 2013.
"Like I said, that's the game," Glogowski said. "The football gods didn't smile down on us."
The loss continues an exasperating season that seems so close to being a stellar one yet so far.
One of the brightest points in Saturday's loss was Frye who tore up the conference's best scoring defense for 132 rushing yards and 333 passing yards on 24 of 42 in the air, four of which went for touchdowns.
"I think Caleb made that next step," Glogowski said. "He made some phenomenal plays. All of our receivers made some great catches."
Frye stepped up to run when needed to, didn't force plays and was interception free.
Beem had his sixth straight 100-plus yard day on the ground, grinding out 109 yards and two touchdowns on the ground.
Connealy was Frye's favorite receiver, reeling in eight passes for 88 yards.
Simpson finds itself in the same position as last year, 3-6 looking to end the season on a winning note against Luther (4-5).
They'll head to Decorah on Nov. 14 for a 12 p.m. season finale against the Norse.
"We have a whole different operation to defend with the triple option in Luther, and we look forward to playing better next week," Glogowski said.
caleb frye
corbin clark
jim glogowski
jordan beem
nate connealy


text:
From Bad-Boy Boyfriend to America's Dad: How Milo Ventimiglia Survived Hollywood and Found Lasting Success
A celebration of the This Is Us star's evolving career in honor of his 41st birthday
By Billy Nilles Jul 08, 2018 10:00 AMTags
TVGilmore GirlsThis Is UsMilo VentimigliaEntertainment
Melissa Herwitt / E! Illustration
Despite what This Is Us' success may make it seem, Milo Ventimiglia hasn't always been America's TV dad.
With two seasons as the NBC hit's imperfectly perfect patriarch Jack Pearson under his belt, the actor, who just turned 41, has firmly planted himself in the pantheon of all-time great fictional fathers. But when audiences first met the hunky Ventimiglia, he was playing a decidedly different sort of character—one that Papa Pearson might have some issues with if teenage Kate brought him home in an episode of This Is Us.
After guest-star spots in shows as varied as Fresh Prince of Bel-Air and Saved by the Bell: The New Class, fans got their first real taste of Ventimiglia in 2001 when he arrived on the scene in the second season of The WB's beloved Gilmore Girls. As bad boy Jess Mariano, Ventimiglia's presence on the series kicked off one of TV's most enduring love triangles, pitting fans into Team Jess or Team Dean (Jared Padalecki) camps as they argued over who was best for Rory (Alexis Bledel). (Of course, this was before a third camp popped up with the introduction of Matt Czuchry's Logan—though if anyone is still Team Logan, they're tripping.)
Milo Ventimiglia's Best TV Roles
The WB / Ron Batzdorff
The role became an instant and enduring fan-favorite, which may seem surprising when you consider how relatively brief his tenure on the series was—after appearing as a series regular in seasons two and three, a failed attempt at a Jess-centric spinoff meant the character had to be written out, with Ventimiglia only returning in a recurring capacity in season four and as a guest in season six—but the actor has a theory on why fans fell in love with the character, and, by extension, himself, the way that they did.
"He had good hair. He had that pompadour thing going, and he had dope jackets, and he always had a book in his back pocket," he told W Magazine in 2017. "And I feel like, well, if you got that hair and you got a cool jacket and you got a book in your pocket, you must be good for a girl."
Ventimiglia remains fond of the series that put him on the map, having stayed close friends with creator Amy Sherman-Palladino and jumping at the opportunity to return to the role for Netflix's highly-anticipated 2016 revival Gilmore Girls: A Year in the Life, and fond of the role, as well. "I think the journey from being angry to being content and smiling through life was something that was always fun for me to discover and play and get into," he revealed to InStyle in 2016, adding that the show was a great place for a young actor with his first major TV gig to get his start.
"Talking fast was just fun," he said of rat-a-tat pacing that Palladino's dense scripts don't just suggest but require. "It was challenging, but it kind of felt like you were cutting your teeth the right way. It was great to learn a certain pace and quip, and get to put some heart and soul into it—especially on an early job when I was young."
This Is Us Star Milo Ventimiglia Has a Message for Fans Ahead of Season 3
What came after Gilmore, however, is a different story altogether. After the Jess spinoff failed to lift off, followed by a few more pilots that suffered the same fate, Ventimiglia was about ready to walk away from the industry—for the second time. "I was just fed up," he said during a 2017 episode of The Jess Cagle Interview podcast. "I couldn't catch a break to lock on to some work and be creative."
Unsure why he "wasn't there yet in other people's eyes...I was basically like, 'I'm gonna go,'" he admitted. His back-up plan? "I was going to go be an auto mechanic," he said. "In Southern California there's this auto school and it's advertised 'Everybody needs mechanics, because they need those cars fixed' and I'm like, 'That's a job that's going to be in demand, so why don't I learn more than I already know about cars and professionally fix cars.'"
NBC Photo: Adam Taylor
Luckily, fate—and some wise casting directors—intervened before Ventimiglia did anything too drastic and he found himself landing roles in both Rocky Balboa (starring opposite Sylvester Stallone as Rocky's son) and new NBC series Heroes, which "kind of sent me on the next six, seven years," he said on the podcast.
In the role of Peter Petrelli, a hospice nurse with the ability to mimic the abilities of others, Ventimiglia starred for all four seasons of the show's embattled run. The series shot out of the gate as one of the most popular things on television, but it soon began to collapse under the weight of its increasingly convoluted mythology and the experience took a toll. In fact, it nearly pushed Ventimiglia out of the industry for a third time.
After the show was cancelled, Ventimiglia struggled with the fact that people only saw him as Peter and not as an actor capable of, you know, acting. "It broke my spirit," he told Cagle. "Because that show itself, toward the end, it felt like the world-ending engine was more important than the human experience of it, which is what the show started as. It kind of just broke me inside and I thought to myself 'Do I really want to do this? Do I want to continue acting? Because it may just be disappointment after disappointment after disappointment.'"
And this time, he wasn't just considering auto repair school. "I have dual citizenship with Italy," he admitted. "I was like, 'I'm gonna sell everything, I'm going to fly to Rome, I'm gonna buy a motorcycle, I'm going to ride around until I can find a farm I can work on. I'm going to shave my head, I'm gonna grow a beard and I'm going to work on a farm … just lead a very different life very far away."
Milo Ventimiglia May Be the Reason Disneyland's Skyway No Longer Exists
For whatever reason, Ventimiglia stuck with this crazy business of show with a handful of start-and-stop turns in blink-and-you'll-miss-them shows like 2013's Mob City and Chosen, followed by 2015's one-and-done The Whispers. With the actor approaching his 40s, he was again reassessing what he wanted "as an actor, as a man," he told the Los Angeles Times in February. "I pulled my foot off the gas a little bit and backed off and re-engaged with life."
And then it arrived: The script for Dan Fogelman's This Is Us.
Though Ventimiglia has no kids of his own—the actor is notoriously tight-lipped about his personal life, though he did attend the Emmys last year with girlfriend Kelly Egarian—the minute he walked in the door, he was exactly what Fogelman had been looking for to fill the central role of the Pearson family patriarch, the lynchpin of the series. "When Milo first came in to meet with us, I knew instantly that that was the guy," the producer told the L.A. Times. "It just made perfect sense that, 'Oh, yes, he is the patriarch of this family.' This young man who would grow into an adult man who would bring a certain kind of masculinity and old-school dad to the part, but in a fresh and exciting new way. And look, there's no mystery if you don't care about this guy. And people do."
The connection that fans have made with Ventimiglia's Jack, especially after season two's reveal of his cause of death, is something that continues to take the actor by surprise. "Everyone assumes that I am Jack," he told E! News last December. "I thought Mr. Cunningham [of Happy Days] was America's dad, and I'm not even a father, you know. I guess the words that I'm so fortunate to speak and the character that I get to embody, I'm very grateful."
It's a role that finally finds the actor in the sweet spot he's been longing for his entire career, perhaps. "Again, I go back to just being grateful to be a part of it, being a part of something that promotes good and kindness, and inclusion, amongst our differences," he told us. "So it's something that—I don't miss the stunt work on other shows I've done. I don't miss the wire flying, or the wry jokes of adolescence."
As Ventimiglia has matured into a man, so too has his career. And we've got to say—it's a good look.
Sex and the City Author Applauds Kim Cattrall's "Brilliance"


text:
Bank Probes Its Executives
Regions Financial's Board Investigates if Disclosure of Souring Loans Was Delayed
By Dan Fitzpatrick
The board of Regions Financial Corp. is investigating whether executives delayed public disclosure of loans that were going sour during the financial crisis, according to court documents and people familiar with the matter.
The audit committee of the nation's 12th-largest U.S. bank by assets—and the only one of its size still supported by crisis-era government aid—began its probe after the Federal Reserve expressed concerns about past practices, these people said.


Craving wontons? You don't need to run to your closest restaurant to enjoy these crispy bites. Learn how to make wontons yourself in this easy 4 step tutorial! These tofu & vegetable crispy wontons make for the perfect snack, appetizer, or lunch. And once you start dipping, you won't be able to stop enjoying them!
Out of all the different flavors out there, some of my favorites are the Asian cuisines. I realize that's a pretty broad category, but specifically, I'm talking about Thai, Japanese, Chinese, Vietnamese, & Korean foods. There's Pho, various noodles, soups, stir-fry, sushi, spring rolls, the sauces, etc. And even though they can have very different tastes, I love it all.
I can't claim to be an expert in any one of these cuisines, nor can I say, for certain, that I've had truly authentic versions of their dishes. Most if of my experience is based on Americanized-versions at restaurants, my mom's home cooking, and flavors that I've attempted to re-create in my kitchen.
This recipe is yet another favorite Asian-inspired favorite made simple at home. Wontons! Crispy veggie & tofu filled wontons.
I mean come on…what kid (or adult for that matter), doesn't enjoy a delicious filling wrapped up and fried? Not to mention that dipping sauce!!
You're in luck, because I'm going to show you how to make wontons in just 4 simple steps!
Wontons are dumplings found in many Chinese cuisines. Similar the potstickers & gyoza, they fall under the general category of dumplings (dough that encloses some sort of filling). The main difference between these three and other types is the country of origin, shape, thickness of the dough, and cooking method.
Wontons traditionally consist of a thin square wrapper enclosed with a filling and and formed into various shapes. They can be boiled, steamed, added into soups, and even fried.
Most people seem to be turned off by making vegetable wontons at home when they see all the steps required with making the filling, folding, and sealing wonton wrappers, unsure of how difficult or time consuming it would be. So let's focus on these steps above so I can show you just how easy these are to make!!
Filling.There's such a huge variety when it comes to making a filling, but I like to keep it simple and tasty with a mix of finely shredded carrots, cabbage, and baked tofu, seasoned with some salt and a tiny amount of soy sauce. It's nothing fancy, but still super delicious, healthy, and most importantly…easy!
Wonton Wrappers. Traditional wonton wrappers are made with flour, eggs, water, and salt. And although there are tons of recipes out there where you can make your own vegan wonton wrappers, I'm going to be honest here and say you won't see me jumping up and down to take on that task. Especially when there are vegan eggless wonton wrappers you can find at stores.
The brand I typically use and find at Asian grocery stores is Twin Dragons, but you can also find the eggless ones by Dynasty at most major grocery stores.
Unfortunately neither of these are gluten-free. I've tried using a few different rice paper wraps, but they tend to retain a lot of oil. If you're looking for some gluten-free wonton wrappers, my friend Natalie has this easy 4-ingredient recipe that you should definitely try out!
Folding. Ok, before you stop reading, let me just tell you that my kids helped me fold these one afternoon. It's really that easy. Place a square wrapper in the palm of your hands, place some filling in the center, and take two corners together with the other hand to seal the edges! No fancy shapes…just straight triangles!
Sealing. Oh… did I mention I use my finger tips and some water to seal the wontons shut? Yep…it's that easy.
Cooking. My families personal preference when it comes to wontons is always crispy. You know how I've said I rarely fry things? Well this is one of those rare occasions where we love fried crispy wontons! Alternatively you can bake them in the oven for a healthier (yet still crispy) option.
And lastly, what's a crispy wonton without a great dipping sauce to go along with it? I've linked to a few of my favorite dipping sauces in the recipe below, some homemade and others store-bought for a quicker option.
This fried wonton recipe comes from my Mom. Growing up, we enjoyed going out for Chinese food, and one of our favorite appetizers to order were crispy wontons. So naturally, as she did with many other ethnic cuisines we tried, she re-created her own perfect version.
I had completely forgotten about them until recently when I realized that my kids love that wonton-crispy roll type appetizer at restaurants just as much as we did when we were kids. They had a great time helping me assemble the wontons!
Get creative with the filling, or start of easy and simple with my tutorial on how to make wontons & recipe below! And if you're anything like us, then be sure to make extra because they tend to disappear as soon as they're served!
These tofu & vegetable crispy wontons make for the perfect snack, appetizer, or lunch! And once you start dipping, you won't be able to stop enjoying them.
Shred the cabbage first with the fine blade using a Mandolin Slicer (as fine as you can shred), a food processor, or fine grater.
In order to get as much water out of the cabbage as you can, add about 1/2 teaspoon of salt to the shredded cabbage. Mix and set aside while you continue with the rest of the filling ingredients.
Shred the carrots and baked tofu using the same method as above.
Dry the shredded cabbage with some paper towels as best as you can. Mix the cabbage, carrots, and baked tofu together in a bowl. Add salt and soy sauce to taste and combine well (make sure the mixture is not too wet).
Place one square wonton wrapper flat on a clean surface or on the palm of your hands, whichever you prefer for filling.
Place a small amount of filling in the center of the wrapper being careful to keep the filling contained in the center only (amount depends on size of the wrapper). After making one, you will get a feeling on how much filling you can put in each wrapper.
Dip your finger in some water. Run your finger along all four sides of the wrapper to moisten, and fold into a triangle.
Pick up the triangle by the top corner and press along both sides to seal. Water is the adhesive to close each wonton. It is important to make sure it is completely sealed.
Repeat to fill additional wontons until all of the mix is used or make a few batches at a time and fry/bake in between. Alternatively, make as many as you want, and store the rest of the filling in the fridge to use the following day for leftovers.
Heat some avocado oil in a shallow frying pot on medium heat. Slowly place the wontons in the hot oil and fry until the wontons are golden brown on each side. The amount of wontons you can fry at once depends on the size of the pot you have.
As they are frying, you can continue to fill more wontons, but be careful not to over-fry since they will cook quickly.
Once they are done frying, place the fried wontons on a plate lined with a few paper towels to absorb any residual oil.
Preheat oven to 400 degrees. Line a baking tray with parchment paper.
Lightly spray the assembled wontons on both sides with spray oil (I use avocado spray oil). Bake for about 5-10 minutes or until wontons are crispy and golden.
These are best eaten HOT with your favorite dipping sauce. I use a combination of sweet & sour sauce and chili sauce for some added spice, or peanut sauce.
Wonton Wrappers - My favorite brand to use is Twin Dragon Wonton Wrappers which you should be able to find at most asian markets. Otherwise I've also used Dynasty brand which you can find at most major grocery stores such as Ralphs. Just be sure to check the ingredients to make sure that they are vegan and don't contain eggs.
Filling - Feel free to experiment with any other filling, just be sure to keep the moisture and liquid in the filling to a minimum.
Tofu - It's best to use a baked tofu for this recipe to reduce the amount of liquid in the filling and due to the texture of the tofu. Any flavor you find should work, but I typically get plain or savory baked tofu.
For a step-by-step visual on how I prefer to wrap these wontons, see my post above.
Dipping Sauces - Use any dipping sauce you prefer. Some simple teriyaki sauce, chili sauce, a combination of sweet & sour, plum sauce, peanut sauce, etc.
Make Ahead Tips - Prepare the filling one day in advance and simply assemble the wontons and fry/bake when you're ready to serve.
Nutritional Information - May vary depending on filling amount. Does not include any oil for frying or baking.
Yes! Grab some wonton wrappers and try out this recipe. You can really fill them with anything...so delicious and a great lunch option! Thanks so much! Anything crispy and i'm there ha!
These look like crispy little parcels of deliousness. I have to agree, I really do enjoy Asian food and these look incredible.
Thank you!! Hope you get a chance to try them out sometime soon!


text:
Q: Can an UDF from pyspark return an object different from a column? I want to apply some functions to the columns of a pysaprk dataframe, a manage to do this with UDF, but I want the return to be another object diffent than a column of the dataframe, a pandas dataframe, a python list, etc.
I am using a classifier to divide each column into classes, but I want the result to be a summary of the classes, not the pyspark dataframe modify, I don't know if this is posible with UDF
My code goes like this
import numpy as np
import pandas as pd
import pyspark
from pyspark.sql import SQLContext
from pyspark.sql.functions import udf
from pyspark.sql.types import IntegerType, StringType, FloatType, DoubleType
sc = pyspark.SparkContext()
sqlCtx = SQLContext(sc)

df_pd = pd.DataFrame(
    data={ 'Income':[12.0,45.0,24.0,24.0,54.0],
           'Debt':[23.0,4.0,1.0,6.0,3.0]} )
df = sqlCtx.createDataFrame(df_pd)

# function
def clase(x):
    #n = np.mean(df_pd[name])
    #n = np.mean(df_pd["Ingresos"])
    n = 30
    m = 20
    if x>=n:
        x="good"
    elif x>=m:
        x="regular"
    else:
        x="bad"
    return x

# UDF
clase_udf = udf(lambda z: clase(z), StringType())

(
    df.select('Income',
              'Debt',
              clase_udf('Income').alias('new') )
    .show()
)

This gives the next table:
+------+----+-------+
|Income|Debt|    new|
+------+----+-------+
|  12.0|23.0|    bad|
|  45.0| 4.0|   good|
|  24.0| 1.0|regular|
|  24.0| 6.0|regular|
|  54.0| 3.0|   good|
+------+----+-------+

What I want is to get something like this:
+-------+------------+
| Clases| Description|
+-------+------------+
|   good|   30<Income|
|regular|20<Income<30|
|    bad|   Income<20|
+-------+------------+

Like a summary of the clases

A: You need to use a udf and return a StringType too :
I put your constant out, in case you want it to be global and modify it for multiple functions at one.
n = 30
m = 20

def description(x):
    if x >= n:
        x = str(n) + " < Income"
    elif x >= m:
        x = str(m) + " < Income < " + str(n)
    else:
        x = "Income < " + str(m)
    return x

description_udf = udf(lambda z: description(z), StringType())

df.select(
    clase_udf('Income').alias('Clases'),
    description_udf("Income").alias("Description")
).distinct().show()

The output is :

redpajama_set_name: RedPajamaStackExchange


How are race and performance implicated within one another? Performance understood as theatrical practice extends back to antiquity before modern understandings of race emerged. Moreover, performance as a larger field of inquiry extends far beyond theater and includes embodied spatial practices, live events that hinge on communitas, patterns of behavior, as well as the presentation of certain abilities ranging from sports to rhetoric. Given such broad associations, performance can become a vehicle for the instantiation of race. Race—as psychic, material, and social processes of human differentiation—reveals in turn certain dynamics of performance; for example, the recourse to and privileging of human agency in discussions of performance frequently leaves uninterrogated the very category of human often thought to animate it. What are the relationships among humans, animals, objects, and technologies? What performs and what can be made to perform?
Any attempt to think about how race and performance are bound together raises questions about populations and identificatory actions and feelings. Race in performance suggests how individuals and groups take shape within larger structures of power and suggests the kinds of contradictions and improvisations that might be enacted within said systems. Such dynamics hinge on efficacy, pleasure, and/or discomfort.


text:
Quinn wants Rangers to pick up pace when they're a man up
By Greg Joyce
October 20, 2018 | 10:33pm
David Quinn Robert Sabo
NHL spotlight is on the revamped local teams
Where Rangers, Trouba could go from here
What start of Kaapo Kakko era will cost the Rangers
Artemi Panarin puts Rangers in wild salary cap dance
David Quinn stopped a drill at Rangers practice Saturday and adamantly told his team he wanted to see more urgency and pace and less sticking in spots on the power play.
The unit has been better of late, but there's still work to be done for the NHL's 19th-ranked power play.
The Rangers started the season 1-for-12 on the man-advantage before scoring three power-play goals over their past two games (10 opportunities) entering Sunday's meeting with the Flames at the Garden.
"That's how you win games, scoring on the power play, so we've got to work on it more in practice," winger Mats Zuccarello said. "We worked on it today, wasn't good today, but it's all about doing it and getting a feel for each other."
Zuccarello was on the ice with the top power-play unit Saturday, along with Mika Zibanejad, Chris Kreider, Pavel Buchnevich and Neal Pionk. The Rangers went 2-for-4 Wednesday against the Capitals, with Pionk assisting on both goals.
"[Pionk] does a great job getting the puck through to the net," Quinn said. "He doesn't try to make the difficult pass, he's making the right pass. He's not overthinking it. It's amazing what happens — you just keep making the right play, the opportunities are going to present themselves."
Zuccarello echoed that mindset.
"The fact is that you can work as hard as you can, but if you don't work smart, it doesn't matter," Zuccarello said. "We have to work smarter."
Versatile Rangers forward may have found where he fits best
Where Jesper Fast plays always seems to be fluctuating, but...
Quinn said he did not recruit Johnny Gaudreau while coaching at Boston University, but he did see plenty of the former Boston College winger who has 298 points in 319 NHL games with the Flames.
"He's just got incredible skating ability and hockey IQ," Quinn said. "He competes. There's a lot to like about him and there's a lot about him that's elite."
Defenseman Fredrik Claesson left practice Saturday with an upper-body injury. Quinn said it was "nothing long term, just something we have to monitor."
Claesson had played in each of the past four games, collecting 12 hits, three blocked shots and a plus-one rating after being a healthy scratch to start the year.
Left wing Matt Beleskey ditched the non-contact sweater and participated in his first full practice since suffering a separated shoulder during the preseason. He remains on injured reserve.
"Still a little way's away, so it was good to see him making progress and taking the next step to be able to be out there for practice," Quinn said.
Filed under chris kreider , david quinn , mats zuccarello , matt beleskey , mika zibanejad , neal pionk , new york rangers , pavel buchnevich
Devils' hot start becoming a thing of the past


Jacqui is a reliable dog walker who has never let us down and someone who we would trust to look after Clyde overnight. She is very flexible and has helped us out at short notice many a time. Definitely the best in the business!
This entry was posted in testimonials and tagged Clyde by admin. Bookmark the permalink.


text:
CoreCLR, .NET Core Open Source is Published
Last Updated on: July 15, 2020 by Paracha
CoreCLR is the new .NET framework runtime Core, which aims to facilitate building applications that use the .NET stack horizontally.
Microsoft has announced the publication .NET Core which is licensed Open Source and the road map to be able to run .NET applications on Linux and OSX in the near future.
At the origin was .NET framework
.NET In its inception back in 2002, was composed of a single, monolithic framework. But soon appeared .NET Compact Framework, which was a specific subset for small devices such as Windows Mobile actually.
Since then, it is practical to go frameworks ripping its own right has been repeated over time, as with Silverlight, Windows Phone, Windows Store, etc, resulting in unwanted increasing problems related to fragmentation.
These are related to the difficulty of constructing horizontal applications involving the use of different vertical .NET framework, due to the differences and incompatibilities that led to the different evolution of each.
A clear example that every .NET developer knows, is to build an application that runs on the desktop in Windows 8 touch interface and the Web. Being in some cases almost a mission impossible, the only solution to have three separate and parallel projects.
To mitigate this fragmentation, born portable libraries and .NET concept of change – that everything revolves around the library mscorlib – for the simple assembly, single responsibility, called contracts; constituting a horizontal API for interacting with different frameworks.
Another problem of the architecture of .NET is the way to unfold. Currently, whatever the application requires the entire framework and major extensions; the compiler being responsible to remove what is left.
This is an advantage with software compatibility and stability, it can become a problem if your code uses a feature that is modified in a later version of .NET and that causes the application to break. Yes, the risk of this happening is just under 1%, but it can mean millions of users with problems.
.NET Core, a new path
.NET Core is part of the latest .NET 2015 and aims to solve the problems described in the previous section.
Share compilers and runtime libraries with the "classic" framework, but represents a very important change of direction.
It is a modular framework with the aim of being simple to use against different technology stack, with powerful scaling capabilities under Open Source license and will be supported on Windows, Linux and OSX. Born with guidance to simplify the development and deployment of Windows Store and ASP.NET five applications, building a unified base class library to remove rigidities caused by these two so different vertical stack (BCL).
Below would be an adaptation layer that would execute code that would allow both native .NET Runtime, and the new CoreCLR.
And to ensure that at all times deployments include the correct version of the different libraries that make up the application, .NET Core uses the power distributor NuGet packages; making it part of the core of the new framework and accessing a new level of flexibility and optimization of code required to run the software.
CoreCLR, the heart of the beast
From the blog of .NET framework, has just announced the publication in Github, licensed Open Source, CoreCLR, Core .NET runtime.
This runtime allows, among other things, the compilation to machine code or automated tasks of the garbage collector. And can be used as a basis for a wide variety of scenarios developments.
Even, and is what most caught my attention is already announcing the opening within a few months of projects on GitHub versions for Linux and Mac OSX. Which would give another twist to the new policy of MS to be present on all platforms.
In the GitHub repository we will find more than 2.6 million lines, which now make up CoreCLR. And to study or contribute to the project not only we know C # and C ++ in depth, otherwise we will have to have Visual Studio 2013 development environment CMake (3.0.2) and Git tools.
Via | .NET Framework blog
Tags Apple Post navigation
Google still seeking to offer versions of their services for children
Tribute to Mothers of Martyred Students
Repair of the iPhone Xr is expensive
Google is preparing a special version of Android for the Samsung folding phone


A center to fill the void left by Datsyuk would be preferable.
Did we really need to watch that?
If you stuck with it until the end, you saw the Rays beat the Royals 12.
I think the attention to detail gets tighter, the coaching becomes very important how you're going to do your matchups, what players you're going NHL Jerseys Wholesale to be facing every shift, every game throughout the series.
Any quick thoughts on this?
Gardner is a fantastic person but not the best professor.
Buffalo is one of the largest markets hockey, they certainly have the money to fire Bylsma.
Still NFL Jerseys China thin, Glass knows he must get stronger – but his 6-foot-2 frame is very projectable.
The truth is, Saddam did acquire uranium-238 from Niger, he did have gyros those trucks, they were 'spinning' Travis Swanson Jersey throughout their endless journey, and the Iraqis did get that uranium the hell out of the country before anyone found the spinners the back.
I know used to get razzed about 'em.
It is rare for contracts to successfully be voided the .
But Hill was with Crime Watch at the McNair home this .
He won't discuss position competitions or injuries and http://www.ravenshopfootballofficial.com/JEREMY-MACLIN-JERSEY-CHEAP.html when asked his impressions of Streater on , Rio said, 'He looks fresh.
Same needs to work on his agility.
It's got to start somewhere.
After the , Cepeda who at the moment was earning $30, asked for a $20 raise based on his performance.
It's kind of a 'I could do this' vibe – and not because he dumbs it down onstage, but more that you can just tell how much he loves it.
To cover the final three innings, Baker pulled Cheap NFL Jerseys USA strings with MLB Jerseys Cheap the bullpen.
Her second LP for FM, A Weekend Paris , was sent to radio stations but never commercially released because FM Records declared bankruptcy.
I never saw him do a post move.
The White Sox have shown signs of at least being a .500 team over the last 12 days.
With a three-day break http://www.footballgiantsofficial.com/WOMENS_YOUTH_SAQUON_BARKLEY_JERSEY.html between , Dave Hakstol's club decided to stay back and prep the confines of its own practice facility instead of making earlier trip.
Cardinals receiver Fitzgerald, Giants quarterback Eli Manning and Panthers tight end http://www.officialnikejetshop.com/sam-darnold-jersey-for-sale-c-87.html Greg Olsen are NFL Jerseys Authentic the three finalists for the Walter Rasheem Green Authentic Jersey Payton NFL Tremaine Edmunds Jersey of the Year Award.
– Galuppo – Michael Briers 2017 | | | | | | | | | | | | | | | , Inc.


Men's black stretch trousers offer comfort with movement. The way in which the trouser material is manufactured gives a two dimensional stretch to the fabric. Ideal for smart environments where you need a well-dressed trouser with a relaxed comfortable fit, perfect for the office trousers or travelling trousers.
These classically styled polyester trousers by Carabou are finished with a button fastened rear pocket and slanted front pockets. The trousers are closed with a zip fly and hook and button fastening. Offered in sizes 34 – 56 inch waist with short 29 inch and regular 31 inch leg lengths. There is also an alteration service available.
Classically styled trousers look great with shirt and tie. For a respectful professional look you cannot beat a well matched shirt and tie combination.
Leg length options - 29 short leg, 31 Regular leg, Extra short leg avaliable via the alterations option.


text:
""" Parser for extracting CSS property names, values, and priorities from set of CSS Class Selectors. These class
selectors are gathered externally by the ``HTMLClassParser()``.

| CSS Unit Reference: http://www.w3schools.com/cssref/css_units.asp
| CSS Value Reference: http://www.w3.org/TR/CSS21/propidx.html

**Parameters:**
    | class_set (*set*) -- A set() of potential css properties.

**Returns:** Object of Type ClassPropertyParser

**Examples:**

Give this HTML: ``
Hello
``
The HTMLClassParser() would extract the following ``class_set``.

>>> class_set = {'super-5', 'h-16-i', 'PADDING-2', 'margin-10', }
>>> property_parser = ClassPropertyParser(class_set)
>>> # Note that 'super-5' was removed.
>>> print(property_parser.class_set)
{'h-16-i', 'padding-2', 'margin-10'}
>>> css_class = list(property_parser.class_set)[0]
>>> print(css_class)
h-16-i
>>> name = property_parser.get_property_name(css_class=css_class)
>>> # Decodes 'h-' to 'height'
>>> print(name)
height
>>> # Could throw a ValueError.
>>> # See cssbuilder.py for an example of how to handle it.
>>> encoded_property_value = property_parser.get_encoded_property_value(
>>>     property_name=name,
>>>     css_class=css_class
>>> )
>>> print(encoded_property_value)
16
>>> priority = property_parser.get_property_priority(css_class=css_class)
>>> print(priority)
IMPORTANT
>>> value = property_parser.get_property_value(
>>>     property_name=name,
>>>     encoded_property_value=encoded_property_value
>>> )
>>> print(value)    # Note the unit conversion from px_to_em.
1em

"""

# python 2
from __future__ import absolute_import
# builtins
from string import ascii_lowercase, digits
from re import findall
# plugins
from cssutils import parseString
# custom
from blowdrycss.datalibrary import ordered_property_dict, property_alias_dict, property_regex_dict, \
    pseudo_classes, pseudo_elements
from blowdrycss.utilities import deny_empty_or_whitespace
from blowdrycss.cssvalueparser import CSSPropertyValueParser

__author__ = 'chad nelson'
__project__ = 'blowdrycss'

class ClassPropertyParser(object):
    def __init__(self, class_set=set()):
        css = '''/* Generated with blowdrycss. */'''
        self.sheet = parseString(css)
        self.rules = []
        self.importance_designator = '-i'       # '-i' is used to designate that the priority level is '!important'
        self.pseudo_class = ''
        self.pseudo_element = ''
        self.removed_class_set = set()
        self.class_set = class_set
        self.clean_class_set()
        # print('clean ran')

    def class_set_to_lowercase(self):
        """ Converts member variable self.class_set to lowercase.

        :return: None

        """
        self.class_set = {css_class.lower() for css_class in self.class_set}

    @staticmethod
    def underscores_valid(css_class=''):
        """
        Validate underscore usage in a single css_class.
        In general, underscores are only allowed to designate a decimal point between two numbers.

        **Rules:**
            - Strip all whitespace in front and back.
            - Underscores are only valid between digits
                - ``[0-9]_[0-9]`` allowed
                - ``_35`` not allowed
                - ``42_`` not allowed
                - ``bold_px`` not allowed
            - If found in the middle of a string it may begin and/or end with ``-``
                - ``1_2-5_75-1_2-5_75`` allowed
            - String may start with ``n`` to designate negative numbers.
                - ``n5_25cm`` allowed.
            - String may not start with ``-``
                - ``-7_2`` not allowed.
            - String may not end with ``-``
                - ``5_4-`` not allowed

        :type css_class: str

        :param css_class: Accepts a single CSS class extracted from HTML class attribute.
        :return: boolean

            **True cases:**
                >>> ClassPropertyParser.underscores_valid('6_3')
                True
                >>> ClassPropertyParser.underscores_valid('2_456em')
                True
                >>> ClassPropertyParser.underscores_valid('1_2-5_75-1_2-5_75')
                True
                >>> ClassPropertyParser.underscores_valid('n5_25cm-n6_1cm')
                True

            **False cases:**
                >>> ClassPropertyParser.underscores_valid('-7_2')
                False
                >>> ClassPropertyParser.underscores_valid('5_4-')
                False
                >>> ClassPropertyParser.underscores_valid('_b')
                False
                >>> ClassPropertyParser.underscores_valid('b_')
                False
                >>> ClassPropertyParser.underscores_valid('padding--_2')
                False
                >>> ClassPropertyParser.underscores_valid('2_rem')
                False
                >>> ClassPropertyParser.underscores_valid('m_px')
                False
                >>> ClassPropertyParser.underscores_valid('__')
                False

        """
        # TODO: Replace with regex.
        # The underscore and dash is not allowed to be the first or last character of css_class.
        css_class = css_class.strip()                                   # Remove any surrounding whitespace.

        if (css_class[0] == '_' or css_class[-1] == '_' or
            css_class[0] == '-' or css_class[-1] == '-'):
            return False

        # Check character before and after underscore index.
        index = css_class.find('_')
        allowed_before = set(digits)
        allowed_after = set(digits)
        if index > 0:                                                   # Underscore is not the first character.
            valid = set(css_class[index-1]) <= allowed_before           # Check Character before
            valid = valid and set(css_class[index+1]) <= allowed_after  # Check Character after.
        else:
            valid = True

        return valid

    def clean_class_set(self):
        """
        Detect and Remove invalid css classes from class_set
        Class names must abide by: http://www.w3.org/TR/CSS2/syndata.html#characters

        For purposes of this project only a SUBSET of the CSS standard is permissible as follows:
            - Encoded classes shall not be ``None`` or ``''``.
            - Encoded shall not contain whitespace (handled implicitly by subsequent rules).
            - Encoded classes are only allowed to begin with ``[a-z]``
            - Encoded classes are only allowed to end with ``[a-z0-9]``
            - Encoded classes are allowed to contain ``[_a-z0-9-]`` between the first and last characters.
            - Underscores are only valid between digits ``[0-9]_[0-9]``

        **Reference:**
            http://stackoverflow.com/questions/1323364/in-python-how-to-check-if-a-string-only-contains-certain-characters

        :return: None

        """
        # Normalize class data by setting all strings to lowercase first.
        self.class_set_to_lowercase()

        # Validate against character sets.
        allowed_first = set(ascii_lowercase)
        allowed_middle = set(ascii_lowercase + digits + '_-')
        allowed_last = set(ascii_lowercase + digits)

        # Gather invalid_css_classes
        invalid_css_classes = []
        reasons = []

        # 'continue' is used to prevent the same css_class from being added to the invalid_css_classes multiple times.
        for css_class in self.class_set:
            if not css_class:                                       # None or ''
                invalid_css_classes.append(css_class)
                reasons.append(' (May not be None or "".)')
                continue
            if not set(css_class[0]) <= allowed_first:              # First character
                invalid_css_classes.append(css_class)
                reasons.append(' (Only a-z allowed for first character of class.)')
                continue
            if not set(css_class) <= allowed_middle:                # All characters
                invalid_css_classes.append(css_class)
                reasons.append(' (Only a-z, 0-9, "_", and "-" are allowed in class name.)')
                continue
            if not set(css_class[-1]) <= allowed_last:              # Last character
                invalid_css_classes.append(css_class)
                reasons.append(' (Only a-z and 0-9 allowed for last character of class.)')
                continue
            if not self.underscores_valid(css_class=css_class):     # Underscore
                invalid_css_classes.append(css_class)
                reasons.append(' (Invalid underscore usage in class.)')
                continue

        # Remove invalid_css_classes from self.class_set
        for i, invalid_css_class in enumerate(invalid_css_classes):
            self.class_set.remove(invalid_css_class)
            self.removed_class_set.add(invalid_css_class + reasons[i])

    # Property Name Section
    #
    @staticmethod
    def get_property_name(css_class=''):
        """
        Extract a property name from a given class.

        **Rules:**
            - Classes that use css property names or aliases must set a property value.

        **Valid:**
            - ``font-weight-700`` is valid because ``700`` is a valid ``font-weight`` value.
            - ``fw-700`` is valid because it ``fw-`` is a valid alias for ``font-weight``
            - ``bold`` is valid because the ``bold`` alias implies a property name of ``font-weight``

        **Invalid:**
            - ``font-weight`` by itself is a property name, but does not include a property value.
            - ``fw-`` by itself is a property alias, but does not include a property value.
            - ``700`` does imply ``font-weight``, but is not a valid CSS selector as it may not begin with a number.

        :type css_class: str

        :param css_class: A class name containing a property name and value pair, or just a property value
            from which the property name may be inferred.
        :return: (str) -- Class returns the property_name OR if unrecognized returns ``''``.

        """
        for property_name, aliases in ordered_property_dict.items():
            # Try identical 'key' match first. An exact css_class match must also end with a '-' dash to be valid.
            if css_class == property_name or css_class == (property_name + '-'):    # No property value included.
                return ''

            if css_class.startswith(property_name + '-'):
                return property_name

            # Sort the aliases by descending string length
            # This is necessary when the css_class == 'bolder' since 'bold' appears before 'bolder'
            aliases = sorted(aliases, key=len, reverse=True)

            # Try matching with alias. An alias is not required to end with a dash, but could if it is an abbreviation.
            for alias in aliases:
                if css_class == alias and alias.endswith('-'):                      # No property value included.
                    return ''
                if css_class.startswith(alias):
                    return property_name

            # Try matching a regex pattern.
            try:
                regexes = property_regex_dict[property_name]
                for regex in regexes:
                    if len(findall(regex, css_class)) == 1:
                        return property_name
            except KeyError:
                pass

        # No match found.
        return ''

    @staticmethod
    def strip_property_name(property_name='', css_class=''):
        """
        Strip property name from css_class if applicable and return the css_class.

        :raises ValueError: If either property_name or css_class are empty or only contain whitespace values.

        :type property_name: str
        :type css_class: str

        :param property_name: Presumed to match a key or value in the ``property_alias_dict``.
        :param css_class: This value may or may not be identical to the property_value.
        :return: (str) -- Returns the encoded property value portion of the css_class.

        **Examples:**

        >>> ClassPropertyParser.strip_property_name('padding', 'padding-1-2-1-2')
        '1-2-1-2'
        >>> ClassPropertyParser.strip_property_name('font-weight', 'bold')
        'bold'
        >>> ClassPropertyParser.strip_property_name('', 'padding-1-2-1-2')
        ValueError
        >>> ClassPropertyParser.strip_property_name('font-weight', '    ')
        ValueError

        """
        deny_empty_or_whitespace(string=css_class, variable_name='css_class')
        deny_empty_or_whitespace(string=property_name, variable_name='property_name')

        property_name += '-'                                        # Append '-' to property to match the class format.

        if css_class.startswith(property_name):                     # Strip property name
            return css_class[len(property_name):]
        else:                                                       # If it doesn't have a property name ignore it.
            return css_class

    @staticmethod
    def alias_is_abbreviation(possible_alias=''):
        """
        Detects if the alias is an abbreviation e.g. ``fw-`` stands for ``font-weight-``.
        Abbreviated aliases are found in ``datalibrary.property_alias_dict``.

        :type possible_alias: str

        :param possible_alias: A value that might be an alias.
        :return: (bool) -- True if possible_alias ends with a dash ``-``.

        **Examples:**

        >>> ClassPropertyParser.alias_is_abbreviation('fw-')
        True
        >>> ClassPropertyParser.alias_is_abbreviation('bold')
        False

        """
        return possible_alias.endswith('-')

    def get_property_abbreviations(self, property_name=''):
        """
        Returns a list of all property abbreviations appearing in ``property_alias_dict``.

        :raises KeyError: If ``property_name`` is not found in ``property_alias_dict``.

        :param property_name:
        :return: (list) -- A list of all property abbreviations appearing in ``property_alias_dict``.

        **Example:**

        Assume the following key, value pair occurs in ``property_alias_dict``:

            ``'background-color': {'bgc-', 'bg-c-', 'bg-color-', },``

        >>> property_parser = ClassPropertyParser()
        >>> property_parser.get_property_abbreviations('background-color')
        ['bgc-', 'bg-c-', 'bg-color-']
        >>> property_parser.get_property_abbreviations('invalid_property_name')
        KeyError

        """
        property_abbreviations = list()
        for alias in property_alias_dict[property_name]:
            if self.alias_is_abbreviation(possible_alias=alias):
                property_abbreviations.append(alias)
        return property_abbreviations

    def strip_property_abbreviation(self, property_name='', css_class=''):
        """
        Strip property abbreviation from css_class if applicable and return the result.

        :raises ValueError: If either property_name or css_class are empty or only contain whitespace values.

        :type property_name: str
        :type css_class: str

        :param property_name: Presumed to match a key or value in the ``property_alias_dict``
        :param css_class: Initially this value may or may not contain the property_name.
        :return: (str) -- Returns the encoded property value portion of the css_class.

        **Examples:**

        >>> property_parser = ClassPropertyParser()
        >>> property_parser.strip_property_abbreviation('color', 'c-lime')
        'lime'
        >>> property_parser.strip_property_abbreviation('', 'c-lime')
        ValueError
        >>> property_parser.strip_property_abbreviation('color', '  ')
        ValueError

        """
        deny_empty_or_whitespace(string=css_class, variable_name='css_class')
        deny_empty_or_whitespace(string=property_name, variable_name='property_name')

        property_abbreviations = self.get_property_abbreviations(property_name=property_name)

        for property_abbreviation in property_abbreviations:
            if css_class.startswith(property_abbreviation):
                return css_class[len(property_abbreviation):]
        return css_class

    # Property Value
    #
    def get_encoded_property_value(self, property_name='', css_class=''):
        """
        Strip property name or alias abbreviation prefix from front, pseudo item, and property priority designator.
        Returns the encoded_property_value.

        The term encoded_property_value means a property value that represents a css property value,
        and may or may not contain dashes and underscores.

        :raises ValueError: If either property_name or css_class are empty or only contain whitespace values.

        :type property_name: str
        :type css_class: str

        :param property_name: Name of CSS property that matches a key in ``property_alias_dict``.
        :param css_class: An encoded css class selector that may contain property name, value, and priority designator.
        :return: (str) -- Returns only the encoded_property_value after the name and priority designator are stripped.

        **Examples:**

        >>> property_parser = ClassPropertyParser()
        >>> property_parser.get_encoded_property_value('font-weight', 'fw-bold-i')          # abbreviated property_name
        'bold'
        >>> property_parser.get_encoded_property_value('padding', 'padding-1-10-10-5-i')    # standard property_name
        '1-10-10-5'
        >>> property_parser.get_encoded_property_value('height', 'height-7_25rem-i')        # contains underscores
        '7_25rem'
        >>> property_parser.get_encoded_property_value('font-style', 'font-style-oblique')  # no priority designator
        'oblique'
        >>> property_parser.get_encoded_property_value('', 'c-lime')
        ValueError
        >>> property_parser.get_encoded_property_value('color', '  ')
        ValueError

        """
        css_class = self.strip_property_name(property_name, css_class)
        css_class = self.strip_property_abbreviation(property_name, css_class)
        css_class = self.strip_pseudo_item(css_class)
        encoded_property_value = self.strip_priority_designator(css_class)
        return encoded_property_value

    @staticmethod
    def get_property_value(property_name='', encoded_property_value=''):
        """
        Accepts an encoded_property_value that's been stripped of it's property named and priority
        Uses CSSPropertyValueParser, and returns a valid css property value or ''.

        Usage Note: Invalid CSS values can be returned by this method.  CSS validation occurs at a later step.

        :raises ValueError: If either property_name or css_class are empty or only contain whitespace values.

        :type property_name: str
        :type encoded_property_value: str

        :param property_name: Name of CSS property that matches a key in ``property_alias_dict``.
        :param encoded_property_value: A property value that may or may not contain dashes and underscores.
        :return: (str) -- An unvalidated / potential CSS property value.

        **Examples:**

        >>> property_parser = ClassPropertyParser(set(), False)                 # Turn OFF unit conversion.
        >>> property_parser.get_property_value('font-weight', 'bold')           # Special case: alias == property value
        'bold'
        >>> property_parser.get_property_value('padding', '1-10-10-5')          # Multi-value encoding contains dashes.
        '1px 10px 10px 5px'
        >>> property_parser.get_property_value('width', '7_25rem')              # Single value contains underscores.
        '7.25rem'
        >>> property_parser.get_property_value('margin', '1ap-10xp-3qp-1mp3')   # Invalid CSS returned.
        '1a% 10x% 3q% 1mp3'
        >>> property_parser.get_property_value('', 'c-lime')
        ValueError
        >>> property_parser.get_property_value('color', '  ')
        ValueError

        """
        deny_empty_or_whitespace(string=property_name, variable_name='property_name')
        deny_empty_or_whitespace(string=encoded_property_value, variable_name='encoded_property_value')

        value_parser = CSSPropertyValueParser(property_name=property_name)
        value = value_parser.decode_property_value(value=encoded_property_value)
        return value

    # Property Priority
    #
    def is_important(self, css_class=''):
        """
        Tests whether the css_class ends with the importance_designator.

        :raises ValueError: If the css_class is empty or only contain whitespace values.

        :type css_class: str

        :param css_class: An encoded css class selector that may contain property name, value, and priority designator.
        :return: (bool) -- Returns True if the css_class ends with the importance_designator. Otherwise, returns False.

        **Examples:**

        >>> property_parser = ClassPropertyParser()
        >>> property_parser.is_important('line-through-i')
        True
        >>> property_parser.is_important('line-through')
        False
        >>> property_parser.is_important('')
        ValueError
        >>> property_parser.is_important('  ')
        ValueError

        """
        css_class = self.strip_pseudo_item(css_class=css_class)
        return css_class.endswith(self.importance_designator)

    def strip_priority_designator(self, css_class=''):
        """
        Removes the priority designator, if necessary.

        :raises ValueError: If the css_class is empty or only contain whitespace values.

        :type css_class: str

        :param css_class: A css_class that may or may not contain a priority designator.
        :return: (str) -- If necessary, strip priority designator from the end of css_class and return the string.
            If the importance_designator is not found, then it returns the unchanged css_class.

        >>> property_parser = ClassPropertyParser()
        >>> property_parser.strip_priority_designator('blink-i')
        'blink'
        >>> property_parser.strip_priority_designator('blink')
        'blink'
        >>> property_parser.strip_priority_designator('')
        ValueError
        >>> property_parser.strip_priority_designator('     ')
        ValueError

        """
        if self.is_important(css_class=css_class):
            return css_class[:-len(self.importance_designator)]
        else:
            return css_class

    def get_property_priority(self, css_class=''):
        """
        Returns the keyword ``'important'`` or ``''``. These are in the form that ``cssutils`` understands.

        :raises ValueError: If the css_class is empty or only contain whitespace values.

        :type css_class: str

        :param css_class: An encoded css class selector that may contain property name, value, and priority designator.
        :return: (str) -- Returns the keyword ``important`` if the property priority is set to important.
            Otherwise, it returns ''.

        >>> property_parser = ClassPropertyParser()
        >>> property_parser.get_property_priority('text-align-center-i')
        'important'
        >>> property_parser.get_property_priority('text-align-center')
        ''
        >>> property_parser.get_property_priority('')
        ValueError
        >>> property_parser.get_property_priority('     ')
        ValueError

        """
        css_class = self.strip_pseudo_item(css_class=css_class)
        return 'important' if self.is_important(css_class=css_class) else ''

    def is_valid_pseudo_format(self, pseudo_item='', css_class=''):
        """ Returns True if the CSS class contains a properly formatted pseudo class or element, and False otherwise.

        **Rules**

        - The ``css_class`` may end with '-' + pseudo_item. Example prefix: ``color-green-i-hover``

        - The ``css_class`` may end with '-' + pseudo_item + '-i'. Example prefix: ``color-green-hover-i``

        - The ``css_class`` must be longer than the suffix or suffix + '-i'.

        :type pseudo_item: str
        :type css_class: str

        :param pseudo_item: Either a pseudo class or pseudo element as defined
            `here <http://www.w3schools.com/css/css_pseudo_classes.asp>`__
        :param css_class: This value may or may not be identical to the property_value.
        :return: *bool* -- Returns True if the CSS class contains the pseudo item, and False otherwise.

        """
        deny_empty_or_whitespace(string=pseudo_item, variable_name='pseudo_item')
        deny_empty_or_whitespace(string=css_class, variable_name='css_class')

        suffix = '-' + pseudo_item
        isuffix = suffix + self.importance_designator

        if css_class.endswith(suffix) and len(css_class) > len(suffix):     # '-i-hover' case
            return True

        if css_class.endswith(isuffix) and len(css_class) > len(isuffix):   # '-hover-i' case
            return True

        return False

    def set_pseudo_class(self, css_class=''):
        """ Check the pseudo class set for a match. Sets ``pseudo_class`` if found. Otherwise, returns ''.

        :raises ValueError: If either property_name or css_class are empty or only contain whitespace values.

        :type css_class: str

        :param css_class: This value may or may not be identical to the property_value.
        :return: None

        """
        deny_empty_or_whitespace(string=css_class, variable_name='css_class')

        self.pseudo_class = ''
        for pseudo_class in pseudo_classes:
            if self.is_valid_pseudo_format(pseudo_class, css_class):
                self.pseudo_class = pseudo_class

    def set_pseudo_element(self, css_class=''):
        """ Check the pseudo element set for a match. Sets the ``pseudo_element`` if found. Otherwise, returns ''.

        :raises ValueError: If either property_name or css_class are empty or only contain whitespace values.

        :type css_class: str

        :param css_class: This value may or may not be identical to the property_value.
        :return: None

        """
        deny_empty_or_whitespace(string=css_class, variable_name='css_class')

        self.pseudo_element = ''
        for pseudo_element in pseudo_elements:
            if self.is_valid_pseudo_format(pseudo_element, css_class):
                self.pseudo_element = pseudo_element

    def strip_pseudo_item(self, css_class=''):
        """ Strip property name from css_class if applicable and return the css_class.

        *Note:* This method must be called after ``strip_property_name()``.

        :raises ValueError: If either pseudo_item or css_class are empty or only contain whitespace values.

        :type css_class: str

        :param css_class:  _value.
        :return: (str) -- Returns the encoded property value portion of the css_class.

        **Examples:**

        >>> ClassPropertyParser.strip_pseudo_item('hover-padding-1-2-1-2')
        '1-2-1-2'
        >>> ClassPropertyParser.strip_pseudo_item('before-bold')
        'bold'
        >>> ClassPropertyParser.strip_pseudo_item('after-1-2-1-2')
        ValueError
        >>> ClassPropertyParser.strip_pseudo_item('    ')
        ValueError

        """
        deny_empty_or_whitespace(string=css_class, variable_name='css_class')

        self.set_pseudo_class(css_class=css_class)
        self.set_pseudo_element(css_class=css_class)

        if self.pseudo_class:                                       # Prepend '-' to property to match the class format.
            pseudo_item = '-' + self.pseudo_class
            return css_class.replace(pseudo_item, '')
        elif self.pseudo_element:
            pseudo_item = '-' + self.pseudo_element
            return css_class.replace(pseudo_item, '')
        else:                                                       # No pseudo encoding found.
            return css_class

redpajama_set_name: RedPajamaGithub


text:
Q: how to use foreach loop into another foreach loop to traverse two different datatables in codeigniter? Is it possible to use foreach loop within foreach loop to traverse through two different database tables to get result ?
I want to show product list that inserted by admin_1 to its users and customers ?
and I keep products and users in two different tables. I'm using an admin_id to to distinguish products and users.
But I didn't get that how to get exact result.
Any help is appreciated.
here is my code :
<?php if (!empty($products)) { ?>
                    <?php foreach ($products as $product) { ?>

                        <?php if((($this->session->userdata('user_id')) == ($product->id_admin)) || (userdata('department') == 0 )) { ?>

A: The solution is always using UNION if you want to combine the results of two different tables. See https://dev.mysql.com/doc/refman/5.7/en/union.html
Here is a simple UNION example for your case:
<?php

public function retrieve_products_users_by_username($this_user) { // place this function into your model
    $this->db->where('username',$this_user);
    $this->db->select('id');
    $this->db->limit(1);
    $query_for_this_user = $this->db->get('users'); // whatever table you store the admin_1
    $this_user_id = $query_for_this_user->row_array()['id'];

    $this->db->select('products.id_admin as id_admin ,products.title as column1, products.icon as column2, products.descrption as column3 ...');
    $this->db->from('products');
    $products_query = $this->db->get_compiled_select();

    $this->db->select('users.id_admin as id_admin ,users.username as column1, users.profile_picture as column2, users.address as column3 ...');
    $this->db->from('users');
    $users_query = $this->db->get_compiled_select();

    $query = $this->db->query('SELECT * FROM (' . $products_query . ' UNION ' . $users_query . ') AS u WHERE u.id_admin='.$this_user_id);
    return $query->result_array();
}

?>

I wrote this function with limited amount of information that you have provided in your question and comments. It could be a little bit different in reality, according the your table column names etc.
Anyway when you fully prepared this function in your model, you can call it from your controller like this:
<?php

$this->data['results'] = $this->YOURMODELNAME_model->retrieve_products_users_by_username('admin_1');

?>

As I said UNION is your solution. JOIN isn't your solution because:

*

*JOIN simply concatenates two table horizontally

*UNION simply concatenates two table vertically


Question: What happened for him to have a change in heart and ask for Peace?
Summary: Anwar Sadat replaced Nasser as the leader of Egypt in 1970. This was due to the fact that Egypt had lost 3 prior wars to Israel. Sadat removed Soviet influence as he felt they couldn't align with atheist soviets. He planned for the Yom Kippur War in 1973 but then turned towards peace. This led to him going to Israel to ask for peace and got him a nobel peace prize.


text:
package com.example.bond.tourguide;

/**
 * Created by bond on 2/27/2017.
 */

public class News {

    private String mTitle;

    private String mDate;

    public News(String title, String date){
        mDate = date;
        mTitle = title;
    }

    public String getTitle(){
        return mTitle;
    }

    public String getDate(){
        return mDate;
    }

}


Asia TV Limited ("we", "us", "ATL") values the trust placed in us by data subject ("you", "your", "user", "subscriber") and therefore, we follow the highest standards of privacy guidelines to protect the information shared by you with us.
By using ZEE Services (for example, when you register for an account, purchase a service, enter a contest or promotion, communicate with us, on our sites or applications), you agree to provide consent to our collection, use and sharing of your personal information as described in this policy. In some cases, particularly if you reside in a country governed by a data protection regulation, we may ask you to provide explicit consent to access our rvices before proceeding for further operations.
Activities on the Zee Services such as type of content, watch history, search queries etc.
We may track certain information about you based upon your behaviour on the Zee Services We use this information for conducting internal research on our users' demographics, devices, interests, and behaviour to better understand, protect and serve our users. This information is compiled and analysed on an aggregated basis. This information may include the platform that you just visited (whether this platform is on Zee Services or not), which platform you next visit, your computer browser information.
If you send us personal correspondence, such as emails or letters, or if other users or third parties send us correspondence about your activities or postings on the Zee Services, we may collect and store such information.
We identify and use Your IP address to help diagnose any problems with our server, and to administer ZEE5. Your IP address is also used to help identify you and to gather broad demographic information to customize your experience on the Zee Services .
We will occasionally ask you to complete optional online surveys. These surveys may ask you for contact information and demographic information (like zip code, age, etc.). We use this data to tailor your experience on the Zee Services , providing you with content that we think you might be interested in and to display content according to your preferences.
Twitter – Email id, twitter handle, read tweets from your timeline and see who the user is following.
Based on Your purchase of a subscription package, our payment gateway partners including payment via Apple iTunes and Samsung Smart Pay may collect information with respect to your credit/debit card details or other bank account details along with your billing address. This information is stored by our payment gateway partners. For instance, the Zee Services will be using third party payment gateway partners to process and facilitate the payment of your subscription fee to the Zee Services for providing you access to the subscription. Please note that the Zee Services do not directly collect any financial information such as credit card or debit card or net banking details from you. Such payment gateway partners are not controlled by us. When you visit such payment gateways you do so at your own risk. These payment gateways may have their own privacy policies in place, which we recommend you review if you visit any such payment gateways. We do not assume any responsibility or liability for such payment gateways, the content of such payment gateways and their privacy practices, nor do we endorse them. We encourage you to familiarize yourself with the privacy statements provided by such payment gateways prior to providing them with information about you or entering into any transactions with them.
While transacting with these payment gateways, you may provide your financial information including without limitation your bank account details, credit card account details or your details pertaining to any payment settlement or pre-paid instrument service provider. You understand, agree and acknowledge that the Zee Services never receive your financial and payment information from these payment gateways. Your Personal Information, Sensitive Personal Data or Information and financial information will be dealt by these payment gateways in accordance with their respective privacy policies and other terms and conditions and Zee shall not be liable, accountable or responsible for Your Personal Information, Sensitive Personal Data and Financial Information which you provide to these payment gateways.
communicate with you concerning our service (for example by email, push notifications text messaging, and online messaging channels), so that we can send you news about ZEE5, details about new features and content available on the Zee Services, and special offers, promotional announcements, and consumer surveys, and to assist you with operational requests such as password reset requests.
We'll share or disclose your personal information outside of ATL when we have your consent. For example, providing SMS and E-mail related services such as marketing newsletters, promotions and offers.
In the event ATL is merged with or acquired by another company or in case of re-organization or re-structuring of business, we and our affiliates may share your personal information, wholly or in part, with another business entity.
We may retain some of your personal information as necessary for our legitimate business interests, such as fraud detection and prevention and enhancing safety. For example, if we suspend a Zee Services account for fraud or safety reasons, we may retain certain information from that account to prevent that user from opening a new account in the future.
Information you have shared with others (e.g., Reviews, forum postings) may continue to be publicly visible on the Zee Services , even after your account is cancelled. However, attribution of such information to you will be removed. Additionally, some copies of your information (e.g., log records) may remain in our database, but are disassociated from personal identifiers.
Because we maintain copies of the Zee Services to protect from accidental or malicious loss and destruction, residual copies of your personal information may not be removed from our backup systems for a limited period of time.
You can write to our data protection officer in case of any grievance or compliant. You have the right to complaint about the data processing activities carried out by ATL before the competent data protection authorities.
ZEE5 is not intentionally designed for or directed at persons less than 16 years of age. ATL does not knowingly permit any person who is under 16 years of age to register with the services or to provide any other personally identifying information. If ATL becomes aware that any personally identifiable information of persons less than 16 years of age has been collected on the Zee Services without verified parental consent, then ATL will take the appropriate steps to delete any such information and notify the parent.
However, we consider it the responsibility of parents to monitor their children's use of our services. Nevertheless, it is our policy not to collect and process any personal information from children below 16 years of age or offer to send any promotional materials to persons in that category. ATL does not seek or intend to seek or receive any personal information from children. Should a parent or guardian have reasons to believe that a minor has provided ATL with personal information without their prior consent, please contact our customer support team to ensure that the personal information is removed from the Zee Services.
We are continuously implementing and updating administrative, technical, and physical security measures to help protect your information against unauthorized access, loss, destruction, or alteration. Some of the safeguards we use to protect your information are firewalls and data encryption, and information access controls. If you know or have reason to believe that your Zee Services account credentials have been lost, stolen, altered, or otherwise compromised or in case of any actual or suspected unauthorized use of your account, please contact us by contacting our customer support team.
The data controller for the Zee Services is Asia TV Limited (ATL) with the business address of: Hygeia Building, 66-68 College Road, Harrow, United Kingdom, HA1 1BE.
The data protection officer (DPO) appointed by ATL is Mr. Gordon Finlayson who can be contacted at dpo@zee5.com.