text:
Non-Pedigreed Cats & TICA
What's A Cat Show?
Cat Agility Tournaments
TICA's Good News Contest
Disaster Plans
What Color Is My Cat?
Grieving the Loss of Your Cat
TICA Creative Corner
Fun Feline Downloads
Breed of the Month
Browse All Breeds
Find A Cat
Breeder Ads
Best of International
International Winners
Best of Breeds
2020 Best of Breed
Cat Of The Year Gallery
TICA's Top Cats
2020 Top Cats
Owners & Breeders
Register My Cat
Estimated Standings
Registered Catteries
Outstanding Cattery Program
Therapy Cats
Breeder Education
Charter A New Club
Put On A Show
Breed Standards
Cat Colors & UCD
TICA Trend
TICA Yearbook
Breeder Services
Judging Services
Advertise With TICA
Breeder Advertising
Promoting TICA
About TICA
Ballots & Elections
Join TICA
Our Forms
TICA News
TICA in the Media
Science Newsletter
Board Members & Regions
Breed Committees
Show Reporters
Judge Awards
TICA Treasures
My TICA
Activate TDS Online Account
Unsubscribe from Printed Trend
"My TICA" Login
TDS Login
The Executive Office can be reached via telephone during regular business hours. Monday – Friday 8:00 a.m. to 5:00 p.m.
Staff is working diligently to process tickets received during the week of November 30th.
The Persian Breed
Category: Breed of the Week
Persian Breed at A Glance
One of the oldest and most recognizable cat breeds, the Persian cat is the parent breed for the Persian Breed Group, which includes the Persian, Himalayan and Exotic Shorthair breeds. They share the same body type, but the Exotic Shorthair's short coarse hair differs from the long hair of the Persian and Himalayan. Known for their sweet, flat face, large, round eyes and fat cheeks, they get along with everyone. Find out more about this breed and if a Persian is right for you and your family.
Temperament: Quiet, Gentle, Sweet
Size: As with all cats in the Persian Group, Persians are medium sized, but appear larger than they really are due to their massive fur. Males are larger than females.
Colors: White, red, cream, black, blue, chocolate, lilac, silver, golden, tortoiseshell, blue-cream, tri-color, and sable. Persians also come in a variety of patterns, including tortoiseshell, bicolor, tricolor, tabby, smoke, shaded, and Himalayan (a light colored body with darker points, and blue eyes).
Life Expectancy: The Persian is a very healthy breed and can be expected to live between 8-11 years.
About the Persian
Gentle and quiet, Persian cats prefer being in a calm environment. They are very easygoing and prefer lounging on a sofa with their families. Persians communicate with their expressive eyes and soft, harmonious voices. They are an adaptable breed and will enjoy living with any family as long as they are loved and treated gently.
Cats in the Persian Breed Group are placid and exhibit bursts of kitten-like activity. They can be sleeping in the sun one minute and suddenly explode into action, running through the room and rolling around the next. Persians like to play with interactive toys, chase balls, and catnip mice, but you might have to keep after them to exercise on a daily basis.
Persians will stretch out next to you, sleep in your bed, and sit on your lap when they are in the mood. They do not mind changes in routine and are generally friendly with everyone.
TICA Regions, Clubs & Rescues
Want to connect with fellow cat lovers and those who love the same breed as you?
TICA is a large resource made up of smaller regions and clubs around the world.
Click here to find a club near you and contact information for your regional director and website.
Wherever you are, you're in TICA's world!®
Find a Kitten: TICA Breeders
The TICA website is the only place where you can find TICA member breeders who have signed the TICA Code of Ethics.
Click here to find Persian Kittens.
The Persian coat requires daily attention. Cats must be brushed and combed in order to keep the coat from tangling. In addition, the flat face must be cleaned regularly and carefully as tearstains can be deposited on the face.
Nails should be trimmed more frequently (once a week) when they are kittens and less frequently (every 2-3 weeks) as an adult. As with any cat, regularly brushing of teeth is recommended. Talk to your vet for instructions and suggestions.
Similar to any cat, the Persians and those in the Persian Breed Group need proper protein and nutrients. A high-quality diet is recommended. After altering (spaying/neutering), they have a greater tendency to become overweight, as with any cat. Owners should be aware of both the quality and quantity of foods being fed.
Fresh water should be available at all times. Water bowls should be washed and refilled with fresh water daily. As with all cats, it is important to give your cat fresh, clean water daily so they don't hesitate to drink. If you worry about your cat drinking enough water each day, here's a tip from some cat behaviorists: place the water bowl at least three feet away from any food. Cats' noses are sensitive and an overwhelming smell of food may cause them to drink less. Many Persians do better with water fountains. It helps keep the hair on their chin and chest drier.
Owners of Persians, Himalayans and Exotic Shorthair breeds should check with their breeder and veterinarian to ensure their cat has been checked for the following: Polycystic Kidney Disease (PKD), respiratory problems, eye problems, such as Progressive Retinal Atrophy (PRA) and Hypertrophic Cardiomyopathy.
The Persian cat is an ancient breed of cat and, as with other ancient breeds, their history is a bit clouded. Longhaired cats were in Italy in the 1500s. These cats were imported from Asia. In the 17th century, Pietro del la Valle brought a cat from Persia to Italy to add to the breeding program. This cat may well have been a cat known in Persia as the Sand Cat, a cat who lived in the desert. This Sand Cat had a woolly coat, much like a steel soap pad, to protect her from the environment and permit her to live in the sand.
About a hundred years later, Nicolas de Pereisc acquired some longhaired cats. These cats came from Turkey, which is also the home to the Turkish angora, a different breed of longhaired cat. In the 19th century, the descendants of these Turkish cats were bred with some of the cats from Italy, and that was the beginning of the modern Persian. Although this breed is ancient, it is also man made.
The popularity of the Persian was enhanced when Queen Victoria and other royals fell in love with this stunning breed. They were introduced into the United States at the end of the 19th century, where they soon became popular.
The Persian cat is one of the oldest cat breeds and can been seen depicted in hieroglyphics as early as 1684 B.C.
Persians made their American debut in the early 19th century.
Similar Breeds:
Himalayan and Exotic Shorthair cats
Opposite Breeds:
Siamese, Balinese, Oriental Longhair, Oriental Shorthair
From the Breed Standard
The ideal Persian breed is a strong cat with excellent boning and musculature, a well-balanced cat, giving the impression of robust power. The face should be round with a sweet, pleasant expression and large, round expressive eyes. The cat should be well-balanced physically and temperamentally, gentle and amenable to handling.
Click here to read the full TICA Persian Breed Standard.
Additional information and an introduction to the Thai breed can be found in the links below:
Persian Breed
Accepted For Championship in TICA in 1979
Persian Breeders
Breed Committee
Breed Seminar
Breeds	|
Browse All Breeds |
Breed of the Week |
TICA Login
Breeder Listing
Abyssinian Breed
Abyssinian Breed Committee
The Future of TICA
Congratulations to Yuki Hatori for 40 years as a TICA judge!
TICA August 2020 Newsletter
New York Cat Film Festival
TICA's GOOD NEWSletter! - 5-1-2020
TICA PayPal Link
Wherever You Are, You're In TICA's World®
Legislative Policy
Copyright © 2021. TICA - The International Cat Association. Designed by Shape5.com Joomla Templates


text:
NASA IV&V Matters
Tag: newhorizons
The Pluto Mission: "High Fives" for a Resounding Success
When Clyde Tombaugh (1906–1997) discovered a tiny object on a pair of photographic plates, one has to wonder if he could have foreseen that it would take 62 more years to find another object in the distant solar system or that it would lead to a yet to be discovered region of space. In 1930, rocketry was still in its infancy and deep space travel was the work of popular science fiction. Therefore, it would have been a far off dream for Tombaugh to think about visiting his discovery, which we now know as Pluto. However, on July 14, 2015, that is exactly what he will do, when the New Horizons spacecraft makes a Flyby of the Pluto-Charon system. New Horizons is carrying a sample of Tombaugh's ashes donated to the mission by his wife, Patricia Tombaugh (1912–2012), to commemorate his discovery of Pluto.
Clyde Tombaugh: Discoverer of Pluto February 4, 1906 to January 17, 1997.
For people that grew up in the educational system of the United States prior to 1992, Pluto was always the Ninth planet from the Sun and an anomaly when compared to the rest of the planets in our solar system. The Inner planets are characterized by being similar rocky bodies that are relatively close to the sun. Next there were the Outer planets, consisting of large gaseous planets with tumultuous atmospheres. Then there was Pluto; a small planet rotating around the sun in an elliptical orbit that was out of plane with the rest of the planets. The questions of why Pluto was different were not able to be answered until technology allowed for better views of deep space. In 1992, The first trans-Neptunian object since Pluto and Charon was discovered in 1992 and since then more than 1,500 objects have been identified. This region is characterized by small ice worlds that orbit the sun in vast number of Astronomical Units beyond Pluto and has been called the Kuiper Belt.
The idea to send a probe to visit the region started to form in the early-1990's. And although there were many proposals for missions that would visit the small planet, it wasn't until NASA established as part of the New Frontiers program that a stable stream of funding was made available to fund such a mission. It was in this climate that the New Horizons mission was born. Led by Alan Stern as Principle Investigator, New Horizons is a joint effort between the South West Research Institute and the Johns Hopkins University Applied Physics Laboratory (APL). APL provides for the mission management of the spacecraft.
New Horizons was launched from Kennedy Space Center on January 19, 2006 aboard an Atlas V rocket with second and third stages to provide it the necessary velocity to be the first spacecraft launched directly into a solar escape trajectory. The primary goals of the mission are to map the surface composition and to characterize the global geology and atmosphere of Pluto. This data will help provide context for the formulation of the Pluto system and establish some understanding of its role in the formation of the early solar system. Its extended mission is to encounter one or more objects in the Kuiper Belt beyond Pluto and conduct similar data collection exercises.
In order to accomplish these goals, the spacecraft has a suite of seven science instruments.
Alice is an ultraviolet spectrometer used for measuring gas composition
Ralph combines an infrared spectrometer (LEISA) for mapping surface composition with a color optical imager (MVIC) for mapping surface structure and composition
REX is a radio experiment for measuring atmospheric composition and temperature
LORRI is an optical telescope that provides the highest resolution imaging of the surface
PEPSSI is a plasma-sensing instrument for measuring particles escaping from Pluto's atmosphere
SWAP is a plasma-sensing instrument for measuring the properties of the solar wind at Pluto, Pluto's atmospheric escape rate, and for searching for a magnetosphere around Pluto. The "solar wind" is a stream of charged particles streaming away from the Sun at high speed.
SDC, an instrument used to measure dust impacts at the New Horizons spacecraft during its entire trajectory, was built by students at the University of Colorado!
New Horizons spacecraft instrument layout.
To get a sense of the size of the spacecraft, it is possible to see a scale model of it hanging in the Udvar-Hazy Center, which is the National Air & Space Museum Annex at Dulles International Airport. The spacecraft has been compared to the size of a baby grand piano.
Model of New Horizons hanging in the Udvar-Hazy National Air & Space Annex.
Subsequent to the launch of New Horizons, the International Astronomical Union reclassified Pluto from planet to dwarf planet status. However, this does not diminish the historical nature of the mission. The science data collected will greatly enhance the science communities understanding of Pluto, be able to validate assumptions and speculations about its surface features and compositions, and hopefully inspire the next generation of deep space scientists.
My Recollections of New Horizons IV&V
The IV&V planning and scoping efforts for the New Horizons mission began in late 2002. The CARA process was used in establishing the scope of the analyses performed. It was determined that Command and Data Handling (C&DH), Guidance, Navigation & Control (GN&C) and the Ralph instrument were to receive full life-cycle IV&V. There were two instruments which were determined to be of sufficiently low risk and not significant contributors to the primary science goals and therefore were not provided any IV&V coverage. Those were the REX and SDC instruments. The remainder of the instruments suite were addressed via IV&V requirements and test analysis activities. There was also some initial work performed on the Ground Software, but it was high reuse and it was determined that further work in that area would not be productive use of IV&V efforts.
One of the tasks performed during the New Horizons test campaign was an analysis of the Comprehensive Performance tests. This required additional IV&V analysis resources to be added to support the timely analysis of that large set of test artifacts. This type of analysis was needed due to the way that APL had structured their acceptance testing, for which IV&V had generated a risk. They had placed requirements verification into the system test world where it was exercised in a more day in the life kind of way.
Due to the tight constraints that were placed on the launch window, APL decided to slip functionality to a post-launch upload. They had one period that extended in January 2006 and allowed for the Jupiter Gravitational Assist and one that was in February 2006 that was a direct to Pluto launch and would have added four years to the time line (missing those two would have been a significant launch delay). They ended up making the window for the gravitational assist. Therefore, we performed C&DH and GN&C analysis post-launch, primarily this was code analysis and final test analysis. I believe there were two in-flight issues with the GN&C processor, which we supported. Ultimately, one was determined to be in the Detection and Correction Code (EDAC) hardware and the other was a problem with the autocoder.
Over the 9 year history of the mission, there were only two safe mode entries, that I am aware of. One occurred back in 2007 and was similar to the GN&C reset related to EDAC hardware. The other happened July 4th and appeared to come from trying to use the software differently than originally intended. The original operations philosophy was that they would start N number of weeks prior to the fly-by and start taking data. They would keep taking data until about the same N number of weeks past the fly-by (part of that was the occultation data collection and some radio experiment), then compress, then downlink. Downlink was to take on the order of nine months. Over the years, it seems they have revamped their operational plans based on the lessons learned from their Jupiter fly-by and from yearly encounter planning meetings. So when the safe mode entry happened, they were uploading a command sequence, while taking data and compressing data, so the sequencing got overwhelmed.
The bright heart shape area is possibly covered with a frost of frozen methane, nitrogen, and/or carbon monoxide
I find this mission fascinating. In the time that New Horizons has been cruising to Pluto, I was married, my son was born, I watched him learn to crawl, learn to talk, learn to walk, lost my wife, and have seen my son complete nearly a quarter of his schooling. I hope this event inspires kids of his age to aspire to be the next generation of discovery leaders.
Van Casdorph
NASA's Independent Verification & Validation Program
Author Bailee MorrisPosted on July 23, 2015 July 24, 2015 Tags IV&V, mission, NASA, newhorizons, pluto, spaceLeave a comment on The Pluto Mission: "High Fives" for a Resounding Success
AFSS (1)
arizonastateuniversity (1)
computerscience (1)
Dayinthepark (1)
electricalengineering (1)
Fairmont (1)
Bailee Miller (48)
Jennifer Neptune (1)
NASA IV&V Matters	National Aeronautics and Space Administration NASA Official: Brian Dunbar

redpajama_set_name: RedPajamaCommonCrawl


Congratulations to Tricia Nielson for being awarded Outstanding Employee for Riverview Elementary! Horace Mann presented the award to Mrs. Nielson. We are so blessed to have you at our school! Thanks for all you do!
Riverview students had a great time during the school chalk walk fundraiser. Thank you to everyone who participated! It was a blast!
Thursday Family Night At The Book Fair!
Tonight is Riverview's Family Night at the book fair!
Riverview students had an assembly to announce the March Reading Champion Challenge Winners. Congratulations to the seven winners! Each winner received two tickets to the rodeo. The grand prize winner received a pair of Wrangler jeans, a cowboy hat, and cowboy boots. Great reading Riverview!
Mrs. Lopez was awarded the Crystal Apple Award! Horace Mann presents the Crystal Apple Award to a teacher each year. The recipient is chosen by the faculty and peers. Mrs. Lopez teaches fourth grade and loves it! One faculty member commented that Mrs. Lopez is always full of ideas and is willing to share her ideas. Another facutly member said Mrs. Lopez is easy to work with, loves her students, and loves what she does. We are very lucky to have Mrs. Lopez here at Riverview. Congratulations Mrs. Lopez! Thank you for all you do at Riverview!
At Riverview we support friendship, encourage kindness, and celebrate courage. When a child is in need of a friend or having a bad day, wait right on the buddy bench and a friend will be on the way!
Friday, April 14th, 1:30-3:00! Come watch us walk or come walk with us!
Families can come "set up camp" on the grass field and on locations along the course. Plan to bring folding chairs or a blanket or your walking shoes, depending on if you want to walk with us or watch. No bicycles or pets.
The Chalk-Walk represents all that is really great about Riverview. Because all are participating, our students can be proud to contribute directly and individually to the school. On this one day in April, we come together to support and celebrate our kids.


text:
Barnes & Noble Claims That Public User Names Are Private Info; Refuses To Restore Blog With Comments
FCC Commissioners All Claim 'The Other Guy' Came Up With This Crazy Broadband Tax Idea
Google's Autocomplete Dilemma: Every Concession Makes It Easier For The Next Person To Complain
from the infringement-vs.-defamation dept
Wed, Sep 12th 2012 07:21am - Timothy Geigner
Back when Google decided to be the arbiter of what words were strictly for infringement in its previously useful autocomplete function, some of us saw the looming danger of such a move, in that it opens up Google to requests for all kinds of autocomplete modifications. The theory was that Google could placate movie studios and record labels by refusing to let autocomplete add words like "torrent" to searches, because lord knows that there isn't a legitimate use for those damned things.
But the problem with the permission culture is that it lives by that old adage: give an inch and they will take a mile. So, as was inevitable, what began with "torrent" and media files soon became fights over autocompletes like "jew" and non-infringing search results. And, as Google opens the door another inch each time it caves in, the floodgates continue to threaten. It would be problematic for Google to assert selective moderation of autocomplete. If they will block autocomplete terms for media files, why not defamation? If they'll block defaming terms, why not parodies? If they'll block parodies, why not controversial negative articles?
That's how we've arrived in a world where the wife of a disgraced former German President is suing Google because autocomplete offers suggestions like "escort" and "prostitute" to complete a search of her name. Bettina Wulff is the wife of Christian Wulff, who resigned the Presidency amid allegations of corruption earlier in his career. For whatever reason, there have long been rumors that she had a colorful past and those rumors spread like wildfire on the internet.
"My pseudonym is supposedly 'Lady Victoria' and my workplace was apparently an establishment called 'Chateau Osnabrück,'" Wulff writes, according to Bild. She continues: "I have never worked as escort." The rumors have been very hurtful for her and her family, Wulff writes, describing her concern that her young son Leander might discover the speculation while surfing the Internet.
Wulff, working with her lawyers, has successfully sent a myriad of cease and desist notices to bloggers and television personalities, some of them quite well known in Germany. Assuming the allegations are as false as she claims, that's all good. But now she's bringing Google into the mix because autocomplete…you know…works the way it's supposed to.
But last week they took on Internet giant Google too, filing a defamation suit with the Hamburg district court to force the search engine to remove a long list of damaging terms recommended by its "Autocomplete" function in connection with Wulff. Google, which has refused to comply, claims that the search suggestions are simply the result of an algorithm. The company seems confident about the lawsuit, having won similar cases in court with claims that the search engine only reflects what people search for most often online.
But… thanks to Google's double standard in editing for copyright, it's making it easy for some to argue that it should also do the same for stories like this one:
Simply put, Google's position is this: In response to pressure from a powerful lobby, the company will block search terms and hits, forcing undesirable results lower on their list of links. But when it comes to individual people, Google unscrupulously links users to websites that violate their personal rights.
[….]It would appear that Google's position on intervening in search results and suggestions depends on the influence of the parties involved. It hides links to pirated material, but not those that violate personal rights, and it places links to its own products prominently in its supposedly objective results.
Google appears to choose what is objectionable based on what might be bad for business. The company may well come through Bettina Wulff's suit legally unscathed. But ethically, questions will remain. Google's choices in the matter seem opportunistic. Given the quasi-monopolist's powerful position in the market, that is unsettling.
Whether or not you agree those claims are accurate, you can't deny that Google made such arguments much, much easier when it started editing autocompletes and search results in favor of copyright holders.
Despite what I think is a common sense notion that Google shouldn't need to bend its autocomplete algorithm under notions of comfort, the fact that it's opened the door to doing this before will make replying to this and other suits more problematic. A Google spokesperson is quoted in the article saying that the company won't give in this time because its autocomplete suggestions are objective. That may have once been the case, but it simply isn't any more.
Filed Under: autocomplete, bettina wulff, defamation, double standard, edited results, germany, search
Companies: google
The Making Of A Moral Panic, Courtesy Of The NY Times
Delaware Court Says Dominion Voting Systems Can Continue Suing Fox News For $1.6 Billion In Defamation
Germany's New Government Promises To Support End-To-End Encryption And Reject Backdoors
Canada Strikes Again: Allows Lawsuit Against Twitter To Proceed Over Speech Of Twitter Users
Court Tells MyPillow CEO That Allegedly Dating An Actress And Buying Her Alcohol Isn't Defamatory
Comments on "Google's Autocomplete Dilemma: Every Concession Makes It Easier For The Next Person To Complain"
We all saw it coming and I hope it serves as a lesson before Google decides to give in to other MAFIAA tantrums. It's obvious they know no bounds and no limits in their demands and whining. But it seems to be a human trait to whine and demand without thinking. If this woman was smart she would just let it go and keep a low profile. Now she'll be forcefully introduced to the Streisand Effect 😉
On a side note and for my enlightenment: Jew? Is it a bad word? What's the English word for that group?
Betasays:
"Jew" is not exactly a bad word, but the subject has become so sensitive that many cautious speakers say "Jewish person" or "Jewish people". (Personally I use "Jew" for several reasons, including my belief that people should defend language against such nonsense.)
Oh so a proper word would be Jewish. Interesting, I thought Jewish was used as a synonym to Hebrew (the language at least). Like Arabic, Arabian, Arab. The Bible uses Hebrew to describe the Jewish ancestors so it's a bit confusing.
I guess this is pretty much the same issue with Jap/Japanese. I sincerely use Jap with affection in the sense I both like the Japanese and their culture generally speaking. And yet I've been scorned for using it because of WWII incidents. Makes no sense, why keep something that happened in the past interfere with today?
I have never before heard "Jewish" used as a noun to refer to the language.
I like Japanese people and culture too, but "Jap" and "Nip" were the terms we used in WWII, and are (to me) inseparable from the idea of the Japanese as the enemies in that war– and the more of them you can kill in a day the better. I will use those words in that context, but the idea of using them to refer to anyone or anything today makes me shudder.
I hope that doesn't make me sound like a hypocrite!
Is it a bad word?
Some people think so.
techflawssays:
Case in point: some German bloggers already sympathize with Wolf cause since Google already filters terms like "f*ck" it could do so as well with "prostitute" and if it doesn't if must have some kind of agenda. Algorithms be damned!
the dilemma for Google should be when to start fighting all this copyright crap and the subjects they are going to fight over! this continuous backing down, giving in, is going to come back and bite them seriously hard in the arse and serves them right. having no thought for the people who put them where they are is pretty disgraceful. leaving the door open for as many different items to be complained over by as many people as there are in the world is bloody stupid!
Indysays:
They aren't fighting it because they are competing in the same markets as MSFT, Amazon, APPL, all of which also rolled over to get copywritten media.
Media sells search/hardware/etc, so these tech giants capitulate [likely grumpily, but with large stacks of cash].
We crossed that line a while ago. This is from last year: http://www.techradar.com/news/internet/google-loses-autocomplete-lawsuit-941498
You had it coming, Google. You never become MPAA/RIAA's bitches. Ever. Once you do, things just get worse and worse from there.
Anonymous Cowherdsays:
The moment Google started to moderate autocompletes, it stopped being "simply the result of an algorithm."
Mesonoxian Evesays:
I'm in agreement with Google's failure to make a stand, and everything befalling them is a result of their pick-and-choose battles.
I mean, what company caters to an industry which then turns and sues them anyway, leaving a gaping hole like this to be a problem?
Their motto of "Don't be evil" obviously never reached the desks of those who are now trying to force what an auto-complete option will do next.
Personally, there is one thing I've noticed: Google has gotten too big for itself. Just as with any company with such power, it seems absolutely inevitable they destroy every element which made them popular in the first place.
Not only do they filter their auto-complete lists, but image returns as well (while comically stating some were removed by DMCA notices which can be read at chillingeffect.org).
I believe Google's setting itself up to allow a competitor to try its hand at being a search engine. The company which does it first with "Search in retail or search on the web" will win.
Damn, am I sick and tired of Google returning nothing but retail crap after "wikipedia" or "imdb" results.
I'd insert an eye rolling icon, but TD doesn't offer me the option.
So how would you like an autocomplete for your name + child molester or your name + cocksucker? How is that right (assuming it's also untrue)
Collapse replies (14)
I wouldn't like it. But that doesn't mean it should be against the law. I don't like gospel singing. I don't like homeopathy. I don't like the Star Wars prequels. How many times must we have this argument?
that would only happen if people were searching for that. and that would only happen if you gave people a reason to make an article saying such
Chris Brandsays:
Ultimately, it would be a statement of fact – "a significant number of people have been searching for this combination of words". What more is there to say ? It really shouldn't matter whether I like the particular fact or not, I shouldn't have any way to prevent others from stating it.
What Google should have done when the RIAA+MPAA came along insisting that they filter autocomplete is to instead put a hefty disclaimer/explanation of exactly what autocomplete is. Of course they'd sue anyway, but they'd have a tough time getting a court to say "No, Google, you cannot legally state that fact".
Chris, isn't it possible using a concerted effort to create autocompletes to deliberately associate libelous terms with an individual's name? Is that OK?
Sure it's possible, but in that case the person/people doing those searches are the ones at fault (and there could be a claim for defamation there, I guess), not Google for reporting the fact that those searches are happening.
To what benefit. And would the people that know you believe it? After all, it's an algorithm that apparently can be gamed. If people take it at face value it probably says more about them than about anything else.
JMTsays:
Yeah, that's definitely the easiest way to attack somebody online, and is clearly a serious problem that must be fixed!
Yeah Rightsays:
Very sensible post.
Not to be rude, but this statement implies Google's the one putting together the auto-complete, and that's simply not true.
If 10,000 news stories relates your name with child molester, you can be sure the auto-complete will pick it up as it was written.
I don't imagine Google has a whole building filled with employees in a meeting discussing how auto-completes should fill when asking why there are only 8 buns for every 10 hot dog packages.
I understand your point, but as noted by an earlier post- Google is "fixing" certain autocomplete results. Allowing autocompletes to be a vehicle of character assassination doesn't seem right, if it is being used in that fashion. Better to drop autocompletion entirely.
Scottsays:
Is there any evidence — any evidence at all — that autocompletion is being used as "a vehicle of character assasination"?
Franklin G Ryzzosays:
I could agree with dropping autocomplete all together as I don't find it adds any value to my search results, but it shouldn't have anything to do with the results that are reported. It simply states a fact about what the most searched for next word is based on the word being typed. If people are typing this woman's name and then typing the word whore or prostitute there is no moral obligation for Google to censor this as they are not making a judgment or expressing an opinion.
Google's autocomplete doesn't make suggestions, and if they are going to continue the service, it should work as it was intended to. If the allegations are untrue, it is a shame that people are making these accusations, but none of this is Google's fault or problem.
Brendasays:
Maybe she shouldn't have prostituted herself.
fenixbroodsays:
Finding info
I'm a C# developer I have I do see a noticable less relevant results for things I want to see. I search for terms like "C# bittorrent" "c# monotorrent" "free .net torrent" "metro books torrents" "dht torrent protocol" "custom torrent client" "bundle torrent"
The truth is that auto complete is probably just a fairly bad idea in the end. It has all sorts of bad implications, and really doesn't add as much to their search as they would like.
I always think of it as a way to guide people to the highest paying advertisers, not a way to help them search.
Do away with it.
Mr. Oizosays:
The thing is...
The thing is that I don't care whether Bettina Wulff was a hooker or not. But I do care about the fact that that family tries to censor internet.
Manoksays:
Why censoring on autocomplete yes, and search results (which are (were) the same) no?
Then if Google were to remove this autocomplete feature altogether, will the complaints redirect to the search results themselves?
And if Google removes this feature, wouldn't we get simply a bunch of FireFox plugins which will do this autocomplete stuff for us, directly from pounding the search results?
http://mafiaafire.com/download.php
The do no evil plugin replaces censored auto complete terms. A pity they couldn't port to Chrome.
We all know what the plan is
media files -> defamation -> parodies -> controversial negative articles -> any negative article -> any critical article
Google is facing serious pressure. They will not stand up to this pressure, they will try to compromise, and cave. Let's face it, we need a new search engine. I too have noticed I need to spend more time searching, because Google is fiddling with the order of the search results.
I've also noticed a worrying trend that critical speech is increasingly being lumped together with harassment, trolling and hate speech. More and more, only voicing the official line is acceptable, and voicing a critical opinion is seen as agressive, socially unacceptable behavior.
Re: We all know what the plan is
I can help! I found a page listing a ton of search engines the other day:
http://www.philb.com/webse.htm
I like DuckDuckGo myself.
DannyBsays:
Just get rid of Autocomplete -- courtesy of Big Media
Google could just get rid of Autocomplete. Put a notice on their front page that this was courtesy of Copyright Maximalists.
Zossays:
with every story i move a little closer to switching my searches to duckduckgo.
Jeffrey Nonkensays:
"The theory was that Google could placate movie studios and record labels by refusing to let autocomplete add words like "torrent" to searches, because lord knows that there isn't a legitimate use for those damned things. "
And because lord knows that nobody on the Internet is smart enough to add "torrent" by hand to any search term.
"A Google spokesperson is quoted in the article saying that the company won't give in this time because its autocomplete suggestions are objective. That may have once been the case, but it simply isn't any more."
Google is now a little bit pregnant.
monkyyysays:
note to self, duck duck go is probably better then googles 2nd page by now
peopleagainstheftsays:
This is nuts. Remember that copyright is how artists and journalists and artists and writers get paid. Censorship is when you cut off how artists and writers get paid – somehow thinking that someone's desire to hit "forward" or avoid paying $0.99 for a track trumps someone's 10,000 hours of practice and years of hard work to create something for all of us to enjoy. But if you actually understand that, then you say "ok, nothing's perfect, but let's try some stuff that's reasonable and deters piracy." The slippery slope argument has been so overused it's akin to saying we should ban matches because someone might light a house on fire. How about saying that making piracy just a little more difficult is not a bad step, but we should guard against it going too far.
How about saying that making piracy just a little more difficult is not a bad step, but we should guard against it going too far.
Going by the attempts that copyright holders and enforcers have been having, with their spectacularly atrocious records of collateral damage and complete failure to solve the problem, you'll forgive us if we're somewhat cynical of all further attempts.
Leave a Reply to Brenda Cancel reply


I'm enclosing our suggested itinerary for you and your party's review. You'll note that there is an option at the end of your trip to choose either a community service project or a trek in Maasai land accompanied by Maasai warriors. Either choice is fine and does not affect the final trip cost.
The community service project consists of working with young schoolchildren, teaching them English for several days and helping with manual labor on construction projects. I imagine you'll have an idea of things from your recent time in Africa, though perhaps your friends will not. It provides a chance to give something back to the place and people with whom you'll have been sharing and living.
The other option is a trek in Maasai land accompanied by Maasai warriors, in addition to your Patagonia Frontiers' guides. This would be a unique opportunity to observe their land and quickly changing way of life. I think a group of 17 year-old boys would be in hog heaven with this option, but you and your friends may enjoy it for other reasons.
As you know, I won't be able to directly guide you myself as I have previous commitments (Nancy's note: John is leading our NCC West Bolivia expedition in July). I have engaged the services of a valued friend and previous employee from my time as Director of NOLS Patagonia. He is a Kenyan National who has worked extensively throughout the world, including here in Chile, the U.S. and throughout East Africa. He was the Assistant Director of NOLS East Africa before that program closed and has been instrumental in the start up of NOLS new Tanzania program, due to begin this coming year. He is also owner of an adventure travel company in Kenya and due to our relationship is willing to collaborate with Patagonia Frontiers on your trip to Tanzania.
I have asked that special care be taken in your circumstances and we have conferred quite a bit on choice and number of guides. Even though you are a party of only three I've arranged for two guides to be with you throughout your trip. I feel this will provide you and your friends with excellent, secure arrangements with which to enjoy, benefit from and appreciate your program. The specific guides being looked at are former NOLS East Africa instructors who have trained in the U.S. and worked in Kenya and Tanzania, as well as others who have worked university programs with international students. These individuals have training, experience and track records that set them apart from the majority of other available guides and as such we'll have to commit to hiring them relatively soon if we wish to secure their services.
Both of these guides will accompany you on the Kilimanjaro climb in addition to the Tanzanian mountain guide that we are obligated to hire as per park regulations. On safari you will be accompanied by one of these two guides as well as your guide/driver from the safari company, with the return of our second guide for the final portion of your program.
The cost for the proposed itinerary is $7,000.00 per person for a party of three. The cost is inclusive of all entry and park fees, airport pick up and drop off to Kilimanjaro airport, all transport while in Tanzania, food while on the mountain, safari, service project or trek, and all in town time, mountain and trek support crew salary, two private guide's salaries, and AMREF (African Medical and Research Foundation) insurance. The cost does not include tips to personnel on the mountain or your guides, in restaurants, or to your safari driver (I can provide ideas on this later if you'd like). The cost also does not include any room service items or international calls from your hotels or lodges, personal equipment for the mountain or trek, or bottled beverages.
Please have a close look at the information and let me know what you think. If you and your friends approve the itinerary then we'll move to next steps including getting you an equipment list so you may begin preparing for the trip. You mentioned that your mother had several questions and I'd be happy to address any questions that you, your parents, or your friends or their parents may have.
I've been guiding and enjoying Tanzania for years and am pleased to be able to offer you this program. I think you'll find it to be a marvelous and memorable experience.
Day 1 Depart country of origin for Kilimanjaro International Airport, Tanzania (JRO).
Day 2 Arrival in Tanzania. Airport pick-up, guide greeting and transfer to Lush Garden Hotel in Arusha.
Day 3 Rest day/delay day. You'll spend the day relaxing after your international flights. After breakfast you'll have an orientation and equipment check followed by an afternoon walking tour of town. O/N Lush Garden Hotel.
Day 4 Machame Route start to finish.
Distance is 64 km/39 miles in 7 days. Elevation gain is 4,891 m/ 16, 044 ft. Elevation loss is 5,020 m/ 16, 444 ft. Start Machame Gate 1,830 m/ 6,000 ft. End Machame Forest Camp 3,000 m/ 9,900 ft. Distance is 10 km. / 6 miles.
You and your guides will travel in 4×4 vehicle to the Machame Gate following a winding road through cultivated fields and glades of forest. You'll register with the park service and meet your support crew from the Chagga Tribe, inhabitants of the slopes of Kilimanjaro. They'll be an integral part of your journey and become friends with an insight into the local culture and environment. The climb passes through rain forest with Colobus and Sykes monkeys to the edge of the giant heather zone.
Day 5 Start Machame Forest Camp 3,000 m/ 9,900 ft. End Shira Camp 3,800 m/ 12,500 ft. Distance is 8 km/ 5 miles.
Today's route is through the heath forest and into the moorlands. This zone is sprinkled with two species of giant groundsel, the Senecio and the Lobelia, both of which could be straight out of a Dr. Seuss story. Camp on the Shira Plateau has fascinating rock features and occasionally sees herds of Eland wander through.
Day 6 Start Shira Camp 3,800 m/ 12, 500 ft. End Barranco Camp 3,900 m/ 12,900 ft. Distance is 10 km/ 6 miles.
Today you'll climb to a high point of 14,800 ft. to cross a ridge near a feature named Lava Tower. You'll spend some time there acclimatizing and eating lunch before descending under the impressive Breach Wall to the Barranco Camp.
Day 7 Start Barranco Camp 3,900 m/ 12,900 ft. End Karanga Valley 4,055 m/ 13,300 ft. Distance is 5 km/ 3 miles.
The route continues up and over the Great Barranco Wall reaching 14,500 ft before descending to camp just beyond the Karanga River. Today's route is short and allows some rest in the afternoon, a boost to the upcoming summit bid.
Day 8 Start Karanga Valley 4,055 m/ 13,300 ft. End Kosovo Camp 4,760 m/ 15,600 ft. Distance is 5 km/ 3 miles.
We continue our ascent to high camp perched on a broad, rocky bluff with distant views of impressive Mawenzi, sister peak to Kilimanjaro's main peak. The afternoon is spent in final preparations for our early departure for the summit.
Day 9 Start Kosovo Camp 4,760 m/ 15,600 ft. Summit is Uhuru Peak 5,896 m/ 19,344 ft. End Mweka Camp 3,100 m/ 10,200 ft. Distance is 13 km/ 8 miles.
It's summit day and after a hot breakfast you'll depart camp bundled against the cold and wearing a headlamp for lighting the way in a slow, rhythmic ascent. The route follows a ridge to the crater's rim, and then traverses along this to the main summit of Uhuru Peak. As the sun dawns and warms the day you'll be on the roof of Africa! After congratulations and pictures you'll descend back through high camp and continue down to the forests of Mweka Camp and the richest air you'll ever breath.
Day 10 Start Mweka Camp 3,100 m/ 10,200 ft. End Mweka Gate 1,800 m/ 5,580 ft. Distance is 7 km/ 4 miles.
As the sun rises over the mountain towering above you it'll be difficult to believe that you stood so high only the day before. Descend through lush forest and ferns to the Mweka Gate and park sign out. You'll say goodbye to the support crew and return to the Lush Garden Hotel in Arusha to spend the night after a celebratory dinner.
Day 11 Your safari driver will meet you at the hotel for the drive across the Great Rift Valley and up the Western Escarpment to the Ngorongoro Highlands. You'll stop at a deep cleft in the plains to visit Olduvai Gorge, home of Homo sapiens' oldest examples, and continue across the shifting sands to the vast Serengeti Plains, game viewing on the way to your lodge for the night, Sopa Serengeti.
Day 12 The entire day is spent on a game drive, following the expert skills of your guides and driver as you view lions, giraffes, elephants, zebras and a myriad of other wildlife. Return to your lodge for the night.
Day 13 You continue your game drive across the Serengeti and to the Ngorongoro Highlands, home of the Maasai, famous warriors of the plains. You'll have an opportunity to visit a family group and explore their home and way of life. Overnight at the Ngorongoro Sopa Lodge perched on the edge of the colossal crater below.
Day 14 After an early morning breakfast you descend into the world famous Ngorongoro Crater where in addition to seeing the other animals of the plains, there is the opportunity to spot the rare Black Rhino. After a picnic lunch at Loitoktok Lake on the crater floor you'll ascend out once again and continue to the ChemChem region, home of the Hadzape Bushmen with their click tongue language, and the Mangati Tribe. O/N tent camp.
Day 15 You'll need to awake early to share the daily life of a Hadzape family as they hunt small game and work with their bees and extracting honey. In the afternoon there will be the opportunity to visit the main village. O/N tent camp.
Day 16 Today is your chance to share with the Mangati Tribe, famous for their crafts, blacksmithing and ironwork. You'll see craftsman fashioning spears and other iron products. O/N tent camp.
Day 17 Return to Arusha for orientation to your service project or preparations for your hike with the Maasai and for a well-deserved shower and a bit of relaxation at the Lush Garden Hotel.
Option 1: You'll visit a local orphanage school and spend some time getting to know the staff and children. Next you'll begin a several day service project with additional opportunity to teach English to the school children. Service projects are typically manual labor, helping in the construction of shelters.
Option 2: Drive northwest of Arusha to traditional Maasai land and begin your trek across steppe and plains, accompanied by Maasai warriors.
Option 1: Continue service project in Arusha.
Option 2: Continue trek in Maasai land.
Option 1: Finish service project in Arusha.
Option 2: Continue trek in Maasai land, return to Arusha.
Day 21 You'll have a chance for final souvenir shopping in the morning, along with a farewell lunch and airport drop off. Begin flight home.
Day 22 Arrive final destination.


The true origin of the "Port Byron Panther" belongs to our athletic teams!! I had previously found evidence that the yearbook club was the first to adopt the Panther with their circus themed yearbook. However, I just stumbled onto a newspaper article dated December 20, 1951 that tells us the yearbook club adopted the name to have the same name as the school sports teams. So now the proper credit for our mascot can be traced to our athletic teams of years past. Now the question remains, when did the actual panther mascot become part of our school culture?


text:
Home Magazine
9/11 Ground Zero Search Dog Still Lends a Helping Paw
By David13676 @dogspired
Denise Corliss is pictured with her search dog Bretagne at Ground Zero in New York City in September 2001. It was their first deployment together.
Some heroes boast muscle and brawn. Others possess steely nerves and impeccable timing. But this hero is a little different.
This one has feathery fur, a sunny smile, a calm nature and — for a dog — an uncanny ability to zero in on the people who need her most. She's a 15-year-old golden retriever named Bretagne, and she's one of the last surviving search dogs who worked at Ground Zero in New York City after the Sept. 11, 2001 terrorist attacks. (Another surviving 9/11 search dog named Woodie, a 15-year-old golden retriever, also worked at Ground Zero, and a 15-year-old English springer spaniel named Morgan worked at Staten Island.)
For the first time since the recovery efforts after the attack, Bretagne returned this week to the site of the former World Trade Center complex with her longtime handler and owner, Denise Corliss of Cypress, Texas.
Corliss fought back tears as she gazed at the 9/11 Memorial's enormous waterfalls and reflecting pools, which are surrounded by bronze panels bearing the names of the nearly 3,000 people killed in the attacks.
"Seeing this kind of took my breath away a bit, similar to how the pile was the first time I saw it," Corliss, 49, told TODAY.com. "It's so calm and peaceful now, unlike the chaos of before.
"After 9/11, everybody — all of us — felt such sadness. We all wanted to help. I just felt so honored that we were able to respond."
Bretagne still loves solving search problems at a disaster training site for dogs in Texas. This photo was taken in July 2014.
This year, Bretagne (pronounced "Brittany") is one of eight finalists for the American Humane Association's annual Hero Dog Awards. Corliss is preparing to travel with Bretagne to Beverly Hills for a stroll down the red carpet on the night of the award ceremony in late September — a prospect that seems surreal to Corliss, considering how her journey with the dog began.
In the late '90s, Corliss, an electrical engineer, became fascinated by the work of disaster search dogs. She learned that civilians — volunteers who receive no pay at all and work and travel at their own expense — can undergo rigorous training with their dogs. If they make the cut, a dog/handler team can support federal emergency response efforts at disaster sites around the United States.
In the fall of 1999, Corliss brought home Bretagne, a wriggly 8-week-old puppy who had much to learn and wanted to learn it.
"I was so excited about doing this, but I didn't have the appreciation of how life-changing it would be," Corliss recalled. "It took 20 to 30 hours a week easily to stay on top of training. This is what I did when I wasn't at work."
In 2000, Corliss received news that thrilled her: She and Bretagne qualified as official members of Texas Task Force 1. This meant the pair had what it takes to scour a disaster site and find survivors buried in the rubble.
Denise Corliss and Bretagne take a break together at Ground Zero in 2001.
What they never could have anticipated was the site of their first deployment: The twisted pile of steel beams, concrete and ash where the World Trade Center once stood.
It was a harrowing assignment for the most seasoned rescue workers, and it could be a frustrating one for search dogs because there were no human survivors to be found — only human remains.
"I really believed we could find somebody — anybody! — if we could just get to the right void space," Corliss said. "But our reality was much different. We found all various kinds of remains, some recognizable, others not so much."
Bretagne persevered through nearly two weeks of 12-hour shifts at Ground Zero. On her very first search, she had to balance precariously on a wet metal beam — and she slipped. But she recovered quickly, pulling herself back up onto the beam with her front paws and continuing to sniff intently as if nothing had happened.
Even though she had just turned 2 — an age when many canines relish romping, chewing and making mischief — Bretagne kept offering herself up to grim-faced first responders. On one occasion, Bretagne left Corliss' side with urgency and hurried toward a sullen firefighter sitting on the ground. Concerned, Corliss implored Bretagne to come back, sit and stay — to no avail.
"I was surprised that she wasn't listening to me, but she really wasn't — it was like she was flipping me the paw," Corliss said. "She went right to that firefighter and laid down next to him and put her head on his lap."
Dr. Cindy Otto, a veterinarian who cared for 9/11 search dogs at Ground Zero, said the 300 or so dogs who worked the pile brought much more to the job than their capable noses.
"You'd see firefighters sitting there, unanimated, stone-faced, no emotion, and then they'd see a dog and break out into a smile," Otto recalled. "Those dogs brought the power of hope. They removed the gloom for just an instant — and that was huge because it was a pretty dismal place to be."
Denise Corliss installed a pool in her backyard to help her aging dog Bretagne maintain mobility by swimming daily.
Otto spent years tracking the health of dozens of 9/11 working dogs after the terrorist attacks. Among her favorite findings: Search and rescue dogs tend to live longer than other dogs.
"They have a bond with their handlers, they have purpose, they have physical fitness — it's all really good for the dog and for the person who does this work," Otto said. "Even on terrible assignments when they're finding remains instead of survivors — can you imagine the closure they provided for families?
Otto's work with the 9/11 dogs inspired her to launch the Penn Vet Working Dog Center at the University of Pennsylvania on Sept. 11, 2012. Through the center, dogs like Bretagne and Morgan — the last two surviving search dogs from 9/11 still participating in Otto's health study — continue to be monitored, and puppies get trained to sniff out everything from explosives to narcotics to diseases to live humans buried in rubble. (Woodie did not participate in the health study.)
As a tribute, the puppies in training at the Working Dog Center all get named after 9/11 dogs. Bretagne's namesake, dubbed "Bretagne 2," recently moved in with a man who has Type 1 diabetes. She paws at his leg to alert him when his blood-sugar levels are out of normal range and he needs to eat.
Bretagne got to meet her namesake, Bretagne 2, at the Penn Vet Working Dog Center on Sept. 11, 2012.
"That makes me so proud!" Corliss said. "I'm so humbled that they would find Bretagne worthy to have a puppy named after her who's carrying on the tradition of the working dog."
In the years that followed 9/11, Bretagne and Corliss deployed together to numerous disaster sites, including Hurricane Katrina, Hurricane Rita and Hurricane Ivan. Bretagne retired from formal search work at age 9 — but today, even though she's roughly 93 in human years, she still loves to work. When school's in session, she dons a service vest and prances purposefully through a local elementary school, where she helps first-graders and children with special needs learn how to read out loud.
"She still has this attitude of putting her paw up and saying, 'Put me in, coach!'" Corliss said. "She absolutely loves it."
And just as she did for that firefighter and other rescue workers at Ground Zero, she tends to sense which students and teachers are having rough days.
"I've seen Bretagne almost select a child," said Shelley Swedlaw, a search dog handler and a former special education director who accompanies Bretagne to reading sessions. "She's just really good about knowing who needs that kind, canine attention."
At disaster sites, Bretagne's presence always helped Corliss feel like she had "a secret advantage": "I had my best friend sitting alongside me," she said. This, in turn, helped Corliss learn important lessons from response work.
"Deployments put things back into perspective very quickly," she said. "Every time I go on one, things that seemed to be really important before I left become less so.
"What do you think people are thinking about just before? It's probably not work. They're thinking about family. They're thinking about love."
~Via Today.com
Tags: 9/11 dog, dog hero, Hero Dog, Rescue Dog, search and rescue, search dog
David13676 6937 shares View profile
Bernie Sanders Believes All Animals Deserve Humane Treatment
Three Tips on How to Choose a Dog Trainer
Helpful Tips on Caring For Your MacDowall Pet
How to Find the Right Collar and Lead for Your Dog
vixenmade
littlebigcompany1
Simone Design Blog


text:
J. Ross Mickey (* 5. Januar 1856 in Eldorado, McDonough County, Illinois; † 20. März 1928 in Excelsior Springs, Missouri) war ein US-amerikanischer Politiker. Zwischen 1901 und 1903 vertrat er den Bundesstaat Illinois im US-Repräsentantenhaus.

Werdegang
Ross Mickey besuchte die öffentlichen Schulen seiner Heimat und das Lincoln College. Danach arbeitete er in Macomb für einige Jahre als Lehrer. Nach einem anschließenden Jurastudium und seiner 1889 erfolgten Zulassung als Rechtsanwalt begann er in Macomb in diesem Beruf zu praktizieren. Zwischen 1898 und 1901 amtierte er als Richter im McDonough County. Politisch wurde er Mitglied der Demokratischen Partei.

Bei den Kongresswahlen des Jahres 1900 wurde Mickey im 15. Wahlbezirk von Illinois in das US-Repräsentantenhaus in Washington, D.C. gewählt, wo er am 4. März 1901 die Nachfolge von Benjamin F. Marsh antrat. Da er im Jahr 1902 auf eine weitere Kandidatur verzichtete, konnte er bis zum 3. März 1903 nur eine Legislaturperiode im Kongress absolvieren. Nach dem Ende seiner Zeit im US-Repräsentantenhaus betätigte sich Mickey wieder als Anwalt. Zwischen 1908 und 1918 war er Präsident der Mystic Workers of the World. Danach war er bis zu seinem Tod einer von deren Direktoren. Er starb am 20. März 1928 in Excelsior Springs und wurde in Macomb beigesetzt.

Weblinks

Mitglied des Repräsentantenhauses der Vereinigten Staaten für Illinois
Mitglied der Demokratischen Partei (Vereinigte Staaten)
Richter (Illinois)
Rechtsanwalt (Vereinigte Staaten)
US-Amerikaner
Geboren 1856
Gestorben 1928
Mann

redpajama_set_name: RedPajamaWikipedia


Annie Dillard writes of a moment she shared with a weasel one evening, when they startled each other and then, for one soul-shattering instant, stared into each other's eyes. "A weasel is wild," she says. "Who knows what he thinks?" It's a good question: Who knows that weasel? Not Annie and certainly not us.
This would be a great place to introduce the concept of empathy, but I'm more interested in the moment just before. It seems to me that the word "empathy" gets tossed around less judiciously than it deserves. We speak of it as a bridge, a great connector, without giving much thought to the chasm it spans. The chance to do empathetic work arises from space, from a gap. It arises from not knowing.
Of course, empathy is important. But before I can do the work of building the bridge, I have to honor that gap. I have to honor that which I fear or revere or can't understand. And that, that's just awe.
I didn't touch souls with that heron. He didn't even notice me. I stood there in wonder, in awe, as I have so often these past four years. Brown didn't teach me how to be awed. It taught me something far more important: It is not only empowering to be in awe, but also patently cool. To let myself be struck and to wonder aloud and to ask questions — these may be the very best things I can do, as someone striving to be a better teacher, writer and friend.
What is it like to be a weasel or a heron? What is it like to be you?
I can't know this, of course, but it turns out that doesn't matter. It turns out that it's valuable just to wonder. And so there's a certain fullness in the chest that happens when I read a freshman's essay or listen to a friend play the violin or spot a hawk knifing across the sky over the Main Green, as if it's nothing short of a miracle that I get to share planetary space with this creature. As indeed it is.
Sienna Zeilinger hopes to someday be that teacher who holds class outside. She and her bike will be sticking around Rhode Island next year.


For fasts missed through ill health or pregnancy, which cannot be made up afterwards for legitimate reasons, Fidya is payable. If fasts are broken without allowable reasons, and the compensatory two months of fasting is not possible, then Kaffarah is payable.
This Ramadan, while all Muslims will look forward to breaking fast with their loved ones, not everyone has the means to provide food for their families at the end of a long day.
In fact, not having enough food to eat is a daily occurrence for many Muslims in Pakistan, Indonesia and parts of Africa, so while we prepare to fast this May for its religious significance, we also spare a thought for those who go hungry every day, often through no fault of their own.
HNCO will be providing hot meals for Iftar as part of its Ramadan Food Drive, with money raised through charitable donations. Food parcels for families will also be provided, to those who cannot afford their own, in several locations across the globe.
Donations to the HNCO charity – including profits from the proceeds of Ramadan 2019 Ajwah Dates will all go to help the common cause of feeding the elderly, sick, poor and needy – as part the charity's ongoing efforts.
HNCO is a Muslim charity that aims to improve the human welfare of the needy through efforts at both a local and global level. Projects that have been supported by the organisation include emergency relief, food and clothing for the homeless, well digging, educational book and school supplies distribution, and help for orphans on an international level.
The charity is supporting the Shaykh Adnan Food Drive, which is a year-long intiative to provide the hungry and poor with meat, rice, flour, lentils, potatoes, oil, sugar and tea. Endorsed by his Eminence Shaykh Hisham Kabbani – in memory of his beloved brother Shaykh Adnan Kabbani – the food drive will take place throughout 2019; offering aid to men, women and children in areas such as Kenya, Pakistan and Indonesia.
To support the cause, anyone wishing to donate is invited to sponsor one of three packages, or if they prefer, they can contact the charity directly to make an individual pledge.
HNCO is a non-profit organisation that believes in the power of community and the collaboration of groups with shared visions and values. Mindful that the mission can only be successfully accomplished through the generosity of others, the charity and its members are committed to efficient, compassionate allocation of resources; to help the wider community.


so to celebrate we've added in extra classes this year – woo hoo!
and click on the 'EDAF Schedule' and 'EDAF Tutors' links.
Bookings open from May 27th 2013 through South East Dance.
Copyright © 2013 Gravity & Levity, All rights reserved.


text:
![[/fragments/labmanuallogo]]

## Overview

[Istio](https://istio.io/) is an open source framework for connecting, securing, and managing microservices, including services running on [Kubernetes Engine](https://kubernetes.io/). It lets you create a mesh of deployed services with load balancing, service-to-service authentication, monitoring, and more, without requiring any changes in service code.

This lab shows you how to use Istio on [Google Kubernetes Engine (GKE)](https://cloud.google.com/kubernetes-engine) and [TensorFlow Serving](https://www.tensorflow.org/tfx/guide/serving) to create canary deployments of [TensorFlow](https://www.tensorflow.org/) machine learning models.

### Objectives

In this lab, you will learn how to:

* Prepare a GKE cluster with the Istio add-on for TensorFlow Serving.
* Create a canary release of a TensorFlow model deployment.
* Configure various traffic splitting strategies.

### Prerequisites

To successfully complete the lab you need to have a solid understanding of how to save and load TensorFlow models and a basic familiarity with Kubernetes and Istio concepts and architecture. Before proceeding with the lab we recommend reviewing the following resources:

* [Using the SavedModel format](https://www.tensorflow.org/guide/saved_model)
* [Kubernetes Overview](https://kubernetes.io/docs/concepts/overview/)
* [Istio Concepts](https://istio.io/latest/docs/concepts/what-is-istio/)

### Lab scenario

 In the lab, you will walk through a canary deployment of two versions of the **ResNet** model. The idea behind a canary deployment is to introduce a new version of a service (model deployment) by first testing it using a small percentage of user traffic, and then if the new model meets the set requirements, redirect, possibly gradually in increments, the traffic from the old version to the new one.

In its simplest form, the traffic sent to the canary version is a randomly selected percentage of requests send to a common endpoint that exposes both models. The more sophisticated traffic splitting schemas can also be used. For example, the traffic can be split based on the orginating region, user or user group, or other properties of the request. When the traffic is split based on well defined groups of originators, the canary deployment can be used as a foundation of A/B testing.

You will use [TensorFlow Serving](https://www.tensorflow.org/tfx/serving/architecture) to deploy two versions of **ResNet**: **ResNet50** and **ResNet101**. Both models expose the same interface (inputs and outputs). **ResNet50** will be a simulated production model. **ResNet101** will be a new, canary release.

TensorFlow Serving is a flexible, high-performance serving system for machine learning models, designed for production environments. TensorFlow Serving makes it easy to deploy new algorithms and experiments, while keeping the same server architecture and APIs. TensorFlow Serving provides out-of-the-box integration with TensorFlow models, but can be easily extended to serve other types of models and data. TensorFlow Serving can be run in a docker container and deployed and managed by Kubernetes. In the lab, you will deploy TensorFlow Serving as a [Kubernetes Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) on Google Cloud Kubernetes Engine (GKE).

Istio will be used to configure transparent traffic splitting between both deployments. Both models will be exposed through the same external endpoint. You will use Istio's traffic management features to experiment with various traffic splitting strategies.

Summary of the tasks performed during the lab:
* Creating a GKE cluster with Istio add-on
* Deploying ResNet models using TensorFlow Serving
* Configuring Istio Ingress gateway
* Configuring Istio virtual services and destination rules
* Configuring weight based routing
* Configuring content based routing

## Setup and requirements

### __Qwiklabs setup__

![[/fragments/startqwiklab]]

![[/fragments/gcpconsole]]

![[/fragments/cloudshell]]

## Lab tasks

You will use **Cloud Shell** and **Cloud Console** for all of the tasks in the lab. Some tasks require you to edit text files. You can use any of the classic command line text
editors pre-installed in **Cloud Shell**, including *vim*, *emacs*, or *nano*. You can also use the built-in [Cloud Shell Editor](https://cloud.google.com/shell/docs/launching-cloud-shell-editor).

Before proceeding, make sure that you completed the __Activate Cloud Shell__ step in the __Qwiklabs setup__ instructions and your **Cloud Shell** is open and ready.

### Getting lab files

Start by getting the lab files from GitHub:

```
cd
SRC_REPO=https://github.com/GoogleCloudPlatform/mlops-on-gcp
kpt pkg get $SRC_REPO/workshops/mlep-qwiklabs/tfserving-canary-gke@jk-qwiklabs tfserving-canary
cd tfserving-canary
```

### Creating a GKE cluster

Set the default compute zone and a couple of environment variables to store your project id and cluster name:

```
gcloud config set compute/zone us-central1-f

PROJECT_ID=$(gcloud config get-value project)
CLUSTER_NAME=cluster-1
```

To create a GKE cluster with Istio add-on, execute the below command. It may take a few minutes to complete.

```
gcloud beta container clusters create $CLUSTER_NAME \
  --project=$PROJECT_ID \
  --addons=Istio \
  --istio-config=auth=MTLS_PERMISSIVE \
  --cluster-version=latest \
  --machine-type=n1-standard-8 \
  --num-nodes=3
```

After the command completes you should see the ouput similar to one below:

![Cluster created](img/cluster-created.png)

Get the credentials for you new cluster so you can interact with it using `kubectl`.

```
gcloud container clusters get-credentials $CLUSTER_NAME
```

Ensure the following Kubernetes services are deployed: `istio-citadel`, `istio-egressgateway`, `istio-pilot`, `istio-ingressgateway`, `istio-policy`, `istio-sidecar-injector`, and `istio-telemetry`

```
kubectl get service -n istio-system
```

Ensure that the corresponding Kubernetes Pods are deployed and all containers are up and running: `istio-pilot-*`, `istio-policy-*`, `istio-telemetry-*`, `istio-egressgateway-*`, `istio-ingressgateway-*`, `istio-sidecar-injector-*`, and `istio-citadel-*`

```
kubectl get pods -n istio-system
```

#### Configuring automatic sidecar injection

In order to take advantage of all of Istio's features, pods in the Istio mesh must be running an [Istio sidecar proxy](https://istio.io/latest/docs/ops/deployment/architecture/#envoy).

There are two ways of injecting the Istio sidecar into a pod: manually using the istioctl command or by enabling automatic Istio sidecar injection in the pod's namespace.

Manual injection directly modifies configuration, like deployments, and injects the proxy configuration into it.
When enabled in a pod's namespace, automatic injection injects the proxy configuration at pod creation time using an admission controller.

In this lab, the automatic sidecar injection is used. To configure automatics sidecar injection execute the following command.

```
kubectl label namespace default istio-injection=enabled
```

### Deploying ResNet50

As described in the lab scenario overview section, the **ResNet50** model will represent a current production model and the **ResNet101** will be a canary release.

The pretrained models in the `SavedModel` format have been uploaded to a public Google Cloud Storage location.

You will first download the model files to a storage bucket in your project. Since storage buckets are a global resource in Google Cloud you have to use a unique bucket name. For the purpose of this lab, you can use your project id as a name prefix.

To create a storage bucket in your project:

```
export MODEL_BUCKET=${PROJECT_ID}-bucket
gsutil mb gs://${MODEL_BUCKET}
```

After the bucket has been created, copy the model files:

```
gsutil cp -r gs://jk-models/resnet_101 gs://${MODEL_BUCKET}
gsutil cp -r gs://jk-models/resnet_50 gs://${MODEL_BUCKET}
```

You are now ready to create a TensorFlow Serving deployment and configure it to serve the ResNet50 model.
You will deploy TF Serving in three steps:
1. First you will create a [Kubernetes ConfigMap](https://kubernetes.io/docs/concepts/configuration/configmap/) that points to the location of the ResNet50 model in your storage bucket
2. Then, you will create a [Kubernetes Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) using a [standard TensorFlow Serving image](https://hub.docker.com/r/tensorflow/serving) from **Docker Hub**.
3. When the deployment is ready, you will create a [Kubernetes Service](https://kubernetes.io/docs/concepts/services-networking/service/) to provide an interface to the model deployment.

#### Creating ConfigMap

Use your preferred command line editor or **Cloud Shell Editor** to update the `MODEL_NAME` field in the `tf-serving/configmap-resnet50.yaml` file to reference your bucket. Recall that the bucket name was stored in the $MODEL_BUCKET environment variable:

```
echo $MODEL_BUCKET
```
After the update the `configmap-resnet50.yaml` should look similar to the one below:

```
apiVersion: v1
kind: ConfigMap
metadata:
  name: tfserving-configs
data:
  MODEL_NAME: image_classifier
  MODEL_PATH: gs://qwiklabs-gcp-03-4b91a600a7a2-bucket/resnet_50
```

Using `kubectl` create the *ConfigMap*:

```
kubectl apply -f tf-serving/configmap-resnet50.yaml
```

#### Creating TensorFlow Serving deployment of the ResNet50 model.

Inspect the manifest for the TensorFlow Serving deployment.

```
cat tf-serving/deployment-resnet50.yaml
```

Notice that the deployment is annotated with two labels: `app: image-classifier` and `version: resnet50`. These labels will be the key when configuring Istio traffic routing.

```
...
apiVersion: apps/v1
kind: Deployment
metadata:
  name: image-classifier-resnet50
  namespace: default
  labels:
    app: image-classifier
    version: resnet50
...
```

Create the deployment

```
kubectl apply -f tf-serving/deployment-resnet50.yaml
```
It may take a few minutes before the deployment is ready.

To check the status of the deployment:

```
kubectl get deployments
```

Wait till the *READY* column in the output of the previous command changes to `1/1`.

![Deployment ready](img/deployment-ready.png)

You will now configure a Kubernetes service that exposes a stable IP address and DNS name.

Inspect the service manifest is in the `tf-serving/service.yaml` file.

```
apiVersion: v1
kind: Service
metadata:
  name: image-classifier
  namespace: default
  labels:
    app: image-classifier
    service: image-classifier
spec:
  type: ClusterIP
  ports:
  - port: 8500
    protocol: TCP
    name: tf-serving-grpc
  - port: 8501
    protocol: TCP
    name: tf-serving-http
  selector:
    app: image-classifier
```

The `selector` field refers to the `app: image-classifier` label. What it means is that the service will load balance across all pods annotated with this label. At this point these are the pods comprising the ResNet50 deployment. The service type is `ClusterIP`. The IP address exposed by the service is only visible within the cluster.

To create the service execute the following command:

```
kubectl apply -f tf-serving/service.yaml
```

#### Configuring  Istio Ingress gateway

You use an [Istio Ingress gateway](https://istio.io/latest/docs/concepts/traffic-management/#gateways) to manage inbound and outbound traffic for your mesh, letting you specify which traffic you want to enter and leave the mesh. Unlike other mechanisms for controlling traffic entering your systems, such as the Kubernetes Ingress APIs, Istio gateways let you use the full power and flexibility of Istio's traffic routing.

The gateway manifest in the `tf-serving/gateway.yaml` file configures the gateway to open port 80 for the `HTTP` traffic.

```
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: image-classifier-gateway
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "*"
```

To create the gateway execute the below command:

```
kubectl apply -f tf-serving/gateway.yaml
```

At this point the gateway is running but your ResNet50 deployment is still not accessible from the outside of the cluster. You need to configure a virtual service.

[Virtual services, along with destination rules](https://istio.io/latest/docs/concepts/traffic-management/#virtual-services) are the key building blocks of Istio's traffic routing functionality. A virtual service lets you configure how requests are routed to a service within an Istio service mesh. Each virtual service consists of a set of routing rules that are evaluated in order, letting Istio match each given request to the virtual service to a specific real destination within the mesh.

You will start by configuring a virtual service that forwards all requests sent through the gateway on port 80 to the `image-classifier` service on port 8501. Recall that the `image-classifier` service is configured to load balance between pods annotated with the `app: image-classifer` label.

```
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: image-classifier
spec:
  hosts:
  - "*"
  gateways:
  - image-classifier-gateway
  http:
  - route:
    - destination:
        host: image-classifier
        port:
          number: 8501
```

As a result all requests send to the gateway will be forwarded to the ResNet50 deployment.

To create the virtual service execute the below command:

```
kubectl apply -f tf-serving/virtualservice.yaml
```

#### Testing access to the ResNet50 model

The ResNet50 deployment can now be accessed from outside of the cluster. You can test it by submitting a request using the `curl` command.

In the `payloads` folder you can find a sample request body (`request-body.json`) formatted to conform to the [TensorFlow Serving REST API](https://www.tensorflow.org/tfx/serving/api_rest). It contains the picture of [Grace Hopper](https://en.wikipedia.org/wiki/Grace_Hopper).

![Grace Hopper](img/grace_hopper.jpg)

To send the request you need an external IP address and a port exposed by the Istio gateway.

Set the ingress IP and port:

```
export INGRESS_HOST=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
export INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].port}')
```

Set the gateway URL

```
export GATEWAY_URL=$INGRESS_HOST:$INGRESS_PORT
echo $GATEWAY_URL
```

The TensorFlow Serving REST [prediction endpoint](https://www.tensorflow.org/tfx/serving/api_rest#predict_api) is accessible at:

```
http://host:port/v1/models/${MODEL_NAME}[/versions/${VERSION}|/labels/${LABEL}]:predict
```

where `/versions/${VERSION} or /labels/${LABEL} are optional. If omitted the latest version is used.

In our deployment the endpoint is at:

```
http://$GATEWAY_URL/v1/models/image_classifier:predict.
```

To send the request to the model invoke the below command.

```
curl -d @payloads/request-body.json -X POST http://$GATEWAY_URL/v1/models/image_classifier:predict
```

The response returned by the model includes the list of 5 most likely labels with the associated probabilities. The response should look similar to the one below:

![Model response](img/model-response.png)

Note that the model ranked the `military uniform` label with the  probability of around 45%.

### Deploying ResNet101 as a canary release

You will now deploy the ResNet101 model as a canary release. As in the case of the ResNet50 model,   ResNet101 will be deployed as a Kubernetes Deployment with annotated with the `app` label set to `image-classifier`. Recall that the `image-classifier` Kubernetes service is configured to load balance between pods that contain the `app` label set to this value and that the Istio virtual service is configured to forward all the traffic from the Istio Ingress gateway to the `image-classifier` service.

If you deployed ResNet101 without any changes to the Istio virtual service the incoming traffic would be load balanced across pods from both deployments using a round-robin strategy. To have a better control over which requests go to which deployment you need to configure a [destination rule](https://istio.io/latest/docs/concepts/traffic-management/#destination-rules) and modify the virtual service.

Along with virtual services, destination rules are a key part of Istio's traffic routing functionality. Destinations rules allow much finer control over traffic destinations. In particular, you can use destination rules to specify name service subsets, such as grouping all a given service's instances by version. You can then use these service subsets in routing rules of virtual services to control the traffic to different instances of you service. In our case, the destination rule configures two different subsets of the `image-classifier` service using the `version` label as a selector, in order to differentiate between ResNet50 and ResNet101 deployments.

```
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: image-classifier
spec:
  host: image-classifier
  subsets:
  - name: resnet101
    labels:
      version: resnet101
  - name: resnet50
    labels:
      version: resnet50
```

Recall that the ResNet50 deployment is annotated with two labels: `app: image-classifier` and `version: resnet50`. The ResNet101 deployment is also annotated with the same labels. The value of the `app` label is the same but the value of the `version` label is different.

```
apiVersion: apps/v1
kind: Deployment
metadata:
  name: image-classifier-resnet101
  namespace: default
  labels:
    app: image-classifier
    version: resnet101
```

Our destination rule allows the virtual service to route traffic between two deployments behind the `image-classifier` service.

To create the destination rule:

```
kubectl apply -f tf-serving/destinationrule.yaml
```

The final step is to reconfigure the virtual service to use the destination rule.

You will start by modifying the virtual service to route all requests from the Ingress gateway to the `resnet50` service subset.

```
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: image-classifier
spec:
  hosts:
  - "*"
  gateways:
  - image-classifier-gateway
  http:
  - route:
    - destination:
        host: image-classifier
        subset: resnet50
        port:
          number: 8501
      weight: 100
    - destination:
        host: image-classifier
        subset: resnet101
        port:
          number: 8501
      weight: 0
```

Notice how the `weight` field is used to redirect 100% of traffic to the `resnet50` subset of the `image-classifier` service.

To apply the changes:

```
kubectl apply -f tf-serving/virtualservice-weight-100.yaml
```

Let's now deploy the ResNet101 model using the same process as for the ResNet50 model.

1. Update the `tf-serving/configmap-resnet101.yaml` to point to the `gs://[YOUR_BUCKET]/resnet_101` location.
2. Apply the `tf-serving/configmap-resnet101.yaml` manifest.
3. Apply the `tf-serving/deployment-resnet101.yaml` manifest.
4. Wait for the deployment to start successfully.

At this point the ResNet101 deployment is ready but the virtual service is configured to route all requests to ResNet50.

Verify this by sending a few prediction requests.

```
curl -d @payloads/request-body.json -X POST http://$GATEWAY_URL/v1/models/image_classifier:predict
```

All requests return the same result.

### Configuring weighted load balancing

You will now reconfigure the Istio virtual service to split the traffic between the ResNet50 and ResNet101 models using weighted load balancing - 70% requests will go to ResNet50 and 30% to ResNet101. The manifest for the new configuration is in the `tf-serving/virtualservice-weight-70.yaml` file.

```
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: image-classifier
spec:
  hosts:
  - "*"
  gateways:
  - image-classifier-gateway
  http:
  - route:
    - destination:
        host: image-classifier
        subset: resnet50
        port:
          number: 8501
      weight: 70
    - destination:
        host: image-classifier
        subset: resnet101
        port:
          number: 8501
      weight: 30
```

To apply the manifest:

```
kubectl apply -f tf-serving/virtualservice-weight-70.yaml
```

Send a few more requests - more than 10.

```
curl -d @payloads/request-body.json -X POST http://$GATEWAY_URL/v1/models/image_classifier:predict
```

Notice that responses are now different. The probability assigned to the `military uniform` label is around 94% for some reponses and %45 for the others. The 94% responses are from the ResNet101 model.

As an optional task, reconfigure the virtual service to route 100% traffic to the ResNet101 model.

### Configuring focused canary testing

In the previous steps you learned how to control fine-grained traffic percentages. Istio routing rules allow for much more sophisticated canary testing scenarios.

In this section, you will reconfigure the virtual service to route traffic to the canary deployment based on request headers. This approach allows a variety of scenarios, including routing requests from a specific group of users to the canary release.  Let's assume that the request from the canary users will carry a custom header `user-group`. If this header is set to `canary` the requests will be routed to ResNet101.

The `tf-serving/virtualservice-focused-routing.yaml` manifest defines this configuration:

```
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: image-classifier
spec:
  hosts:
  - "*"
  gateways:
  - image-classifier-gateway
  http:
  - match:
    - headers:
        user-group:
          exact: canary
    route:
      - destination:
          host: image-classifier
          subset: resnet101
          port:
            number: 8501
  - route:
    - destination:
        host: image-classifier
        subset: resnet50
        port:
          number: 8501
```

 The `match` field defines a matching pattern and the route that is used for the requests with the matching header.

 Reconfigure the virtual service:

 ```
 kubectl apply -f tf-serving/virtualservice-focused-routing.yaml
 ```

 Send a few requests without the `user-group` header.

```
curl -d @payloads/request-body.json -X POST http://$GATEWAY_URL/v1/models/image_classifier:predict
```

Notice that all of the responses are coming from the ResNet50 model - the probablity of the `military uniform` label is around 45%.

Now, send a few requests with the `user-group` header set to `canary`.

```
curl -d @payloads/request-body.json -H "user-group: canary" -X POST http://$GATEWAY_URL/v1/models/image_classifier:predict
```

All of the response are now sent by the ResNet101 model - the probability of the `military uniform` label is around 94%.

This deployment configuration can be used for A/B testing as you can easily monitor the performance of the canary model on a specific user group.

This concludes the lab.

## Next steps / learn more

![[/fragments/TrainingCertificationOverview]]

##### Manual Last Updated September 07, 2020

##### Lab Last Tested September 07, 2020

![[/fragments/copyright]]

redpajama_set_name: RedPajamaGithub