text:
Keep Your Meat Safe From E. Coli
Meat in a single burger could come from multiple cows.
By RICHARD BESSER and GITIKA AHUJAvia
November 8, 2009, 10:42 PM
Nov. 9, 2009 — -- E. coli infections from strain 0157:H7 have been blamed for sickening 70,000 people every year. Recently, two outbreaks in New York and Massachusetts took two lives and sickened dozens more, including 11-year-old Austin Richmond.
"I've never seen anything come on so strong," said Austin's mother, Jaimee Richmond. "He was fine when he came home and by 4 o'clock in the morning, he was having stomach cramps, [was] nauseous, vomiting."
Austin's sickness was traced to a cheeseburger he ate at a school camp. According to experts, infected hamburger meat is a leading cause of E. coli-related sickness.
A "Good Morning America" investigation found that what is generally thought to be a simple meal -- the classic American burger -- can be much more complex.
Expert: Hamburger Meat From Single Cow a 'Fantasy'
For its investigation, "Good Morning America" purchased six packages of 100 percent ground beef patties from major supermarket chains in Seattle and took the patties to IEH Laboratories, one of the meat industry's largest independent testing labs.
"We isolate DNA from each," said Mansour Samadpour of IEH. "We looked at eight pieces of meat from each hamburger patty."
When the results came back, the lab reported at least four cows had been found in each patty -- and sometimes as many as eight.
"Unfortunately, I don't think customers realize what goes into a single hamburger," Sarah Klein of the Center for Public Interest told "GMA." "I think we have a fantasy it's still coming from a single cow."
According to American Meat Institute President J. Patrick Boyle, there is a reason that beef from multiple cows winds up in a single hamburger.
"Our ground beef supply is a combination of different types of meat in proportion to certain levels of fat," Boyle said. "So one has to have multiple sources of the raw material to make the finished product that Americans enjoy so much."
But it's the multiple sources that can also make your hamburger vulnerable to bacteria like E. coli, since a single infected cow could be mixed into lots of ground beef.
Critics Push for Tougher Testing Standards
Slaughterhouses are federally required to test their meat for E. coli and meat processors also have to have a safety plan, which often includes testing of the ground beef, although that is not required.
"What we require is that the product is safe," said Elisabeth Hagen, chief medical officer of the U.S. Department of Agriculture. "A lot of companies will utilize finished product testing in order to help ensure that. Other companies will utilize testing of the incoming source material."
Some critics say that's not enough, and they are pushing for tougher federal standards for testing ground beef.
"We need to see as much testing as possible all the way along the production chain so we can catch a problem early on," Klein said. "Right now, that's just not being done."
According to Hagen, testing would not guarantee safety.
"You know testing alone does not ensure safety of a product. It's important to look all the way back through the entire continuum," Hagen said. "The product needs to be made safely and testing at the end product provides some additional assurances, but it's not the only thing that is going to guarantee the safety of a product."
The USDA has inspectors at every meat facility, but critics complain the agency conducts only 15,000 spot tests a year for E. coli.
"E. coli is in ground beef because cow manure got into your food," Klein said. "So the fact that it continues to occur means there's a failure in the industry and the USDA to prevent the problem."
Hagen said looking into doing everything the agency can to keep ground beef safe is "the most important question."
"We know we have improvements to make," she said.
"You have to recall we are dealing with a fresh product," Boyle said. "But as we have tried to comply with zero-tolerance standards, we've made enormous progress over the last 10 years."
How to Keep Your Meat Safe
The key to defending yourself against E. coli is in the cooking, according to Hagen.
"The safest way to ensure that your meat is properly cooked is to use a meat thermometer," Hagen said. "And while the risk is low [with a meat thermometer], the risk is not zero."
A burger should be cooked to 160 degrees, so that there is no red meat left in the center of the burger.
Instant-read meters can be purchased for a few dollars at most kitchen supply stores.
"The main reason that ground beef is a higher risk product than whole muscle cuts is a matter of surface area," the USDA warns. "When [the] product is ground the surface area is increased exponentially, and any remaining contamination on the outside of source material now has the potential to become incorporated throughout the ground product" and right into your burger or meatball meal.
Some consumers think that getting your meat ground fresh from a whole muscle cut at the supermarket is a safer option, but the USDA advises against this option. The agency reports that these whole muscle cuts are meant to be reserved for steaks and roasts and "are not generally handled the same way."
Some plants do use antimicrobial treatments and testing on these cuts just like they do for beef trim and ground beef, but processors assume that these cuts will be "prepared and consumed intact." On an intact cut of meat, any bacteria on the surface of the cut is likely killed when its grilled. The fear is that if these products are ground at the supermarket, any contaminants are ground into the product causing the meat to "take on the attendant risks of ground product."
Bottom line, the USDA does not recommend that consumers get their beef ground at the supermarket by your butcher. The USDA considers the grinding of these kinds of primal and subprimal cuts at retail to be a high risk practice -- there have been a number of recalls linked to this problem in recent years.
The safest option is to cook your burger to 160 degrees.


text:
package com.google.flatbuffers;

import static com.google.flatbuffers.Constants.*;

import java.nio.ByteBuffer;

/// @file
/// @addtogroup flatbuffers_java_api
/// @{

/**
 * Class that collects utility functions around `ByteBuffer`.
 */
public class ByteBufferUtil {

	/**
     * Extract the size prefix from a `ByteBuffer`.
     *
     * @param bb a size-prefixed buffer
     * @return the size prefix
     */
    public static int getSizePrefix(ByteBuffer bb) {
        return bb.getInt(bb.position());
    }

	/**
     * Create a duplicate of a size-prefixed `ByteBuffer` that has its position
     * advanced just past the size prefix.
     *
     * @param bb a size-prefixed buffer
     * @return a new buffer on the same underlying data that has skipped the
     *         size prefix
     */
    public static ByteBuffer removeSizePrefix(ByteBuffer bb) {
        ByteBuffer s = bb.duplicate();
        s.position(s.position() + SIZE_PREFIX_LENGTH);
        return s;
    }

}

/// @}

redpajama_set_name: RedPajamaGithub


text:
HomeUncategorizedSingle Paper Ballot: what does the law that promotes the opposition in...
Single Paper Ballot: what does the law that promotes the opposition in Argentina say in the face of the 2023 elections and why does it bother Peronism
Published: 3 Jun 2022 02:00 GMT
The project proposes to unify all the electoral offer for national positions in a single form. The opposition in Argentina is trying to advance its project of Single Paper Ballot for the election of national positions, an initiative that seeks to concentrate all the candidacies in a single form that, Once the voter has selected their options, it will be deposited in a ballot box.
The idea has the support of an important sector of parliament, but it is flatly rejected by the ruling party. It happens that, if approved, would break with a proselytizing tradition of Peronism, which consists of house-to-house distribution of ballots with the name and face of their candidates.
Although it is not the only one that is accustomed to doing so, it allows the militant apparatus of Justicialism and its allies to have greater deployment in throughout the country than any other political organization, mainly in the popular neighborhoods.
If the regulations are approved, it would modify in that propaganda order the scenario of the electoral campaign for 2023, when the presidential and legislative elections will be held. To this must be added that the image of the Government is not going through its best moment, due to the difficulties in solving economic problems with a direct impact on the families' pockets, such as high inflation.
Today we signed the Single Ballot Opinion in Plenary Commissions. It is an advance to improve the voting system for more equity and transparency and so that no one is left without voting due to the lack of ballots. Lower economic and environmental costs and definitely less cheating. pic.twitter.com/3MdQzaahYA
– Margarita Stolbizer (@Stolbizer) May 31, 2022
In this scenario, national deputies from different opposition blocs, led by Together for Change (macrismo), asked for a special session dedicated to to deal with the project. For it to be approved in the lower house 129 votes are needed, which the opposition would reach without problems .
The blocks that support the project have already managed to obtain a unified opinion in the plenary session of the Constitutional Affairs, Justice and Budget commissions. The main stumbling block would be in the Senate, where the ruling party has a majority and maintains control of key commissions.
For the macrismo, ending the current system of multiple ballots would help counteract "political patronage", since he considers that with the personalized delivery of ballots, citizens are urged to vote for a certain candidate in exchange for some gift or social plan, although, he clarifies, "it is not the solution definitive".
"Magic solutions in democracy do not exist. It will not make political patronage disappear, which is perhaps the biggest vice that the system has, because it turns voters into hostages, but it will reduce the weight of the party apparatuses ", said the macrista deputy Silvia Lospenato to the newspaper La Nación.
And she took advantage of the parliamentary discussion to criticize the management of the Front of All. "This voting instrument is not going to solve inflation, nor poverty pensions, nor solve insecurity, nor is it going to recover the school days that were lost, but it will assure each citizen that they can choose with greater freedom who think you can solve those problems," he said.
For her part, the ruling deputy Paula Penacca said that the Single Ballot project seems like "a media show", instead of a debate that aims to improve the current voting system , which, he considered, has "no problem", since "there was no complaint of fraud or lack of transparency"
. In addition, he targeted the opposition for wanting to "destabilize the national government".
"It seems more like a debate to build a media show than to find a better voting system for the country," Penacca questioned in an interview with El Destape radio. And he considered that if this system is implemented, it will be "very difficult to find the candidate you want to vote for",due to the extension that the ballots could have in the face of a wide electoral offer.
This is how the San Isidro Single Ballot would look if the opposition project advances. A total nonsense: imagine the confusion in the dark room, the time of each voter. Let's discuss seriously. pic.twitter.com/tO0Jzfpykn
– Gustavo Barrera (@BarreraGusOk) May 31, 2022
The initiative was also rejected by the head of the Executive Cabinet, Juan Manzur, who stated at a press conference on Wednesday that the Government "does not agree" with the Single Ballot project "as proposed" by the opposition in Congress.
When asked about the possibility of the president vetoing the law if it is approved, the official asked to "wait" to see how the legislative process progresses and not make "futurology" .
At the moment, everything seems to indicate that the Single Paper Ballot system will be applied for the PASO primaries and the general elections to elect president, vice president, senators, deputies and legislators of the Mercosur, although in these last two categories only names and photos of the first five candidates will appear.
Stoltenberg warns that the conflict in Ukraine could be "long-term" and suggests the West prepare
They rescue a sea turtle from a shark attack and lay 100 eggs after being operated on

redpajama_set_name: RedPajamaCommonCrawl


Sculpture. Photography. Paintings. Collage. Going to an Open Artist Studios is an opportunity to see creativity at work and witness a masterpiece in the making!
Admire some of the best art in the county at The Westchester Biennial 2012, a juried exhibition featuring 20 emerging and established local artists, on view now through June 17, at The College of New Rochelle's Castle Gallery. These works, all produced in the past two years, range from painting to photography, sculpture to installation and more. Created in 1998, the Biennial aims to recognize the diversity and innovation of artists living and working within the surrounding community. Open exclusively to Westchester artists, this is the only show of its kind.
Those selected from the nearly 100 applicants were chosen by a prestigious and experienced panel of individuals from outside the county, including artist Chana Benjamin, founder of New Century Artists, Inc.; Mary Birmingham, Curator at the Visual Arts Center of New Jersey; and artist and environmental activist Ruth Hardinger. There will be an opening reception in the Castle Gallery on Sunday, April 15, from 2-4pm. For more info, visit: cnr.edu/cg or call (914) 654-5423.
Let the arts heal your soul.
Greenwich Hospital proudly supports the arts in Westchester County. Come visit us at www.greenwichhospital.org.


text:
Former Head Of Star Wars Program Says Cheney Main 9/11 Suspect
Thread: Former Head Of Star Wars Program Says Cheney Main 9/11 Suspect
Official version of events a conspiracy theory, says drills were cover for attacks
http://www.prisonplanet.com/articles...ainsuspect.htm
Paul Joseph Watson & Alex Jones/Prison Planet.com | April 4 2006
The former head of the Star Wars missile defense program under Presidents Ford and Carter has gone public to say that the official version of 9/11 is a conspiracy theory and his main suspect for the architect of the attack is Vice President Dick Cheney.
Dr. Robert M. Bowman, Lt. Col., USAF, ret. flew 101 combat missions in Vietnam. He is the recipient of the Eisenhower Medal, the George F. Kennan Peace Prize, the President's Medal of Veterans for Peace, the Society of Military Engineers Gold Medal (twice), six Air Medals, and dozens of other awards and honors. His Ph.D. is in Aeronautics and Nuclear Engineering from Caltech. He chaired 8 major international conferences, and is one of the country's foremost experts on National Security.
Bowman worked secretly for the US government on the Star Wars project and was the first to coin the very term in a 1977 secret memo. After Bowman realized that the program was only ever intended to be used as an aggressive and not defensive tool, as part of a plan to initiate a nuclear war with the Soviets, he left the program and campaigned against it.
In an interview with The Alex Jones Show aired nationally on the GCN Radio Network, Bowman (pictured below) stated that at the bare minimum if Osama bin Laden and Al-Qaeda were involved in 9/11 then the government stood down and allowed the attacks to happen. He said it is plausible that the entire chain of military command were unaware of what was taking place and were used as tools by the people pulling the strings behind the attack.
Bowman outlined how the drills on the morning of 9/11 that simulated planes crashing into buildings on the east coast were used as a cover to dupe unwitting air defense personnel into not responding quickly enough to stop the attack.
"The exercises that went on that morning simulating the exact kind of thing that was happening so confused the people in the FAA and NORAD....that they didn't they didn't know what was real and what was part of the exercise," said Bowman
"I think the people who planned and carried out those exercises, they're the ones that should be the object of investigation."
Asked if he could name a prime suspect who was the likely architect behind the attacks, Bowman stated, "If I had to narrow it down to one person....I think my prime suspect would be Dick Cheney."
Bowman said that privately his military fighter pilot peers and colleagues did not disagree with his sentiments about the real story behind 9/11.
Bowman agreed that the US was in danger of slipping into a dictatorship and stated, "I think there's been nothing closer to fascism than what we've seen lately from this government."
Bowman slammed the Patriot Act as having, "Done more to destroy the rights of Americans than all of our enemies combined."
Bowman trashed the 9/11 Commission as a politically motivated cover-up with abounding conflicts of interest, charging, "The 9/11 Commission omitted anything that might be the least bit suspicious or embarrassing or in any way detract from the official conspiracy so it was a total whitewash."
"There needs to be a true investigation, not the kind of sham investigations we have had with the 9/11 omission and all the rest of that junk," said Bowman.
Asked if the perpetrators of 9/11 were preparing to stage another false-flag attack to reinvigorate their agenda Bowman agreed that, "I can see that and I hope they can't pull it off, I hope they are prevented from pulling it off but I know darn good and well they'd like to have another one."
A mainstay of the attack pieces against Charlie Sheen have been that he is not credible enough to speak on the topic of 9/11. From the very start we have put forth eminently credible individuals only for them to be ignored by the establishment media. Physics Professors, former White House advisors and CIA analysts, the father of Reaganomics, German Defense Ministers and Bush's former Secretary of the Treasury, have all gone public on 9/11 but have been uniformly ignored by the majority of the establishment press.
Will Robert Bowman also be blackballed as the mainstream continue to misrepresent the 9/11 truth movement as an occupation of the fringe minority?
Bowman is currently running for Congress in Florida's 15th District.
PhilosophyGenius Guest
That's some serious shit.
Czechs Give Go-Ahead For U.S. "Son Of Star Wars" Base, Angers Russia
Ex-Star Wars Chief To Charge 9/11 Treason In Chicago
U.S. Plans "Star Wars" Bases In Eastern Europe
Star Wars III: Crisis In America


The Landmark class represents a landmark, i.e. a known location with a name. A landmark has a name by which it is known to the end user, a textual description, QualifiedCoordinates and optionally AddressInfo.
This class is only a container for the information. The constructor does not validate the parameters passed in but just stores the values, except the name field is never allowed to be null. The get* methods return the values passed in the constructor or if the values are later modified by calling the set* methods, the get* methods return the modified values. The QualifiedCoordinates object inside the landmark is a mutable object and the Landmark object holds only a reference to it. Therefore, it is possible to modify the QualifiedCoordinates object inside the Landmark object by calling the set* methods in the QualifiedCoordinates object. However, any such dynamic modifications affect only the Landmark object instance, but MUST not automatically update the persistent landmark information in the landmark store. The LandmarkStore.updateLandmark method is the only way to commit the modifications to the persistent landmark store.
When the platform implementation returns Landmark objects, it MUST ensure that it only returns objects where the parameters have values set as described for their semantics in this class.
Constructs a new Landmark object with the values specified.
Gets the AddressInfo of the landmark.
Gets the QualifiedCoordinates of the landmark.
Sets the AddressInfo of the landmark.
Sets the description of the landmark.
Sets the name of the landmark.
Sets the QualifiedCoordinates of the landmark.
description - description of the landmark. May be null if not available.
coordinates - the Coordinates of the landmark. May be null if not known.
addressInfo - the textual address information of the landmark. May be null if not known.
the AddressInfo of the landmark.
the description of the landmark, null if not available.
the name of the landmark.
the QualifiedCoordinates of the landmark. null if not available.
description - description for the landmark, null may be passed in to indicate that description is not available.


Have you ever wondered why, just when you've found the newest "must have" jewel to bring your customers running, the trend peaks and fizzles? Even if you're not a conspiracy theorist, at times it must seem like a phantom autocracy decrees that that which was just declared In (and which you just bought in quantity) is suddenly, unquestionably, Out.
Trend watching can be both fascinating and frustrating. But trends don't happen in a vacuum. A design trend in one industry is usually reflected across many other categories and is generally related to trends in society.
For example, the leading design trend in home furnishings right now is a resurgence of mid-20th century design. They say that when we grow up, we become our parents. I don't know if that's totally true, but we certainly are buying their furniture. The current catalogs from popular stores such as Crate & Barrel, Storehouse Furniture, and Pottery Barn show furniture that looks remarkably similar to the Danish Modern furniture of the 1950s and early 1960s. The geometric patterns on some of the patio dishes sold at Crate & Barrel this summer bore a remarkable resemblance to a set of dishes shown in an ad in a 1965 issue of JCK. The colors being shown in fashion and furniture today are updated versions of the infamous Avocado Green, Harvest Gold, and Autumn Rust.
The reasons for these design similarities are rooted in society. One of the most prevalent human trends— spanning all cultures and socioeconomic classes—is a feeling of insecurity and uncertainty, due to both rapidly advancing technology and a very speeded-up world. Designs reminiscent of the 1950s and 1960s evoke memories of a time that was—at least in theory—simpler. That nostalgia factor is an arrow aimed straight at Baby Boomers' hearts and wallets.
The same trends are increasingly evident in jewelry design. For example, the World Gold Council's newest catalog of gold jewelry trends features a few brooches that Grandma might have worn with her Sunday best. The newest global jewelry promotion from the Platinum Guild will be featuring heart-themed jewelry, a perennial classic that has held up through several decades of fashion turmoil. The aqua-and-avocado theme of many a 1965-era kitchen is replayed and updated in jewelry with some lovely aquamarine and peridot combinations.
But one of the most profound trends affecting jewelry design is the seismic shift in lifestyle of its primary end users—women. In the 1950s and 1960s, women generally received jewelry as a gift; they didn't buy it for themselves. Today the lion's share of gold jewelry, pearl jewelry, and silver jewelry is bought by women, and even De Beers and its marketing arms are finally taking notice of the American female's economic clout.
Back in the middle of the last century, women regarded their fine jewelry as "dress-up" items to be worn on special occasions, not as fashion accessories for everyday. Today, the fact that jewelry is as much an accessory as a pair of shoes is another example of a societal trend toward "casual luxury." This shift in perception means that luxury is no longer equated with formality, but rather with comfort. When we grew up, the "good" (i.e., expensive) furniture was in the living room and reserved for company. What we actually sat on was in the family room. Today, a "great room" serves both purposes, and the couch—whether it cost $1,500 or $15,000—has to be able to withstand both children and pets.
So the next time you're looking for new jewelry trends, do look in all the usual places: trade magazines, fashion magazines, trade shows, television programs, movies, kids on the street, and so forth. But also consider looking in a few unusual places—like your own attic. You may be amazed at how much inspiration you find in the dust.


The Severn Navigation Restoration Trust (SNRT) had it's origins in the early 1980s with the specific intention of building navigation works on that part of the River Severn above Stourport, to Bridgnorth in the first instance, and thence to the Ironbridge gorge. The possibility of extending up-river to Shrewsbury and beyond was of course in mind, but few studies dealt with the upper reaches. Canoes and other small craft regularly use the entire length of the river however, keeping open the public right of navigation from the Welsh border to the navigation works below Stourport, but larger craft are currently at the mercy of highly variable water levels and no controlling authority above Stourport.
With the completion of the Upper Avon Project in 1974 which enabled boats to reach Stratford upon Avon for the first time in many years, it was naturally it's engineer David Hutchings to whom SNRT initially turned.
The difficulties encountered however, were somewhat different and of a different scale to what had been encountered on other river navigation improvement schemes. Although the actual objectives have changed in some ways, much progress had been made with local authorities and others, but various problems, unfortunate decisions and the 'modernisation' of the relationship with other bodies have all conspired to make the challenge as at first envisaged, more difficult. The SNRT, as a charitable company with these aims, decided to close down it's campaign and disband, in favour of The Inland Waterways Association, at it's AGM on the 29th of October, 2011. The closure is now complete.
The reason for this article is to look back at some of the 'high's, and to consider what we collectively have learned from our efforts.


There is clearly one big boy on the block when it comes to fizz and that's Champagne. Now, although he is a nice big boy, producing some of the most memorable, awe-inspiring sparkling wine on the planet, there is a whole world of fizz out there, waiting to be explored. Whether it's for celebrating getting engaged, getting a 1:1, or just getting through Monday, there is a fizz for you here at Oddbins.
Sparkling wine comes in many different guises - it can range from semi-seco (sweet) to Brut Nature (bone-dry) - and is made in an almighty array of countries. Italy has Prosecco which is light and fruity, while Spain has Cava which is their answer to Champagne and is super food-friendly. Even Tasmania boasts a delicious fizz that we think could only have been made with divine help – Jansz.
Another of our favourites is Portuguese sparkling. The Pato family – Luis and his daughter Filipa – each hold their own when it comes to still winemaking, but my oh my do they produce some cracking fizz too. Luis' mousse-y, lemony, chalky Metodo Antigo should have a licence to thrill, IMHO. One, two three… go!


text:
Goodwill Home Medical Equipment Offering Repair Services for Medical Devices
Kevin Girard Dempsey, Sr. of Gloucester City, 69
Automatic Voter Registration Allowed in New York State
By Delphine Luneau | The Center Square
(The Center Square) – New York Gov. Andrew Cuomo signed a bill that will make it easier for state residents to register to vote when they interact with a variety of government agencies.
The goal of the legislation is to increase voter turnout, although one Republican lawmaker warned that it could lead to increased fraud.
According to a news release from state Sen. Michael Gianaris, D-Astoria, one of the sponsors of the legislation, New York has had poor turnout in recent elections compared to other states. In 2018, the Empire State ranked 48th lowest in the nation for eligible voters who actually went to the polls.
With the passage of the voter registration bill, New York joins 18 other states and Washington, D.C., in enacting such a law, he said.
"Access to the ballot box should be easy and fair, and enacting Automatic Voter Registration will go a long way towards improving voter participation," Gianaris said. "I am proud and thankful that the Governor has signed this bill, paving the way for over a million more New Yorkers to vote."
But Assemblyman Colin Schmitt, R-Washingtonville, said the legislation will do harm to the integrity of the state's elections. He took issue with what he described as the elimination of "all penalties" for illegally registering to vote or even casting an illegal vote.
"This partisan automatic voter fraud bill is a serious danger to our democracy and will allow illegal aliens and non-citizens to undermine and participate in our elections with no criminal consequences as a result," Schmitt said in a news release.
Under the bill, the Department of Motor Vehicles will be directed to have a method to automatically sign up residents to vote by 2023. The Department of Health, Department of Labor and the Office of Temporary and Disability Assistance are directed to follow suit by 2024, and the State University of New York by 2025.
"The right to vote is one of, if not the most, sacred pillars of our democracy and for too long, bureaucratic red tape has made it unnecessarily difficult for New Yorkers to exercise this right," Cuomo said in a statement. "From instituting early voting to making necessary reforms to the absentee ballot process, New York has already made elections more accessible, but we are far from finished. With this new law on the books, we are taking this work a step further and not only instituting automatic voter registration, but creating a single uniform platform for registering online."
published here with permission of The Center Square
Posted by CNBNewsnet on Sunday, December 27, 2020 at 02:00 PM in General/Political News, New Jersey , New Jersey CENTRAL, NORTH JERSEY, South Jersey | Permalink | Comments (0)


The Lewis and Clark expedition (1804-1806) was the first American overland expedition to the Pacific coast and back. The Louisiana Purchase in 1803 sparked the interest of United States expansion to the west coast. A few weeks after the purchase, United States President, Thomas Jefferson, an advocate of western expansion, had Congress appropriate $2500, "to send intelligent officers with ten or twelve men, to explore even to the western ocean." They were to study the Indian tribes, botany, geology and wildlife in the region. He selected Captain Meriwether Lewis to lead the expedition, known as the Corps of Discovery; Lewis selected William Clark as his lieutenant.
The group, consisting of 33 members, departed from Camp Dubois and began their historic journey on May 14, 1804. They soon met-up with Lewis in Saint Louis, Missouri and the approximately forty men followed the Missouri River westward (On August 20, 1804 The Corps of Discovery suffered its first and only death when Sergeant Charles Floyd died, apparently from acute appendicitis). The group followed the Missouri through what is now Kansas City, Missouri and Omaha, Nebraska, crossed the Rocky Mountains and descended by the Clearwater River, the Snake River, and the Columbia River through what is now Portland, Oregon until they reached the Pacific Ocean in the summer of 1805. The explorers started their journey home on March 23, 1806 and arrived on September 23.
In the Ken Burns documentary aired on PBS about Lewis and Clark, historian Stephen E. Ambrose, author of the book "Undaunted Courage" about the expedition, compared the significance and impact of the Lewis and Clark Expedition to Americans of that era to the American landing on the moon for subsequent generations. The expedition not only answered questions about vast uncharted areas of North America (everything between the Missouri River in North Dakota to Mount Hood in western Oregon) but also gave Americans an electrifying sense of the vastness of their new country after the Louisiana Purchase and America's almost limitless natural resources and potential as an emergent nation. He also views the expedition as a quintessimal America saga, with a cast of characters that included a French Canadian trapper, the Indian woman Sacajawea who carried her infant throughout the trip, President Thomas Jefferson, the heroic personalities and comaraderie of both Captain Lewis and Captain Clark, a platoon of American soldiers reminiscent of Rogers Rangers, the muscular Black American servant of Lewis named York, colorful Indian tribes (Sioux, Mandans, Nez Perce, Blackfeet), Captain Lewis' shaggy dog, numerous close shaves with death for everyone on the expedition, quick "think-on-your-feet" diplomatic innovation to defuse hostility and enlist the support of exotic tribes, scientific observation of awe-inspiring naturalistic phenomenon, a case of close combat with Indians, encounters with grizzly bears, harrowing navigation of wild rivers amidst magnificent scenery, and a difficult passage through the snow clad Bitterroot Mountains of Western Montana and Idaho. Despite all the trials, tribulations, and close calls, the expedition did not lose a person between North Dakota and Oregon and the return trip. "Undaunted Courage" reads like real life imitating Hollywood, which makes it all the more surprising that Hollywood has never made a feature motion picture about the epic journey.
A contemporary explorer was Zebulon Pike (as in Pikes Peak) who in 1805-1807 traveled from the upper Mississippi River down to the Spanish territories near the Rocky Mountains.


A quick note for anyone wishing to place an order for Christmas. I have been rather busy this last couple of weeks with commission orders for cards and personalised stocking decorations.
My cards are selling as fast as I can make them. I do have some cards and decorations in stock, available for purchase. I am also making for a craft event, at which I'm expecting my Christmas stock to sell quickly. If you are interested in one of my creations, either from stock or as a commission, please get in touch the sooner the better.
Another busy half term week for us and plenty of opportunity for crafting with Halloween coming up next week. My daughter is particularly taken with ghosts, bats and witches cats at the moment, so we've gone for the Halloween theme more than I ever have done in my life before! It's not a British holiday for me, bring on Bonfire Night, much more British!
Anyway, enough of that. As I said we've had a busy week, mostly spent outdoors as it's been dry. However, we had an invitation to a Halloween party over the weekend, so we had to get ourselves 'in the mood' with some spooky baking. I cheated a bit and bought a bat biscuit set for my daughter, that just needed butter adding to it. This was great as she's only 3 and felt like she was really baking, getting completely covered in flour mix – as was the floor and chair! Whilst she was busy making biscuit dough, I made an all-in-one chocolate chip sponge cake mix which I baked in silicon ghost shaped cake moulds.
With the dough complete we cut out the biscuits using the bat cutter and baked everything in the oven. While we waited for the bat biscuits and ghost cakes to cook, we decorated some rich tea biscuits (fast becoming one of our favourite ways to while away some time in the kitchen) with Halloween images. We made some water icing and coloured some orange and then used small icing pens, Halloween cake sprinkles and chocolate chips for added spookiness. I was quite impressed with my pumpkins, the others are all 3 year old imagination at work. What do you think?
My husband bought us a pumpkin and with daughter's help, hollowed it out. Alice (daughter) gave him the diagram for the face and proceeded to direct the carving process! The finished article is magnificent I think you'll agree.
We even managed to make sausage and pumpkin casserole, 3 servings of pumpkin soup and a veg soup with added pumpkin! I might turn orange if it lasts much longer.
I've not had much time in the last week or so to do much crafting. Changing my working hours to accommodate my daughter and her nursery, now means a new routine to get used too.
I have been able to start investigating the possibility of a craft stall at a market or event as I'd really like to get out there into the world. Finding an event has proved rather difficult. There are lots of major craft shows like the one last weekend in Manchester, but local ones seem to be few and far between. Speaking to other local crafters, they also comment on this and the difficulty in getting a stall if you do find an event.
So I've started to think about a suggestion from my Mother-in-Law about hosting craft parties. I'm thinking I'd like to have a few hours one afternoon in November maybe with a few Christmassy nibbles and wine and then have a stand of all my cards and gifts. If it's successful then it could become a regular event and could include other local crafters.
What would you want from an event? And would you stay to buy cards and gifts?
I would really like to know your thoughts on this idea. Please leave me a comment.
I was previously unaware of this event, and found the details in the latest issue of Craftseller magazine. The show spans 4 days at Spinningfields in central Manchester and this was its fifth year. There were around 160 exhibitors using a real variety of media and materials.
I didn't know what to expect really but was surprised at the lack of papercrafters exhibiting. There were a large number of jewellery stands, with a varied media base of metalwork and glass as well as plastics and felt. There were furniture makers, basket weavers and knitters, all with items ranging from moulded wooden lightshades to recycled plastic and fabric coasters.
There was a lot of recycled crafting. It was interesting to see how many things had been made using old maps and newspapers! My other key piece of learning is that many crafters have greetings cards and gift-tags as 'extras' in their product porfolio. With prices being quite high for handmade goods, having some 'pocket money' buys proves a real winner. It means people can take a way a product with all the contact details and will bring customers back to view a website and browse for more substantial products. I myself purchased a lovely Christmas card from a ceramic artist – rjhceramics.co.uk – which has a small ceramic tile with a snowman on it.
As I said initailly I was looking particularly for ideas for displaying crafts. I was most impressed with the small size of each of the stand spaces and the innovative ways people found to use all the space provided. I think my favourites were the rjh ceramics stand which was an antique dresser with cards in the drawers, and then this use of old suitcases to show recycled products.
I left with lots of contacts and ideas. I'm already looking foward to next years' show. My most memorable impression though is that there is a real love of handmade individual crafts. I am enthused and love how many talented creative people there are in Manchester.
I thought I'd share some of my latest Christmas makes with you. I've been spending as much spare time as I can adding to my Christmas card stocks and knits. And on Sunday I had a whole 3 hours to get making!
I explored my crafty stash and decided to use up some of the interesting bits and pieces I have acquired over the year.
I started with the Christmas wreaths I had saved from last years' Christmas crackers. I had to make some new bows for some of them and do some other minor repairs, but they were lovely little embellishments for cards. I added them to some card blanks of varying dimensions and then finished the card off with some hand drawn holly and dots which I glittered. I think the wreaths work really well on the white backgrounds.
Next I went for the red bows that I'd saved from something else last year.
I again used a variety of white cards to add the bows to and made some very simple backgrounds – glitter gold star stickers and drawn and glittered snowflakes.
I then investigated the latest Christmas Goody Bag from Docrafts. It has loads of papers, card blanks and embellishments in. This one also had a number of Boofle products. Not being one to use little characters in my crafting very much, I thought I'd try something a little different for me.
The different papers in the bag are really lovely for Christmas. Quite traditional in colours, but they're shiny. so it gives a lovely luxurious feel to any makes. I think they work really well with the recycled kraft cardstock . And Boofle is very cute.
I made about a dozen cards in all, and they can be seen in my 'For Sale' and 'Christmas cards' galleries. Check them out.
Only 82 days until Christmas!!
Having had a lovely week off from the day job, I managed to really get going on my Christmas crafting and updating the website. I have also started a Pinterest account, which if you're new to it, is a virtual pinboard where you can put pictures that inspire you.
Come and have a look at my boards at http://pinterest.com/kathcrafty/ and let me know what you think.


text:
Join the shooting party
Wealthy investors have grouse moors in their sights, finds Helen Davies
Sunday February 18 2007, 12.00am, The Sunday Times
Taking to the countryside with a gun has become a recreation of choice for 21st-century high-flyers, who will pay up to £10,000 for a day's shooting with equally loaded friends and colleagues. To do so on your own piece of grouse moor is an even more appealing option for the man (or woman) who already has a helicopter, yacht, racehorses and more cars than he could ever drive.
In the biggest sale of its kind last year, Michael Cannon, a former poultry farmer turned entrepreneur, who made his fortune buying and selling pubs, paid £5.25m - a quarter of a million pounds more than the guide price - to bag one of the finest grouse moors to come on to the market in years, the


text:
Analysis of BNP Paribas share price
Plus500.com
The banking sector is one of the most speculative sectors at present and bank shares are fairly easy to trade due to their high volatility and responsiveness to financial news. Some major French banking groups, such as BNP Paribas, therefore issue shares on the stock market with the possibility for shareholders to receive dividends or for online traders to speculate up or down on the evolution of the price of these shares. Here is a complete presentation of BNP Paribas shares and some advice on how to trade them effectively.
BNP Paribas's market cap, dividends, sales and earnings in 2020
In February 2021, BNP Paribas Group lifted the veil on its annual results for fiscal 2020. Its business has been disrupted by the health crisis. Here are the main things to remember about the figures published by the bank
BNP Paribas could buy Orange Bank and Floa Bank
Given the group's positioning among the leaders in the banking sector in Europe, we will of course closely monitor its main competitors in this sector, but also the development of its international activities, particularly in emerging countries.
The group's activities in the digital segment are also to be closely monitored with the development of new innovative services designed to attract younger customers and build their loyalty over time.
Of course and as is the case for all European banks, BNP Paribas' activities are likely to be influenced by the decisions of the European Central Bank or ECB. You should therefore give priority to following the publications and communications of this official institution.
We will also keep an eye on the group's assets and its ability to maintain compliance with the Basel III solvency agreements.
Finally, you will, of course, be kept informed of all the Group's strategic communications to its investors with development and growth plans and compare these objectives with the actual results that will be recorded and published by BNP Paribas in its annual reports.
Trade the BNP Paribas share!
72% of retail investor accounts lose money when trading CFDs with this provider. This is an advert for trading CFDs on Plus500
General presentation of BNP Paribas
Few people know this, but the BNP Paribas group as we know it today is the result of the merger of two banks, BNP and Paribas, which took place during the year 2000. Today, BNP Paribas is the leading French banking group and even the world's leading group in terms of the number of assets.
At the end of 2018, BNP Paribas had €796.5 billion in deposits and €765.9 billion in loans under management.
It should be noted that the market affected by BNP Paribas is mainly European with more than 74.6% of its activity, but also affects North and South America with nearly 10.9% of activity and the rest in Asia for 7.1% of the turnover.
The activity of BNP Paribas breaks down as follows:
Most of its business is of course retail banking with the French branches of BNP Paribas, but also branches in Italy and the United States under the names BNL and BancWest, and also with financial services such as loans. This part alone generates nearly 60.2% of total turnover.
BNP Paribas' financing and investment activities (acquisitions, investments in financial markets, etc.) generate 25.5% of total revenues.
Finally, insurance and institutional and private management activities account for 14% of total turnover.
The major competitors of BNP Paribas
If you want to carry out relevant analyses of the BNP Paribas share price, you need to take into account the very strong competition from the banking sector in France and in Europe. In today's market, the main and most dangerous competitors of this banking group are:
First of all, the Societe Generale group is currently one of the largest French banking groups and is also one of the oldest banks in the country. In fact, Societe Generale is one of the main players in this sector today and one of the leaders in the non-mutual banking industry, just like BNP Paribas.
Another bank also in direct competition with BNP Paribas is the banking group Crédit Agricole. Formerly known as the Green Bank because of its original activity in the agricultural world, this group has become the largest network of cooperative and mutual banks in the world. In France alone, the Crédit Agricole group owns and operates 39 regional banks. However, it has become an international general banking group since 1990 and its stock is listed on the stock exchange through the Crédit Agricole SA holding company on the Premier Marché of Euronext Paris. It's also included in the composition of the French benchmark CAC 40 stock market index.
Crédit Mutuel
Another serious competitor of BNP Paribas is Crédit Mutuel. This French group specializes in banking as well as insurance, electronic payment, telephony and remote monitoring. The company therefore employs over 83,000 people in 5,535 points of sale, 4 branches and 34 representative offices. The company is also a multinational which is made up of 2,100 local cooperative and mutual funds grouped into 18 regional federations. It currently has 34.2 million customers in France, including 7.9 million members.
BPCE
Finally, the last serious competitor of BNP Paribas is the BPCE group. This group is the joint body of the Banque Populaire and the Caisse d'Epargne in France and resulted from the merger in 2009 of the Caisse Nationale des caisses d'épargne and the Banque fédérale des banques populaires. The BPCE group is also the second largest cooperative banking institution in the world after Crédit Agricole and includes all the companies that made up the two banking groups along with their own and joint subsidiaries.
The major partners of BNP Paribas
To strengthen its commercial strategy, BNP Paribas has forged links with certain other companies through targeted partnerships. Here are the bank's main current partners.
Recently, in 2017, BNP Paribas signed a partnership with the American company Snapchat in order to strengthen its expertise in the field of social and mobile digital and to develop its presence on the international communication platform.
BNP Paribas has also announced a partnership with PSA as part of its acquisition of Opel's activities. This is a long-term partnership concerning the financing of the group's vehicles.
In 2014, BNP Paribas had also signed a partnership with BpiFrance to strengthen their ties for the international development of companies.
Eurazeo
In 2019, BNP Paribas also became a partner of Eurazeo as did the CUC group, as both banking entities were selected to manage a fund of between €1 and €1.5 billion dedicated to French and European companies with the strategy of expanding into the Chinese market. These three players will thus actively invest in this fund with other partner investors.
The factors in favour of a rise in the BNP Paribas share price:
The bank's market positioning is of course one of its main strengths. BNP Paribas is currently the leading deposit bank in continental Europe and in four main markets: France, Belgium, Italy and Luxembourg. The group also manages to position itself as a leader in several specific business sectors such as creditor insurance. For the rest, BNP Paribas ranks seventh among asset managers in Europe and is also the sixth largest private bank worldwide. The group is also the European leader in syndicated loans as well as in the Middle East and Africa and is also the world leader in aeronautics.
Although the economic crisis has had a very strong impact on most of the world's banking groups, BNP Paribas seems to be doing very well, which reassures investors. Indeed, it is one of the global banking groups that have best withstood the crisis and has a return on equity that is also among the highest in the world.
The currently very favourable economic environment for credit activities can also be counted as a strong point for the future of the company. The latter in fact authorises a reduction in risk provisions and a recovery in net banking income. In addition, the Quantitative Easing policy implemented by the European Central Bank has resulted in a more than positive balance sheet for BNP Paribas.
The distribution of BNP Paribas' activities is another asset of this banking group. Indeed, the group organises its activities into three distinct groups: the banking networks located in France, Italy, Belgium and the Netherlands, international financial services and investment banking activities or CIB. These three major divisions each generate about one third of BNP Paribas' revenues, which makes the company's risk exposure lower.
The BNP Paribas banking group also benefits from a positive outlook on its management with its recent compliance of its prudential capital in line with new European rules. Its Common Equity Tier One ratio is 11.4%, well above the 9% required by the Basel 3 agreements, and its leverage ratio is 4%, once again above the required 3%.
The group's investors and shareholders also appreciate the fact that the BNP Paribas group offers a payout rate of 45%, which is a very comfortable level for this sector of activity.
The factors in favour of a drop in the BNP Paribas share price:
As we have just seen together, the BNP Paribas share has what it takes to appeal to investors because of its many advantages, and long-term buying strategies are still favoured at the moment. However, it goes without saying that this stock does not only offer advantages and that it is necessary, in order to implement efficient and well thought-out strategies, to also be aware of the possible obstacles to the growth and development of this company.
Firstly, it is essential to understand that some investors are reluctant to take a buying position on European bank securities in general. This hesitation is due in particular to the capital-intensive European regulations and the often low interest rates that make them less attractive than other securities.
The banking market has also undergone a notable change in recent years with the arrival on the market of online banks, which are gaining a little more market share every year. The latter are in fact fiercely competing with physical banks with very attractive rates and a new, more modern and intuitive way of using banking services and products that is very attractive to younger customers.
The BNP Paribas banking group has also suffered a decline in revenues from CIB financing activities in recent months due to a difficult market. This comes on top of higher transformation costs for the bank as part of the efficiency and transformation plan recently implemented.
Finally, analysts specialising in this stock also fear a risk of a fall in the BNP Paribas share price if the Belgian State were to sell its stake in the group.
72% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how CFDs work, and whether you can afford to take the high risk of losing your money. This is an advert for trading CFDs on Plus500


text:
/*
 * File tracetst.c
 *
 */

#include "unicode/utypes.h"
#include "unicode/utrace.h"
#include "unicode/uclean.h"
#include "unicode/uchar.h"
#include "unicode/ures.h"
#include "unicode/ucnv.h"
#include "cintltst.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

/* We define the following to always test tracing, even when it's off in the library. */
#if U_ENABLE_TRACING
#define ENABLE_TRACING_ORIG_VAL 1
#else
#define ENABLE_TRACING_ORIG_VAL 0
#endif
#undef U_ENABLE_TRACING
#define U_ENABLE_TRACING 1
#include "utracimp.h"

static void TestTraceAPI(void);

void
addUTraceTest(TestNode** root);

void
addUTraceTest(TestNode** root)
{
    addTest(root, &TestTraceAPI,            "tsutil/TraceTest/TestTraceAPI"  );
}

/*
 * Macro for assert style tests.
 */
#define TEST_ASSERT(expr) \
if (!(expr)) { \
    log_err("FAILED Assertion \"" #expr "\" at  %s:%d.\n", __FILE__, __LINE__); \
}

/*
 *  test_format.   Helper function for checking the results of a formatting
 *                 operation.  Executes the format op and compares actual
 *                 results with the expected results.
 *
 *       params:   format:  the format to be applied.
 *                 bufCap   buffer size to pass to formatter.
 *                 indent:  indent value to give to formatter
 *                 result   expected result.  Do not truncate for short bufCap -
 *                          this function will do it.
 *                 line     __LINE__, so we can report where failure happened.
 *                 ...      variable args to pass to formatter
 *
 */
static void test_format(const char *format, int32_t bufCap, int32_t indent,
                        const char *result, int32_t line, ...) {
    int32_t  len;
    va_list  args;
    char  buf[300];
    char  expectedResult[300];

    /* check that local buffers are big enough for the test case */
    if (sizeof(buf) <= bufCap) {
        log_err("At file:line %s:%d, requested bufCap too large.\n");
        return;
    }
    if (strlen(result) >= sizeof(expectedResult)) {
        log_err("At file:line %s:%d, expected result too large.\n");
        return;
    }

   /* Guarantee a nul term if buffer is smaller than output */
    strcpy(expectedResult, result);
    expectedResult[bufCap] = 0;

    /* run the formatter */
    va_start(args, line);
    memset(buf, 0, sizeof(buf));
    len = utrace_vformat(buf, bufCap, indent, format, args);

    /* Check results.   */
    if (strcmp(expectedResult, buf) != 0) {
        log_err("At file:line %s:%d  Expected \"%s\", got \"%s\"  \n",
             __FILE__, line, expectedResult, buf);
    }
    va_end(args);
}

/*
 *  define trace functions for use in this test.
 */
static int    gTraceEntryCount;
static int    gTraceExitCount;
static int    gTraceDataCount;
static UBool  gFnNameError   = FALSE;
static UBool  gFnFormatError = FALSE;

static void U_CALLCONV testTraceEntry(const void *context, int32_t fnNumber) {
    const char *fnName;
    const char *bogusFnName;

    gTraceEntryCount++;

    /* Verify that a name is available for the fnNumber passed to us */
    bogusFnName = utrace_functionName(-1);
    fnName = utrace_functionName(fnNumber);
    if (strcmp(fnName, bogusFnName) == 0) {
        gFnNameError = TRUE;
    }
    /* printf("%s() Enter\n", fnName); */

}

static void U_CALLCONV testTraceExit(const void *context, int32_t fnNumber,
                   const char *fmt, va_list args) {
    char        buf[1000];
    const char *fnName;
    const char *bogusFnName;

    gTraceExitCount++;

    /* Verify that a name is available for the fnNumber passed to us */
    bogusFnName = utrace_functionName(-1);
    fnName = utrace_functionName(fnNumber);
    if (strcmp(fnName, bogusFnName) == 0) {
        gFnNameError = TRUE;
    }

    /* Verify that the format can be used.  */
    buf[0] = 0;
    utrace_vformat(buf, sizeof(buf), 0, fmt, args);
    if (strlen(buf) == 0) {
        gFnFormatError = TRUE;
    }

    /* printf("%s() %s\n", fnName, buf); */

}

static void U_CALLCONV testTraceData(const void *context, int32_t fnNumber, int32_t level,
                   const char *fmt, va_list args) {
    char        buf[1000];
    const char *fnName;
    const char *bogusFnName;

    gTraceDataCount++;

    /* Verify that a name is available for the fnNumber passed to us */
    bogusFnName = utrace_functionName(-1);
    fnName = utrace_functionName(fnNumber);
    if (strcmp(fnName, bogusFnName) == 0) {
        gFnNameError = TRUE;
    }

    /* Verify that the format can be used.  */
    buf[0] = 0;
    utrace_vformat(buf, sizeof(buf), 0, fmt, args);
    if (strlen(buf) == 0) {
        gFnFormatError = TRUE;
    }

    /* printf("  %s()   %s\n", fnName, buf); */
}

static UConverter * psuedo_ucnv_open(const char *name, UErrorCode * err)
{
    UTRACE_ENTRY_OC(UTRACE_UCNV_LOAD);

    UTRACE_DATA2(UTRACE_OPEN_CLOSE, "error code is %s for %s", u_errorName(*err), name);

    UTRACE_EXIT_PTR_STATUS(NULL, *err);
    return NULL;
}
static void psuedo_ucnv_close(UConverter * cnv)
{
    UTRACE_ENTRY_OC(UTRACE_UCNV_UNLOAD);
    UTRACE_DATA1(UTRACE_OPEN_CLOSE, "unload converter %p", cnv);
    UTRACE_EXIT_VALUE((int32_t)TRUE);
}

/*
 *   TestTraceAPI
 */
static void TestTraceAPI() {

    UTraceEntry   *originalTEntryFunc;
    UTraceExit    *originalTExitFunc;
    UTraceData    *originalTDataFunc;
    const void    *originalTContext;
    int32_t        originalLevel;

    /*
     * Save the original tracing state so that we can restore it after the test.
     */
    utrace_getFunctions(&originalTContext, &originalTEntryFunc, &originalTExitFunc,
                        &originalTDataFunc);
    originalLevel = utrace_getLevel();

    /* verify that set/get of tracing functions returns what was set.  */
    {
        UTraceEntry *e;
        UTraceExit  *x;
        UTraceData  *d;
        const void  *context;
        const void  *newContext = (const char *)originalTContext + 1;

        TEST_ASSERT(originalTEntryFunc != testTraceEntry);
        TEST_ASSERT(originalTExitFunc != testTraceExit);
        TEST_ASSERT(originalTDataFunc != testTraceData);

        utrace_setFunctions(newContext, testTraceEntry, testTraceExit, testTraceData);
        utrace_getFunctions(&context, &e, &x, &d);
        TEST_ASSERT(e == testTraceEntry);
        TEST_ASSERT(x == testTraceExit);
        TEST_ASSERT(d == testTraceData);
        TEST_ASSERT(context == newContext);
    }

    /* verify that set/get level work as a pair, and that the level
     * identifiers all exist.
     */

    {
        int32_t  level;

        utrace_setLevel(UTRACE_OFF);
        level = utrace_getLevel();
        TEST_ASSERT(level==UTRACE_OFF);
        utrace_setLevel(UTRACE_VERBOSE);
        level = utrace_getLevel();
        TEST_ASSERT(level==UTRACE_VERBOSE);
        utrace_setLevel(UTRACE_ERROR);
        utrace_setLevel(UTRACE_WARNING);
        utrace_setLevel(UTRACE_OPEN_CLOSE);
        utrace_setLevel(UTRACE_INFO);
    }

    /*
     * Open and close a converter with tracing enabled.
     *   Verify that our tracing callback functions get called.
     */
    {
        UErrorCode  status = U_ZERO_ERROR;
        UConverter *cnv;

        gTraceEntryCount = 0;
        gTraceExitCount  = 0;
        gTraceDataCount  = 0;
        gFnNameError     = FALSE;
        gFnFormatError   = FALSE;
        utrace_setLevel(UTRACE_OPEN_CLOSE);
#if ENABLE_TRACING_ORIG_VAL
        cnv = ucnv_open(NULL, &status);
        TEST_ASSERT(U_SUCCESS(status));
        ucnv_close(cnv);
#else
        cnv = psuedo_ucnv_open(NULL, &status);
        TEST_ASSERT(U_SUCCESS(status));
        psuedo_ucnv_close(cnv);
#endif
        TEST_ASSERT(gTraceEntryCount > 0);
        TEST_ASSERT(gTraceExitCount  > 0);
        TEST_ASSERT(gTraceDataCount  > 0);
        TEST_ASSERT(gFnNameError   == FALSE);
        TEST_ASSERT(gFnFormatError == FALSE);
    }

    /*
     * trace data formatter operation.
     */
    {
        UChar s1[] = {0x41fe, 0x42, 0x43, 00};
        const char  *a1[] = {"s1", "s2", "s3"};
        void  *ptr;

        test_format("hello, world", 50, 0, "hello, world", __LINE__);
        test_format("hello, world", 50, 4, "    hello, world", __LINE__);
        test_format("hello, world", 3, 0,  "hello, world", __LINE__);

        test_format("a character %c", 50, 0, "a character x", __LINE__, 'x');
        test_format("a string %s ", 50, 0, "a string hello ", __LINE__, "hello");
        test_format("uchars %S ", 50, 0, "uchars 41fe 0042 0043 0000  ", __LINE__, s1, -1);
        test_format("uchars %S ", 50, 0, "uchars 41fe 0042  ", __LINE__, s1, 2);

        test_format("a byte %b--", 50, 0, "a byte dd--", __LINE__, 0xdd);
        test_format("a 16 bit val %h", 50, 0, "a 16 bit val 1234", __LINE__, 0x1234);
        test_format("a 32 bit val %d...", 50, 0, "a 32 bit val 6789abcd...", __LINE__, 0x6789abcd);
        test_format("a 64 bit val %l", 50, 0, "a 64 bit val 123456780abcdef0"
            , __LINE__, INT64_C(0x123456780abcdef0));

        if (sizeof(void *) == 4) {
            ptr = (void *)0xdeadbeef;
            test_format("a 32 bit ptr %p", 50, 0, "a 32 bit ptr deadbeef", __LINE__, ptr);
        } else if (sizeof(void *) == 8) {
            ptr = (void *) INT64_C(0x1000200030004000);
            test_format("a 64 bit ptr %p", 50, 0, "a 64 bit ptr 1000200030004000", __LINE__, ptr);
        } else if (sizeof(void *) == 16) {
            /* iSeries */
            union {
                int32_t arr[4];
                void *ptr;
            } massiveBigEndianPtr = {{ 0x10002000, 0x30004000, 0x50006000, 0x70008000 }};
            ptr = massiveBigEndianPtr.ptr;
            test_format("a 128 bit ptr %p", 50, 0, "a 128 bit ptr 10002000300040005000600070008000", __LINE__, ptr);
        } else {
            TEST_ASSERT(FALSE);
            /*  TODO:  others? */
        }

        test_format("%vc", 100, 0, "abc[ffffffff]", __LINE__, "abc", -1);
        test_format("%vs", 100, 0, "s1\ns2\n[00000002]", __LINE__, a1, 2);
        test_format("%vs", 100, 4, "    s1\n    s2\n    [00000002]", __LINE__, a1, 2);

        test_format("%vb", 100, 0, "41 42 43 [00000003]", __LINE__, "\x41\x42\x43", 3);

        /* Null ptrs for strings, vectors  */
        test_format("Null string - %s", 50, 0, "Null string - *NULL*", __LINE__, NULL);
        test_format("Null string - %S", 50, 0, "Null string - *NULL*", __LINE__, NULL);
        test_format("Null vector - %vc", 50, 0, "Null vector - *NULL* [00000002]", __LINE__, NULL, 2);
        test_format("Null vector - %vC", 50, 0, "Null vector - *NULL* [00000002]", __LINE__, NULL, 2);
        test_format("Null vector - %vd", 50, 0, "Null vector - *NULL* [00000002]", __LINE__, NULL, 2);

    }

    /*
     * utrace_format.  Only need a minimal test to see that the function works at all.
     *                 Full functionality is tested via utrace_vformat.
     */
    {
        char      buf[100];
        int32_t   x;
        x = utrace_format(buf, 100, 0, "%s", "Hello, World.");
        TEST_ASSERT(strcmp(buf, "Hello, World.") == 0);
        TEST_ASSERT(x == 14);
    }

    /*
     * utrace_functionName.  Just spot-check a couple of them.
     */
    {
        const char   *name;
        name = utrace_functionName(UTRACE_U_INIT);
        TEST_ASSERT(strcmp(name, "u_init") == 0);
        name = utrace_functionName(UTRACE_UCNV_OPEN);
        TEST_ASSERT(strcmp(name, "ucnv_open") == 0);
        name = utrace_functionName(UTRACE_UCOL_GET_SORTKEY);
        TEST_ASSERT(strcmp(name, "ucol_getSortKey") == 0);
    }

    /*  Restore the trace function settings to their original values. */
    utrace_setFunctions(originalTContext, originalTEntryFunc, originalTExitFunc, originalTDataFunc);
    utrace_setLevel(originalLevel);
}


It's hot today. Abnormally hot. But that's just bettering the cause. The terrace is completely filled with customers and they keep on coming. My bar is of a higher stature compared to all the other bars here and I sure like to let people know. But Jesus, look at that: long beard, sweaty, shirtless and a crappy bike with a giant backpack attached to it. Imagine this would walk into your bar. It would scare the other customers away, wouldn't it? Damn, he is moving towards me! "Heya, could you fill up my waterbottle please?" Pfff….Eh, no. "What? Why not?" Because I can't. And you need a shirt to be in here. Luckily he is going away. Before you know it, I'm giving out free water to all the vagabonds. Not in my bar!
Well, screw you than! But I really need water for what I'm going to do. I will bike four of the most beautiful passes in Lake District. The Lake District is the wettest natural park with England's highest mountains. Since I'm owning a bike, I have the opportunity to take on roads with an ascent of 30%. I have four days to accomplish this. It isn't easy doing this with a 20 kilo torpedo attached to my carrier. Biking 7 kilometers uphill while it's 25 degrees. The first pass is beautiful, but unfortunately one of my SD-cards gets damaged, ending up in loosing almost all of the pictures I shot the last 17 days. This doesn't really make me enjoy this pass, but I decided not to mope around. On the contrary, I'm going to make more and even better pictures than I shot before. And the way to go is biking all the passes!
It's heavy, but when I finally reach the peek and watch the shadows play their game over the green and brown hills, I feel like a wet fish in the water. I'm watching the black asphalt, which I've conquered with all of my strength, moving upward on top of the hill. While I'm looking back, I feel the slope crawling back in my legs. Looking the other way, I'm seeing a far stretched valley with new colors, shapes and again the black asphalt. This time it is going to be pure pleasure, feeling it with high speed, underneath the wheels of my orange friend.
In this beautiful setting many mysterious constructions are to be found. Stonecircles. Stonehenge is not the only one, but the biggest. While I'm biking through the hills, my eye is caught by a little sign: "Castlerigg stone circle". The stones are even named: Long Meg and her daughters. According to the local stories these were witches turned to stone, who were cursed by the warlock Michael Scot (no, not the actor from The Office US). Rumor has it that the stones are impossible to count, but if you walk the circle twice, while counting the stones and end up with exact the same amount both times, the curse will be broken. The witches will be freed and this will lead to years of bad luck. Seeing that the stones are still standing there, it seems no one ever succeeded.
The surroundings are starting to get more rugged, the mountains are getting higher and the landscape more far stretched, I'm almost in Scotland and as soon as I cross the border I'll be confronted with a new country.
I immediately feel at home. A country that isn't very populated, where they speak with a rolling 'R' and people adjust to nature. The constant wind is being defied by thick coats and the humidity by rubber boats and rain clothing. I feel quite at home here and that is apparent from my behavior. You act differently in each and every group. You act different at your grandparents than with your friends or with your colleagues. When you have been alone for a while, you are isolated from external influences and you are 100% yourself. That's why people who live in the midst of nowhere are a tad peculiar, in my opinion. As soon as I take the white earplugs out of my ears and hear the local sounds, I notice I start talking to myself increasingly. It also occurs a lot I call out to the surroundings what they look like: "HILLY!!". "FAR STRETCHED!!". "MOUNTAIN!!". Always good fun for the farmer standing in his field, watching a bearded and shouting Dutchman biking past him.
Scotland isn't lacking in myths and legends. And how could things be any different in a country that almost consists solely of nature and the tongue of the locals is as rugged as the mountains and the autumn storms.
While trying to heat my oatmeal in the wind, I see a little carriage coming my way. It turned out to be an eight wheeler and in this eight wheeler was Helen. An agile farmer searching for some lost sheep, that are walking somewhere in the hills. Her handshake is like it should be from a sheep farmer. Asking her if she knows some myths or legends, she started telling me a story.
Monks used to guard the drawbridge at the mighty Tweed river. If the monks didn't like the person who wanted to cross, or thought the person paid to little, he would be thrown into the river without a second thought. They often didn't live to tell the story. This also happened to a beautiful young lady and her white horse. But her ghost is still present. Helen lives near the river and had an Italian working at her farm. He was working next to the river when he saw a giant white horse wading through the river. And this is impossible because the river was so deep and wild, that no horse could keep standing….He went back to Helen and told the story. "He was white as a sheet and looked like he had seen a ghost", Helen told me. She believes strongly in this kind of stories. "Don't you?" she asked me with disbelief.
Soon Henk will come from Rotterdam, with his longboard "Annie" to travel through Scotland for seven days, searching the most beautiful sceneries and the best stories. Who knows we will encounter stories that make me believe there is more than meets the eye.


text:
Timber trends
Timber City: how the City of Surrey is winning with wood
"Surrey has big aspirations," according to Scott Groves, who oversees the design, construction, and operations of all civic facilities in Surrey. The burgeoning metropolis, located between the Fraser River and the Canada—United States border, is now the province's fastest-growing city.
Once considered a suburb, Surrey is now arguably the region's emerging second downtown: its population of over half a million is growing at twice the rate of Vancouver's, and is set to eclipse it by 2030 to make Surrey the largest city in the province.
"Surrey is a diverse city that speaks over a hundred different languages. We want to connect our citizens, share our cultures, and break down barriers," Groves says.
Within the last decade, the City of Surrey has made significant investments in civic and community buildings, many of which not only incorporate wood and mass timber, but represent boundary-pushing, world-class architecture. This is thanks in part to a Wood First Policy that the City adopted in 2010, which recognizes wood's social, environmental, and economic benefits, and makes it the material of choice for public buildings.
Read the rest of the article in Naturally Wood, a showcase of wood innovators and thinkers.
Guildford Aquatic Centre
Grandview Heights Aquatic Centre
Discover more wood design, construction, and forestry thought leadership.
Planning and Designing Wood Schools in British Columbia
School districts across BC have ready access to homegrown leading-edge technology with these resources that
Better buildings
Tutoring with Timber: Using Wood in Schools
How does school design influence the process of teaching and learning? Understanding current educational design
n:w explains
Top Marks for Timber: Wood Use in BC Schools 2.0
A new report for school districts, administrators and design professionals explores how wood-built schools can


Home » cPanel » cPanel tools you will use most often.
Today on episode 25, Web Hosting Podcast. Some of the most common cPanel tools you will use after you signup. Did you know there is a app for cPanel access that also includes webmail? We will be going over installing, and then configuring the app which is available for both iOS and Android.
cPanel App for iOS and Android.
Go into your devices app store and search for cPanel. Go through the process of installing the app, like you would any other app.
Domain: This is normally the website on your hosting account.
Username: This is the cPanel username, not your CMS username, that you use to login to cPanel.
Password: This is the cPanel password, not your CMS password, that you use to login to cPanel.
You will also want to have your email address and password if you want to setup access to your webmail account in the app.
Open the cPanel app that you previously installed.
You are now presented with a few options to add an account, don't worry we will be going over all of the settings you need.
In the server information are three boxes, name, address, service.
In the name area, give this a unique name. This can be anything you would like to identify this connection.
In the address area, this is where you will put the login url you use to get into your cPanel account. This can possibly be your website url, or the server hostname. If one does not work try the other. Hopefully you were sent a welcome email when you signed up with this information.
In the service, change this to cPanel. Do not use WHM or Webmail.
Now in the authentication box do the following.
In the username box, put in your cPanel username.
In the password box, put in your cPanel password.
In the touchID, if your devices supports it I would highly recommend using it. This is the same as unlocking your iPhone with a fingerprint. If you do not use touchID, then you will be asked to enter your password every time you want to connect.
Once these are filled in, click on "CONNECT". If everything went correctly, you should now have a setting that will connect, it should have logged you in. If not, check your settings and try again. Make sure you are using the correct username and password. As a diagnoses process, you can try logging into your cPanel account through a web browser first.
Once you are logged in, you can now do anything you would normally do from a web browser inside cPanel.
To setup webmail, click on the "+" icon to add another setup. Give this a unique name as well in the name field.
In the address area, enter the address to connect to your webmail. This too will often be the domain you use for your email.
In the service area, change this to webmail.
In the username field enter in your full email address. This is important, the full email address including the "@" is required.
In the password field enter in your password for your email address.
Once these are filled in, click on "CONNECT". If everything went correctly, you should now have a setting that will connect, it should have logged you in. If not, check your settings and try again. Make sure you are using the correct username and password. As a diagnoses process, you can try logging into your webmail account through a web browser first.
You should now be presented with a few options, depending on your web hosting provider. In my app, I am able to choose between horde, roundcube and squirrelmail. Horde is the only one that seems to be mobile friendly. All of them do work but you will have to move around on the screen to see everything. Below these options, you are presented with the mail client automatic configuration scripts, mail client manual settings and the ability to email setup instructions to a specific email address for the account you logged in with.
Mail Client Automatic Configuration Scripts.
This is used if you are on a desktop client and do not seem to work on a iOS/Android device. It is best to just ignore these.
These are provided to you so that you may manually setup your email client of choice. These are great instructions for the do it yourselfer. The instructions provide the username, incoming and outgoing mail server, and the ports needed.
This allows you to email the same settings from the manual settings to a specific email address. This is handy if you have a user that has a gmail or other email account already and you would like to provide them with specific email setup information for an account you have setup for them.
Why you would want to use the app.
The app is a handy and convenient way to be able to login to cPanel quickly. Using the fingerprint to be able to login means you only have to remember the password once, then use your fingerprint to login. Once into cPanel, you have full control of your cPanel account, just as if you were using a normal browser. This means you can use one click installers to add a website or setup a email address. Being able to access it from your phone, means you can access cPanel from anywhere you have cell coverage for internet or on the go. No longer do you need to race home and pull out a computer to make a change or add a domain. The ability to access webmail is just icing on the cake. If you can login to webmail on the desktop and don't want to mess with setting up a email client, you can quickly get into webmail through this app and do your business.
In short, I think this is a wonderful addition to your cPanel hosting environment. In the past the app was pretty buggy. Since I have started using it over the last 4 months, I have had zero issues with it. I have used it to access webmail, cpanel, and even log into my wordpress install through installatron.
If you are a admin and manage your own cPanel server, this is also a handy tool. One additional option that we did not cover is the ability to login to WHM. WHM is the administration level control panel for the server itself. This is only used if you have root access to the server and only if you manage your own cPanel server. I can say it works wonderfully to access WHM and allows me to things when I am on the go in a pinch.
The most common cPanel tools you will use.
This is a list of just a few of the most used and common cPanel tools that I use and think you will use. Even if you have used these in the past, cPanel updates the features of these tools to add to the already expansive option list. If it has been a while since you looked at the full option list for these tools, I would recommend you take a moment to revisit them.
This is the place to manage your email accounts. From here you can create, delete, suspend among many other useful tasks. To create a email account, click on the Email Accounts button. Depending on your cPanel theme, things may be a little different from here. You should be presented with the option to create a email address, and have places for a name, domain, password and quota size. In the name area, enter what you would like the email address to be. If you have more than one domain on your account, a drop down will be available to you to select the domain you would like to use for the email account. In the password field, enter or generate a secure password. Please be sure not to use something like password123. The simplest thing is to use the generate button to create a password, then copy this to someplace secure. Yes, they are going to be difficult to remember and type out, but that is the whole point of a secure password. Password security is likely the most important thing you can do for yourself, so do not make this easy to guess. In the quota field, enter in a number in megabytes you would like to use or choose unlimited. The quota is used to prevent a single email account from using all of your disk space, which can happen. This is why I recommend not using unlimited, choose a value that you can live with and know that you can change this value to something higher if you hit the quota limit. You can uncheck the "Send welcome email" unless you really want to send this out. This is not needed if you are setting up a email account for yourself. At this point, hit the "Create Account" button to create your new email account.
Some additional things of note on this area. On the "Email Accounts" tab, you can do the following.
Access webmail – simple way to get to webmail.
Change quota value for the account.
Manage Suspension. This is useful if the account has been hacked or is sending spam. You can prevent sending, receiving and login individually or all three at the same time.
Change Password. This is where you would change the password for the email account.
Configure Devices. This allows you to view connection information for email clients like Outlook or thunderbird.
Delete. This is how you delete the email account.
Some things to consider when creating email accounts. Some hosting providers limit the number of email accounts you can create. Keep this in mind when creating email accounts. Keep an eye on the disk use for email accounts. This will add up faster than you might think and cause you to go over quota. If you whole cPanel account goes over the plans quota, then your site will stop working until the quota is either increased or lowered below the threshold. If you need to create email accounts and want those accounts to not contain a mailbox, a place for mail to be stored on disk, then use a forwarder.
Email forwarders are a simple way to have a email address that do not store mail to disk, instead they accept the mail and then pass it onto another actual account. This is very handy if you are limited by the number email accounts you can create or just do not want a large number of email accounts to setup on your external devices. Nothing is worse than have to setup a bunch of email accounts and be checking them constantly. Instead setup a single email account that you will check, and then setup forwarders for all other email addresses you may want. You can even setup rules to put email in specific folders that are sent to forwarder addresses in your email client of choice. Forwarders are your friend. Just remember if you reply to a email that came from a forwarder, it will show as being sent from the actual email address and not the forwarder address.
This is where you add a new domain to your cPanel account. You will need to ensure the domain is registered and owned by you first. Do not add a domain that you do not own or control. To add a new domain click on the "Addon Domain" button. From here you are presented with a few options. In the "New Domain Name" field enter the domain name you want to add. Be sure to enter the exact name with the "." and the tld. The subdomain option should be filled in for you after entering the domain name. This can be changed if you would like. This is used by cPanel and really should not be used by you directly. In the document root field, this too should be auto filled in. The is the location on disk, starting from your home directory, where your site files will be served from and where you will put your site files. This should not be located in your default, public_html, folder used for the primary account site files. The reason for this is simple, if one site is hacked then they are all going to be hacked. Keeping them in unique folders away from each other adds a little layer of security as well as making it easier to orgranize and backup. Another reason to do this is site indexing. If you have a site in public_html and then add another site in the same folder so it looks like public_html/site2 , you will then be able to browse the second site by going to the first site, adding a slash "/" and entering in the folder name for site2. Google will find this and index it along with your real website. Just keep things separated.
Aliases are like forwarders but for domains. For example if you have a .com domain, but also own the .net and .org versions but want the .org and .net to go to the .com site, then you want to use a alias. Make sure the domain is registered, then click on "Aliases". From here enter in the domain you want to have pointed to your live web site. You will be able to change the redirection settings after you add the alias. You can always remove the alias and start over or point it to a new location too.
To access this, click on the "SSL/TLS Status" button. From here you can run the free AutoSSL certificate service provided by cPanel. Depending on your web hosting provider this may not be available for you to use. To generate a AutoSSL certificate for your domain, it must be added to your account using the Addon Domain feature or be the primary domain on your cPanel account. If you see your domain listed, you should be good to go. At this point, you can click on the "Run AutoSSL" button. This will generate the needed pieces to get you a free SSL certificate for your domain. Once you click the button your request is added to a queue and will take some time to get and install a valid certificate. Do not keep hitting this button, it will not do anything after the first click. If for some reason you do not see a new SSL certificate after a few hours, you may have to contact your hosting provider to see what may be wrong. Some common issues are Drupal .htaccess file does not permit AutoSSL access to the needed folder to validate the domain. If you are using Drupal, you may need to modify your .htaccess file to permit this to happen correctly. Another issue could be you already have a expired or valid paid SSL certificate installed, you must remove this certificate before running AutoSSL, it is not likely that it will replace a already installed SSL certificate valid or not. You can also exclude domains from AutoSSL, in the event that you have a purchased SSL certificate for your domain. You can also click on the "View Certificate" area to see the status of your installed ssl certificate. Things like expiration date, what domains it is valid for, uninstall the certificate along with a few other options.
This is the ill fated name for gzip compression. Don't ask me why it is named this, I have no clue. But this is used to enable gzip compression on your website files. Click on "Optimize Website", then click on "Compress All Content" and then click "Update Settings". If you have more questions on this useful option, please listen to Episode 1 WHPOD.
The "MySQL Database Wizard" is used to manually create a MySQL database and user inside of cPanel. This is useful if you do not have a one click installer and you want to install a application that requires a MySQL database and a user, like wordpress. Click on "MySQL Database Wizard" button, this will present you with a area to create a database using a unique name. Enter in a name to call your new database. It will prepend your cPanel username followed by a underscore, then the new database name. Make sure this is a unique name as no two database names can match. Once you enter the name click the "Next Step" button. You will now need to create a new user to access this database. Just like the database, the username should be a unique name. Enter the name in the username field, it will prepend the cPanel username with a underscore, just like the database name. Now you need to enter a password. I highly recommend using the password generator and copying the password to a safe location for use later on. Now a database and user are created the next step in the wizard is the permissions the user has for the database. It is very common to just click on the "All Priveledges" button, this gives full read/write permissions for the chosen user to the chosen database. Now we just need to click on "Next Step" one last time. The database and user, with its permissions, are ready to be used.
Depending on your hosting provider this may not be available. Click on "Virus Scanner", now you are presented with a few options. Scan email, scan home directory, scan public web space and scan public ftp space. If you click on "Scan email", cPanel will start scanning all of your email accounts for viruses that it has in its definition files. This is a great way to check all your email accounts for malicious viruses. If it finds a virus here, you can choose to quarantine it or delete the infected file. The "Scan Home Directory" is the other option that I recommend you do on a regular basis. If a virus is found in a file you will be given the same option to quarantine the file or delete it. If the file is part of a installed website, it might be best to make a note of the file and take a look at the file. Deleting the file could potentially break your website, so keep that in mind. If you do not have the ability to look at the file or have someone that can examine the file, then contact your web host and see if they can help you out. This might be something they would charge for, so keep that in mind. It is not something you want to ignore as you could be spreading a virus to your website visitors and google will eventually mark your site as unsafe. It is also possible, as well as very rare, that the scanner marks a file as a virus when it is not. This is a false positive result, it should still be investigated to determine the status of the file in question. I would recommend that you scan your whole home directory at least once a month and scan your email every other week.
Cron jobs allow you to automate certain commands or scripts on your site. Cron jobs are useful if you have a website that needs to process something regularly. I often setup a cron for wordpress to run wp-cron.php instead of having wordpress take care of it. Click on "Cron Jobs", this will present you with a few options and examples. The first entry area is for a email address, this is used to send the results of the command when it processes. This is not likely something you want to get. If you are having issues getting a cron to work, then you can enter a email address here to get the notification. Once the cron is working, I would recommend removing the email address and sending the output of the cron command to /dev/null (more on that in a moment). In the drop down called "Common Settings" is a list of common time settings. Since crons run at a specific time, this drop down allows you to choose quite a few of the most common times from every minute to once per year. Do not run cron scripts every minute, this is a bad thing to do. You have to give your script time to run and running something every minute can be a great way to cause scripts to overlap as well as get your hosting provider angry at you for using a lot of CPU. Just be aware of this when you setup your cron job. I like to use twice per hour or once per hour for my cron jobs unless I need something very specific. Now that you have picked your time, you have to enter the command you want to run. I am going to assume that the command you want to run is a php script, in reality this can be anything you want to run on a regular basis. In the command window we are going to first start by calling "php", so type php then press the space bar. Now we need to tell php what script we want it to run. This is done by typing the full path on disk to the file we want to execute. This will likely be /home/cPanel_Account/filename.php. There should be a example command entry at the top of the page with a full path that includes your cPanel username. So after your php command enter in the path to your script. The final thing we want to do is to tell the script to send its results someplace, I like to use /dev/null, so the results just get deleted. If you do not do this step then you may start to see a lot of files show up in your cPanel home directory that will eventually fill up your disk space. This is because cron must do something with this output status, so do yourself a favor and use /dev/null. To tell cron to send the output to /dev/null , just add >/dev/null 2>&1 after the command path. Make sure to put a space after the command and before the output. Now click on the "Add New Cron Job" to add that entry to your crontab. Adding crons can be a bit overwhelming at first, and quite confusing. Do not be discouraged by all the info, cPanel will do a large majority of the setup for you. Just pick a time to run, add your command, make sure to send the output to either email or /dev/null. If you have issues, I would recommend contacting your web host to see if they can help you out.
The File Manager is just what it sounds like. If you have ever used a computer, then the file manager should feel familiar, just in a web browser. Click on the "File Manager" button and you will be presented with a whole new window with a lot of buttons and folders. On the left side is the directory structure of your home folder. From here you can choose to make new folders, or browse to current folders. The right window will show you what files are in the folder you have chosen on the left. You can select files, or folders, in the right pane that you may want to modify. For example, if you want to modify your .htaccess file for a given site. One gotcha is the fact that, by default, cPanel does not show hidden files. These are files that start with a "." period. To enable viewing and modifying of hidden files/folder, click on the settings button located in the very top right. A new window will pop up, find the option for "show hidden files (dot files)" and put a check next to it and click save. You should now see all the hidden files and folders. Now you can browse to the .htaccess file you want to edit, select the file and click "edit", a new window will open, make your change and then click "save changes". Some other options you might use is "view". This allows you to safely view the contents of a file without the possibility of accidentally changing the file. Copy is used to make a backup copy of the file. I would highly recommend creating a backup copy of a file before making a change, accidents do happen. Never delete any folders that you are not sure you can live without on the left pane. Some of these folders are created by cPanel for various reasons and applications. Deleting folders at random, or accidentally could result in your cPanel account needing to be restored or mail being deleted. You don't want to run into issues, so use caution when in the file manager. Folders of note, public_html, is the location of your primary account domain. Any folder outside of this area with a name like a domain, will likely be a addon domain that was created. Any folder named ".well-known" is used for AutoSSL, do not delete these folders. The folder named mail, is where your email is stored. The folder named etc and var, is where cPanel stores some critical config files for your account. Public_ftp is the public ftp space, if you have one setup. I just want to stress, do not delete random folders and files, bad things will happen. If you start deleting stuff, make sure you have a full backup of your cPanel account just to be safe.


text:
Kingsport foundation's work is of global importance in Ebola battle
By Marci Gore / Kingsport Times News
A foundation led by the Rev. Caryl Griffin Russell, a Holston clergy member, was recently called on to help battle a deadly disease in West Africa.
KINGSPORT, Tenn. -- The work done by the Elizabeth R. Griffin Research Foundation has recently become more well-known across the globe. But, according to Jim Welch, the executive director of the foundation headquartered right here in Kingsport, many local folks don't even know the foundation exists, much less what it does.
However, because of the Ebola outbreaks in West Africa — as well as a handful of cases of the virus in the United States — it turns out the work of the Elizabeth R. Griffin Research Foundation (ERGRF) is something we all may be hearing more about in the coming months, or even coming years.
"Yes, here we are, in little ole Kingsport. We've always just kind of flown under the radar. But what we are doing is of global significance. We're going to become very public in what we do," Welch said. "I want the community to be proud of what we do."
The ERGRF was started in 1999 following the death of Kingsport native and Dobyns-Bennett graduate, Beth Griffin. Beth was working as a research assistant at Yerkes Regional Primate Research Center at Emory University in Atlanta in the fall of 1997 where she was engaged in behavioral research on hormonal influences in the Rhesus Macaque — or the Rhesus Monkeys. While performing annual physicals on 100 monkeys in a research compound, Beth was splashed in the eye. Beth immediately feared she would become infected with the Monkey B Virus.
Read Oct. 26 story in the Kingsport Times News.


Symbolic substitution is a spatial logic which is adapted well to optical processing. Unlike Boolean logic it also includes spatial information in the coding. It requires only regular interconnections and nonlinear devices with limited fan-out. Nevertheless the potential of this kind of logic ranges from parallel binary arithmetic to a programmable MIMD processor. Fundamentals of symbolic substitution and its applications are presented.
© (1988) COPYRIGHT Society of Photo-Optical Instrumentation Engineers (SPIE). Downloading of the abstract is permitted for personal use only.