text:
Category: Writing
July 5, 2021 Eve N. Hill
"I'd like to throw you out with the trash."
–MARTY "Mr. Shortstop" MARION , to the young autograph seeker, 1948
Of course he had bigger things on his mind than signing autographs.
By 1948, Marty "Mr. Shortstop" Marion was in the middle of what would become eight All-Star years with the St. Louis Cardinals. He had already been voted MVP and won three World Series championships. Also by 1948, Marion was suffering from the knee and back problems that would shorten his career. Worried about his future and those of his fellow ballplayers, Marion put his blunt temperament and crackerjack business mind to use, leading the successful fight for Major League Baseball's first ever Players Pension Plan.
Policy Conference, 1946: Left to Right: Marty Marion (ST. Louis), Dixie Walker (Brookyln) and Bill Herman (Boston)
"I was very outspoken in my opinions," said Marion.
When he was on the team, Marty Marion always put the players first, but it was a different story after he retired. At his posthumous 2014 induction onto the Cardinals Hall of Fame, Marion's daughter Martina Dill made a revealing comment about his relationship to his fans. "Since his playing days," she said, "he always had time to answer fan mail and autographs, and even add a little extra postage if necessary."
"Since" his playing days he had time for his fans. Perhaps he went a little overboard after that, trying to repent for how he may have treated them when he was on the roster.
There are Marty Marion autographs aplenty on eBay written in his shaky, elderly script. These autographs had to have been written slowly. Marion would have had to take some time and concentration. He would have had to care. Even if he had started showing up to baseball card shows primarily out of financial need, Marty Marion could not have remained as "outspoken" anymore.
Marty Marion autograph for sale on eBay ($19.99)
Marion attended a baseball card show with his old double-play partner, second baseman Red Schoendienst, about six months before he died. Imagine Marty Marion, over 90 years old, with a pen in one hand and a brand new baseball in the other. Watch him slowly placing his signature within the ball's laces, wobbling a big open circle to dot in the "i" in Marion, then carefully scrawling " '44 M.V.P." under that. How could he have been dismissive with these signatures or his fans? He could not. In the time it took for him to sign each ball, each fan at the baseball show would have ample opportunity to snap a few pictures and plenty of time to ask "Mr. Shortstop" a long unanswered question.
Then, perhaps somewhere between gawking at his famously long, "Octopus" arms and the now old, gnarled hands that could once turn a double-play in the blink of an eye, you stop wondering about the motivations behind Marion's late-in-life fan appreciation, and you start liking that he barked at you back in 1948.
More: Stories Behind the Signatures
"The Ox Next Door" – AL WISTERT
Tags:	sports, history, memorabilia, autograph, baseball, mlb, martymarion
Categories:	Posts Writing Memorabilia Sports
Tags:	Babe Ruth, sports, autograph, famous, heroes, Al Wistert, Philadelphia, Eagles, Father, Dad, memory
Tags:	Trader Joes, recipe, granola, homemade, oats, almonds, orange, cooking, baking
Eve's "Super-Swirl" Whole Wheat Cinnamon Bread Recipe
June 3, 2020 Eve N. Hill	6 Comments
When you want Amazing Taste and Beautiful Presentation:
Please try my "Super Swirl" Whole Wheat Cinnamon Bread Recipe
This Cinnamon "Super Swirl" Bread gets its "Super" status from extra layers of sweet & buttery cinnamon sugar filling throughout the loaf.
What a delicious difference
Here's the recipe – PLEASE ENJOY!
Tags:	wheat, bread, cinnamon, recipe, baking
March 20, 2020 Eve N. Hill	No Comments
From my vantage point, I couldn't tell if his eyes were open or closed. I wanted to take photos, but I didn't want to interrupt him
I got to Trader Joe's before 8am. People were already lining up outside, each grabbing a shopping cart and placing it in front of their bodies, between themselves and the next person. The joys of social distancing.
I had just taken a cart for myself when a young, bearded man approached the area. We met each other's eyes and smiled. I was impressed by how genuine this stranger's smile was. We each said "Good morning," and he proceeded with getting his cart and moving to a place in line.
When a senior patron was declined a request to be admitted inside early, I learned the store would not be opening for another hour, so I decided to come back some other time. I sanitized my hands, got back in my car, turned the key in the ignition and checked my rear view mirror.
It was then that I noticed the young bearded man in the distance behind me. His cart was along the wall with the others in line, his fellow customers standing, slumping, looking at their phones, but he had stepped out in front of them and was standing, straight backed, head slightly down, with his arms out from his sides, palms up and rising, as if he was welcoming, embracing and gathering the sun and the world, all at the same time.
From my rear view mirror vantage point, I watched him repeat an exercise in which his arms slowly kept rising until they were over his head, then came down in an equal meeting with each other just in front of his face, like he was pushing gently down onto slowly sinking, level water.
His arms continued the gentle push down until they were at his sides, and he flicked his wrists at the last moment, as if to dispose of any stray, unnecessary droplets of energy.
He slowly repeated this exercise at least four or five times. I admired the lack of self consciousness that allowed him to do this in public almost as much as I admired the exercise itself, his patience and presence in the midst of pandemic and parking lot.
There is not much room on our minds right now for anything but the virus. The world is shutting and hunkering down, waiting for an invisible monster wave to crash. We feel sadness, anxiety and fear. Tom and Rita tweet from quarantine. We try to amass enough toilet paper and granola bars to wait it out on the high ground of home.
I didn't get my groceries or even a chance at a pack of toilet paper at this particular trip to Trader Joe's, but I did witness that calm. In these days, in this moment, it felt important.
Categories:	Posts Writing Content - Unsorted
Tags:	shopping, Trader Joes, calm, essentail, peace
February 16, 2020 Eve N. Hill	No Comments
A February visit to Clement Restaurant revealed many good signs,
starting with — a new sign!
New Sign!
All too often we hear about old San Francisco favorites closing, like Ambassador Toys in West portal, where generations perused everything from handcrafted puzzles to science kits and stuffed animals. Or the historic Clay Theater, a neighborhood art house that screened the kinds of films that launched a thousand coffeehouse conversations, and midnight showings of the Rocky Horror Picture Show, which spilled throngs of laughing youth onto the late night sidewalks, toast crumbs falling from their pants as they danced the Time Warp down Fillmore street.
The impending re-opening an old favorite, Clement Restaurant, happily bucks this trend.
Cleaning up their act Feb 2020
Just a few months ago – still boarded up
After five long years since their kitchen fire and closing, a clean, bright and welcoming new sign for Clement Restaurant has been installed. Also looks like the awning for Clement BBQ next door has been scrubbed of a layer or two of city grime.
More Gleaming appliances have been installed.
How soon is the big day?
"We are just waiting for the government to say OK," says the employee at Clement BBQ ringing up my order.
What makes Clement Restaurant so special? Certainly there are other Dim Sum restaurants close by that offer a tasty Pork Bun and other delicacies? Well, sure. Taste is subjective, as anyone who has ever tried to order and share a pizza with another human being can attest!
There are many wonderful pork bun experiences within mere blocks of Clement restaurant, such as the sweet crispy-topped beauties at Hong Kong Lounge (above).
Hong Kong Lounge's baked buns are a little smaller, but they are delicious! Saucier and more delicate than those that come out of the oven at Clement Restaurant. You get the sense that they are made carefully, and eating them in a grand, carpeted room at a cloth covered table under twinkling chandeliers just feels right.
Unlike Clement Restaurant, where the few rickety tables jammed against the wall were covered only in the sticky remains of the last customer's order, and you have to ask for a napkin to wipe down the table before popping open a plastic container to consume your food.
But I don't care!
Taste rules, but you cannot overestimate the power of personal association and the sixth sense of memory.
New Branding on an Old Dim Sum Friend
January 17, 2020 Eve N. Hill	No Comments
Anticipating the Grand Re-Opening of San Francisco's
Clement Restaurant – closed due to fire since 2015
Clement Restaurant after the fire – it isn't pretty
Baked Pork Buns on display at the original Clement Restaurant
The Richmond district of San Francisco has dozens of dim sum spots, but Clement Restaurant has always held a special place in both my heart and my stomach. Like Proust's madeleine, a bite from their Baked BBQ Pork Bun takes me back to the days of my childhood.
Myself at the original Clement Restaurant 1989 (left) and 2015 (right), months before the fire
Interior – Original Clement Restaurant
Ever since I can remember (and long before), a walk down Clement street has been dominated by Asian grocers and houseware supply stores, dim sum restaurants, and doubled parked delivery trucks unloading boxes of live, smelly crabs and other assorted seafood down wet floors into back kitchens and loud, fish markets.
Crabs on Clement
SF Clement fish seller
"Around the turn of the 20th Century, new cable and electric streetcar lines formed to deliver passengers to the Golden Gate Park, to the beach, and Adolph Sutro's new Cliff House, Sutro Heights, and Sutro Baths."
Read more: A Short History of the Richmond District
Clement and 8th 1904 & 2019, looking east.
The first sprinklings of bougeious yuppie-dom, like the sweet 'n cutsie coffee and ice cream shop, the Toy Boat Café, didn't come on the scene until the 1980s. That's when I moved away to college, then to chase a career, marry and raise a son.
Green Apple Books 2019
On the Clement street of today, cases filled with used books still spill into the street in front of the venerable Green Apple Books, and families still gather around the classic checkered tablecloths of Giorgios' Pizza, but King Norman's Kingdom of Toys is long gone, and Haig's Delicacies closed in 2013 to focus on the wholesale part of their business.
After the Fire, Shuttered and Hibernating
Yes, I have always come back every few months to visit my family, and stopping by Clement Restaurant is an engraved tradition that I passed into the next generation. I thought I was appreciative, but realized I had taken it all for granted when I returned in 2015 to find the place all boarded up.
A 2015 kitchen fire shut down operations at the address… but since the owner of Clement Restaurant also owns the two eateries on either side, the buns kept rising!
Clement BBQ takes over Baking the Pork Buns
Assorted pastries were shouldered by the kitchen at Clement BBQ, the restaurant next door to the east, and the steamed offerings continued at Xiao Long Bao, located just next door to the west.
It was a great relief to continue to enjoy the unique and sumptuous blend of sweet/savory BBQ pork in Char Siu sauce recipe made only at Clement Restaurant.
The Long Road Back (a timeline in pictures)
Still Making Dim Sum at Clement BBQ – 2019
Michael Flores, energetic and knowledgeable Superintendent for Bali Construction, welcomes the challenge of every new job, but admits progress has been stalled many times in the past four years. Insurance issues, PG&E issues. They had to reconfigure the sequencing of the entire power system, so it is properly shared between three establishments. Peering through the taped up windows revealed little. At first there was no progress. Just the locked door and the lingering scent of smoke.
Interior, early 2017
The place was cleared and gutted on the inside and then spent some time as a storage unit. Stacks of supplies would appear. A ladder leaning against a wall. Boxes and boxes of To-Go containers, tumbled over each other. The front windows wore dirty, peeling stickers and long expired ads for city events.
Interior Mid 2017
Interior Nov 2018
Clement Restaurant July 2019
Stepping inside in July 2019, the long narrow place is bright white, except on the right wall, where the original brick has been exposed..
September 2019 – Almost ready?
October 2019 – any progress?
Amazing Progress! Installation of Display cases November 2019
Supplies Delivered! November 2019
CHANGING BACK IS STILL A CHANGE
I have a tendency to be nervous about change. And I haven now grown accustomed to going to Clement BBQ next door.
at Clement BBQ, next door
While waiting in line, I may take in the state of a whole roast pig, dressed for consumption or hanging from a hook suspended over a worn, round butcher's block.
I may watch as steam table orders are filled. Scoops of chow mein slopped into takeout containers.
I can lean against the sacks of bleach piled high against the mirrored wall.
And I always look next door for a peek at the progress…
Peeking in at every opportunity
Superintendant Flores points out that I am not the only one who has stopped by the open door of the re-construction of Clement Restaurant to share my longstanding personal fondness for the place and the taste that takes me back.
I tell him that I am excited for the reopening, and grateful to the owner for maintaining the baked delights for his customers. He knows the value is beyond taste — it's time travel.
When he hints that the owner maybe "expanding the menu," a shiver runs through me and I quickly exclaim, "Don't change the recipe!"
Categories:	Posts Food & Culture Writing
Tags:	Dim sum
6 Ways to Dig the 60s
March 10, 2019 Eve N. Hill
The Bill Graham Exhibit at the Skirball Cultural Center
Bill Graham, an orphan of the Holocaust, became the most successful and influential rock music promoter in history.
The Skirball Cultural Center's new exhibit, Bill Graham and the Rock and Roll Revolution, is an amazing representation of the 1960s counterculture movement and a moving portrait of the man, an orphan of the Holocaust who turned himself into the most successful and influential music promoter in history, and a dearly loved humanitarian. The exhibit is extensive and includes personal memorabilia, photographs, concert footage, vintage art posters and a psychedelic light show.
1. Meet a Wide-Awake Kind of Man
Bill Graham spent much his childhood fleeing the forces of Nazi Germany. He had to adapt to more than one new language, family and country by the time he was twelve. As a teen, he toiled as a waiter to the rich and famous in the Catskill Mountains while running an underground poker game, had the guts to speak up for worker's rights before the employees were unionized, then fought in the Korean War and avoided a court-martial after refusing to go into a lopsided battle that eventually killed his commanding officer.
Although Graham didn't talk much about his early life, or claim to remember either his mother or father, his experiences informed everything he did. By the time he promoted his first show, a benefit for the San Francisco Mime Troupe in 1965, Bill Graham had already built up a sense of himself, a feeling that he was 'master of [his] destiny.'
2. Break Free from Hypocrisy
Shuttling through orphanages and foster homes and developing a keen street sense solidified Graham's aura of autonomy and authenticity, which went over well with activist performers of the sixties. The Who's Pete Townshend referred to him as a man 'free of hypocrisy,' with an unshakeable support for those fighting for freedom of expression and against the abuse of power. That, coupled with his innovative sense of the theatrical and a sharp brain for business, made it possible for Graham to back an assortment of talented, radical, drug-soaked performers and allow the countercultural rock icons of the '60s and '70s to reach a mass audience and effect social change.
3.Hang Out with Rock Stars
Jimi Hendrix – San Francisco, 1968.
What if you threw a party and Everybody came? Bill Graham produced rock concerts like that. He made the experience of music an immersive one. In their heyday, San Francisco's Fillmore and Winterland auditoriums hosted acts such as Janis Joplin, Bob Dylan and Buffalo Springfield all on the same night.
He continually asked the performers he knew to recommend up-and-coming artists he'd never heard of, and then put those folks on the bill with more well-known talent. That's how Santana got launched and how The Doors were brought to San Francisco. He wanted to educate his patrons, so he booked poets and even a Russian dance company. Bill Graham was also the first to expose B.B. King and Chuck Berry to white audiences.
4. Appreciate Art
Ingest a more than generous dose of bright colors, kaleidoscopic patterns and distorted typography by viewing all the incredible vintage posters on display. Artist Lee Conklin's 1968 poster advertising Vanilla Fudge and the Steve Miller band has a drawing of two naked bodies. It looks like they are facing each other, but they have no faces. They are only human up to their shoulders, and then they become hands, clasping one another. Some posters are more gruesome, but always compelling. A New Year's Eve concert poster offers up a painting of an hourglass, with the flopping bodies of hundreds of little humans trickling through.
Tune in to some of the guitars on display, like Jerry Garcia's 'Wolf,' or a chunk of a Fender Stratocaster salvaged from Jimi Hendrix's collection. The belt Mick Jagger wore at Altamont hangs on one wall, and a handwritten note from Donovan on another, calling Bill Graham 'by far the friendliest and most considerate promoter I have ever had the pleasure of working with.' You can also read letters from fans begging for tickets to the last show at the Winterland auditorium: 'Grateful Dead is not just a rock concert, it's a state of mind.'
Take a look at the charred relics from the offices of Bill Graham Presents, which was firebombed in 1985 by suspected neo-Nazis. Read the original, typewritten 1967 'Summer of Love Proclamation,' with quotes from Allen Ginsberg and Timothy Leary, who sought 'to give young pot smokers and young acid heads a sense of their historical meaning.'
5. Live By a Strong Inner Code
Bill Graham wanted everyone to feel warm and secure, so he took care of all the aspects of production, like running out to get Otis Redding ice cubes, displaying current-event news clippings in the lobby to give shy patrons a chance to get comfortable or placing a basket of free apples at the entrance. Soon, it wasn't as important as who was playing at the Fillmore as it was that you were at the Fillmore.
Some performers resented that Bill Graham was 'making bread off the scene,' but Graham was more than willing to give back to the community. He understood the promise and power of rock and roll, and he lived by a strong inner code that acknowledged both the tremendous power of music and his obligation to use that power as a force for good: 'It's that question of what do you know, and then what do you do with it?'
What Bill Graham did with his power was to continually build his relationships and his humanitarian mission, branching out from Bay Area causes to international relief victims in Africa. Graham promoted performances in conjunction with Amnesty International, a concert to benefit the victims of the 1989 San Francisco earthquake, and organized a huge concert to welcome Nelson Mandela after his release from a South African jail in 1990. Sadly, Bill Graham's life was cut short when he was killed in a helicopter crash the following year.
6. Absorb the Whole Experience
You'll start your visit looking at pictures of a little boy in a German orphanage, and you'll wind up gazing at an enormous butterfly costume suspended from the ceiling. You can hear 'White Rabbit,' 'Respect,' and many others blast from the light show as you look around. In theater seats behind red velvet curtains, projected swirls of smoke and colored oils let you watch and wonder, listen and let your mind drift. You can even dance if the mood strikes. One thing you can't do is take pictures. Like the sixties themselves, there is no substitute for being there.
Skirball Cultural Center 2701 N. Sepulveda Blvd. Los Angeles, CA
Hours: Tuesday–Friday, 12:00–5:00 p.m.
Saturday–Sunday, 10:00 a.m.–5:00 p.m.
Free to All on Thursdays
Bill Graham Exhibit Open through October 11th, 2015
Bill Graham's Biography
Bill Graham Presents: My Life Inside Rock and Out by Bill Graham and Robert Greenfield
The Making of a Counter Culture by Theodore Roszak
Categories:	Writing History Memorabilia
March 9, 2019 Eve N. Hill
Categories:	Fiction
History Podcast Keeps Me Connected to My Hometown
I'm one of those born and raised San Franciscans whose heart was left there when they moved away. So, my ears, now residing with me hundreds of miles away, gratefully absorb the weekly Outside Lands San Francisco Podcast — the podcast of the Western Neighborhood Project, a group that studies and preserves San Francisco history, especially of the "western neighborhoods" of San Francisco.
I am continually surprised and entranced by the stories they bring to light of the people and places that existed before, interesting well-known and/or lesser known folks and the homes and neighborhoods in which they lived. These stories, especially of "ordinary" people, remind me that everyone who calls themselves a "San Franciscan," (including me!) holds in their memories and experiences a valid sliver of a piece of the City's history.
I especially enjoyed the recent Carol Schuldt podcast. Woody LaBounty's descriptions of this "Queen of the Beach" acknowledged her eccentricity while a personal, reverential tone shone through. He and his co-hosts succeeded in painting a picture of a rescuer/rebel in all her glory.
It's too bad that it was the intensity of Schuldt's connection to nature that made her seem so odd. It made me think about how our present disconnect from nature is what is really more odd.
I wish I had known her — and to be honest, I wish I had known OF her. I lived in the city till I was seventeen years old, but was not a beachgoer, and I am at once thrilled to hear about her and sad that I was not able to enjoy even the knowledge of her existence all those years she was alive.
https://medium.com/@eveahill_70924/history-podcast-keeps-me-connected-to-my-hometown-506b8695ee5a
Categories:	Posts Food & Culture History Content - Unsorted


Published 04/24/2019 02:02:38 am at 04/24/2019 02:02:38 am in Commercial Bathroom Cleaning Products.
commercial bathroom cleaning products bleach kleensafe touchless bathroom cleaner machine amazing savings on windsor compass specialty cleaning machine skuwin bathroom cleaning machine.
natural bathroom disinfectant cleaner bren did diy cleaning products are safe effective and frugal learn how to make all, amazoncom clorox urine remover commercialstrength clorox clorox urine remover commercialstrength clorox bathroom cleaner blasts nastiest crud , zep bathroom cleaner drain cleaner enzyme reviews bathroom cleaner zep bathroom cleaner shower tile cleaner reviews a the best option method natural tub bathroom eucalyptus zep bathroom cleaner , restroom cleaning kaivac cleaning systems clean restrooms by removing contaminants, amazoncom japan health and beauty commercial bathroom cleaner japan health and beauty commercial bathroom cleaner bus magic phosphorus l kao, kleensafe touchless bathroom cleaner machine amazing savings on windsor compass specialty cleaning machine skuwin bathroom cleaning machine, clorox commercial bathroom toilet bowl cleaner with bleach fresh clorox commercial bathroom cleaning products manual toilet , zep bathroom cleaner drain cleaner enzyme reviews bathroom cleaner zep bathroom cleaner tile cleaner lovely bathroom cleaner for chemical drain cleaner tile cleaner tile and zep bathroom cleaner , impress your guests with clean hygienic commercial restroom design stevenson systems bathroom basin and counter , luxury unique stock bathroom cleaning checklist template awesome cleaners checklist templates commercial bathroom cleaning checklist template , industrial bathroom cleaner i am embarrassed but i have to share industrial bathroom cleaner easy toilet bowl cleaner pack tubs industrial strength bathroom tile cleaner industrial bathroom cleaner .


Orlando Movers – Top quality Movers, Responsible and Quick!
Have you been worried on not obtaining the discountsouthfloridamovers.com/ chance to discover precise mover? Numerous of you have to be however trying to find trusted moving and packing organization. People can depart their tensions as within the present instant along with the help of specialized transferring and packing enterprise like Orlando Movers the whole thing is made astonishingly easy. Orlando Movers is at a length of simply a click on from you. The business is definitely contacted on the web so as to lease their companies associated to looming relocation. The going firm managed to show up as chief in location of going together with packing.
The going business managed to arise from the method of professionals in correlated market. The business presents wide selection of wrapping, moving, and transportation services. This individual transferring organization that is certainly situated in Florida invites all of you with distinct storage products and services. It can be largely concentrated about providing finish purchaser enjoyment. The team belonging to this distinct transferring organization operates in devoted way and turns with very best shipping and delivery companies and that also in timely method.
It is really applies 100% common and lawful workers which happens to be dissimilar to varied movers and packers. Not even solo staff members of the relocating organization is uncovered to get functioning as impartial contractors. Interior statistics spotlight nearly 98% of purchasers gives reference of the unique moving support. Recommendations provided by content material shoppers embrace testimony associated for their achievement in business. The choice of your relocating organization is becoming manufactured for well-known Most effective of Organization Award in 2009 picked in transferring services category. Modest Enterprise Commerce Association went in advance presenting this scrupulous reward. It can be noteworthy to emphasise the fact Little Business Commerce Affiliation system will make it an hard work to select out 5% modest small business amid these running in assorted areas of full nation.
The efficiency of statistical research and conclusion of consumer responses is utilized for number of organizations is done by SBCA that believes in presenting individuals that displayed top-quality effectiveness. Packing gurus of Orlando Movers on relocation time are current within the desired destination in the course of stipulated period of time and moves in advance with wrapping of your merchandise in purchased way in an effort to guard them from various sorts of possible damages. The specialists who're presented employment during this business is uncovered vigilant and qualified in working with loading of products on transportation van. These people today employ rationalized equipments in order to load the goods. The applying of gigantic or partial vehicles is done as a way to make consignments supply to every doorway. Movers operating in the shifting organization skillfully choose for unloading of products and solutions and opt for for unpacking with all the intention of re-arranging them. You can quickly select us for availing the best kind of solutions.


text:
title: "Adversarial Neural Cryptography in Theano"
category : neural-networks
tagline: ""
tags : [neural-networks, python, theano]
---

Last week I read Abadi and Andersen's recent paper [[1]](#cite1), [*Learning to Protect Communications with Adversarial Neural Cryptography*](https://arxiv.org/pdf/1610.06918v1.pdf). I thought the idea seemed pretty cool and that it wouldn't be too tricky to implement, and would also serve as an ideal project to learn a bit more Theano. This post describes the paper, [my implementation](https://github.com/nlml/adversarial-neural-crypt), and the results.

## The setup

The authors set up their experiment as follows. We have three neural networks, named Alice, Bob, and Eve. Alice wishes to communicate an N bit message ***P*** to Bob. Alice and Bob also share a key (which you can think of as a password) of N bits.

Alice takes the message and the key, and encrypts the message, producing a communication ***C*** of N bits. Bob receives this communication, and then attempts to decrypt it, producing ***PBob***.

Unfortunately for Bob and Alice, Eve intercepts Alice's communication ***C***. She then decrypts this message herself, producing her attempted recovery of ***P***, which is called ***PEve***.

![The adversarial network setup](/images/crypt/fig1.png)
*Figure 1: The adversarial network setup diagram given in [[1]](#cite1).*

### Neural networks
As mentioned, Alice, Bob and Eve are all neural networks. All three of these networks are quite similar.

Alice (Figure 2) takes as input the message and key vectors, concatenated into one long vector of length 2N. This then passes through a single fully-connected hidden layer of size 2N. It then passes through what I will refer to as the *standard convolutional setup*, which takes this 2N-length vector, passes it through a number of 1D convolution filters, and eventually outputs an N-length vector. This is the communication ***C*** that gets sent to Bob.

![Alice's neural network configuration](/images/crypt/alice.png)

*Figure 2: Alice's neural network setup.*

Bob's network (Figure 3) is identical to Alice's, except that his input is the concatenation of the communication and the key.

![Bob's neural network configuration](/images/crypt/bob.png)

*Figure 3: Bob's neural network setup.*

Eve's network is also quite similar to Bob and Alice's. However her input is just the communication ***C***. She also has an additional fully-connected hidden layer of size 2N prior to the standard convolutional setup: the authors wanted to make Eve a bit more complex in order to give her a better chance of figuring out how to decrypt ***C***.

![Eve's neural network configuration](/images/crypt/eve.png)

*Figure 4: Eve's neural network setup.*

The following table gives the output dimensionality of each layer in each network:

|Layer|Output shape|
|-------|--------------|
|Alice input|2N|
|Alice hidden|2N|
|Alice convolutional|(2, 2N+1) --> (4, N) --> (4, N) --> (1, N)|
|Bob input|2N|
|Bob hidden|2N|
|Bob convolutional|As per Alice|
|Eve hidden 1|2N|
|Eve hidden 2|2N|
|Eve convolutional|As per Alice|

### Loss functions
The next ingredient are the loss functions:

Eve's loss function is simply the absolute difference between the message vector ***P*** and her attempt at decrypting it ***PEve***. This loss is backpropagated through the weights in the Eve network to update her weights.

***LossEve = Eve L1 error = abs(P - PEve)***

Bob and Alice's loss function is also the absolute decryption error, **plus** an additional term that signifies how well Eve is currently decrypting the message. This additional term is:

***(N / 2 - Eve L1 error)2 / (N / 2)2***

This is minimised when Eve gets half the bits correct, on average, in her decryption, which indicates that she is doing no better than random guessing. The gradient of this loss function is used to update the weights in both the Bob and Alice networks. Putting these together, we have:

***LossBob = Bob L1 error + (N / 2 - Eve L1 error)2 / (N / 2)***

### Adversarial training
Training then proceeds in an adversarial way: we train Bob and Alice for a while until they are communicating effectively, then we train Eve for some time, until she learns to decrypt the message. Then we train Bob and Alice again, who figure out how to fool Eve's current decryption method. Then we train Eve again, who cracks the improved encryption, and so on. The authors find that after a while, Bob and Alice's encryption becomes too strong for Eve to be able to learn to crack it.

## Theano implementation

The implementation is fairly straightforward. I have used some custom classes, `HiddenLayer()` and `ConvLayer()` for adding standard NN layers. You can find these in the `layers.py` file.

We first need to define our batch size and N up front. I have added the possibility to have different lengths for the key, message and communication, however I have not tested this; changing it might cause issues.

{% highlight python %}
batch_size = 512
msg_len = 16
key_len = 16
comm_len = 16
{% endhighlight %}

### Alice and Bob

For Alice and Bob we just create a fairly straightforward sequential NN:
{% highlight python %}
# Tensor variables for the message and key
msg_in = T.matrix('msg_in')
key = T.matrix('key')

# Alice's input is the concatenation of the message and the key
alice_in = T.concatenate([msg_in, key], axis=1)

# Alice's hidden layer
alice_hid = HiddenLayer(alice_in,
                        input_size=msg_len + key_len,
                        hidden_size=msg_len + key_len,
                        name='alice_to_hid',
                        act_fn='relu')

# Reshape the output of Alice's hidden layer for convolution
alice_conv_in = alice_hid.output.reshape((batch_size, 1, msg_len + key_len, 1))
# Alice's convolutional layers
alice_conv = StandardConvSetup(alice_conv_in, 'alice')
# Get the output communication
alice_comm = alice_conv.output.reshape((batch_size, msg_len))

# Bob's input is the concatenation of Alice's communication and the key
bob_in = T.concatenate([alice_comm, key], axis=1)
# He decrypts using a hidden layer and a conv net as per Alice
bob_hid = HiddenLayer(bob_in,
                      input_size=comm_len + key_len,
                      hidden_size=comm_len + key_len,
                      name='bob_to_hid',
                      act_fn='relu')
bob_conv_in = bob_hid.output.reshape((batch_size, 1, comm_len + key_len, 1))
bob_conv = StandardConvSetup(bob_conv_in, 'bob')
bob_msg = bob_conv.output.reshape((batch_size, msg_len))
{% endhighlight %}

### Eve

Eve is similarly implemented. We just need to use `alice_comm` in her inputs.

{% highlight python %}
# Eve see's Alice's communication to Bob, but not the key
# She gets an extra hidden layer to try and learn to decrypt the message
eve_hid1 = HiddenLayer(alice_comm,
                       input_size=comm_len,
                       hidden_size=comm_len + key_len,
                       name='eve_to_hid1',
                       act_fn='relu')

eve_hid2 = HiddenLayer(eve_hid1,
                       input_size=comm_len + key_len,
                       hidden_size=comm_len + key_len,
                       name='eve_to_hid2',
                       act_fn='relu')

eve_conv_in = eve_hid2.output.reshape((batch_size, 1, comm_len + key_len, 1))
eve_conv = StandardConvSetup(eve_conv_in, 'eve')
eve_msg = eve_conv.output.reshape((batch_size, msg_len))
{% endhighlight %}

### Loss functions

Here we just implement the loss equations described in the previous section. Note that the additional term in Bob's loss function is a bit simpler than the equation described above. Things have been set up such that a mean error of 1 means that half the bits were correctly decrypted (as bits are input as either -1 or 1, so a single error = 2). Hence the N/2 terms can be dropped from the implementation.

{% highlight python %}
# Eve's loss function is the L1 norm between true and recovered msg
decrypt_err_eve = T.mean(T.abs_(msg_in - eve_msg))

# Bob's loss function is the L1 norm between true and recovered
decrypt_err_bob = T.mean(T.abs_(msg_in - bob_msg))
# plus (N/2 - decrypt_err_eve) ** 2 / (N / 2) ** 2
# --> Bob wants Eve to do only as good as random guessing
loss_bob = decrypt_err_bob + (1. - decrypt_err_eve) ** 2.
{% endhighlight %}

### Training functions

The only tricky-ish thing here is making sure that the training function for Alice and Bob updates all their parameters, while Eve's only updates her parameters. I use `lasagne.adam` for an implementation of the Adam SGD optimiser. I put the functions in dictionaries for ease of use in adversarial training.

{% highlight python %}
# Get all the parameters for Bob and Alice, make updates, train and pred funcs
params   = {'bob' : get_all_params([bob_conv, bob_hid,
                                    alice_conv, alice_hid])}
updates  = {'bob' : adam(loss_bob, params['bob'])}
err_fn   = {'bob' : theano.function(inputs=[msg_in, key],
                                    outputs=decrypt_err_bob)}
train_fn = {'bob' : theano.function(inputs=[msg_in, key],
                                    outputs=loss_bob,
                                    updates=updates['bob'])}
pred_fn  = {'bob' : theano.function(inputs=[msg_in, key], outputs=bob_msg)}

# Get all the parameters for Eve, make updates, train and pred funcs
params['eve']   = get_all_params([eve_hid1, eve_hid2, eve_conv])
updates['eve']  = adam(decrypt_err_eve, params['eve'])
err_fn['eve']   = theano.function(inputs=[msg_in, key],
                                  outputs=decrypt_err_eve)
train_fn['eve'] = theano.function(inputs=[msg_in, key],
                                  outputs=decrypt_err_eve,
                                  updates=updates['eve'])
pred_fn['eve']  = theano.function(inputs=[msg_in, key], outputs=eve_msg)
{% endhighlight %}

### Convolution layers

Since it is used in all three networks, I made a custom class for the *standard convolutional setup*. It stores all the parameters and tensors relavent to all of the convolutional layers in the model. I have tried to match the description of the convolution setup described in the paper:
{% highlight python %}
class StandardConvSetup():
    '''
    Standard convolutional layers setup used by Alice, Bob and Eve.
    Input should be 4d tensor of shape (batch_size, 1, msg_len + key_len, 1)
    Output is 4d tensor of shape (batch_size, 1, msg_len, 1)
    '''
    def __init__(self, reshaped_input, name='unnamed'):
        self.name = name
        self.conv_layer1 = ConvLayer(reshaped_input,
                                     filter_shape=(2, 1, 4, 1), #num outs, num ins, size
                                     image_shape=(None, 1, None, 1),
                                     stride=(1,1),
                                     name=self.name + '_conv1',
                                     border_mode=(2,0),
                                     act_fn='relu')

        self.conv_layer2 = ConvLayer(self.conv_layer1,
                                     filter_shape=(4, 2, 2, 1),
                                     image_shape=(None, 2, None, 1),
                                     stride=(2,1),
                                     name=self.name + '_conv2',
                                     border_mode=(0,0),
                                     act_fn='relu')

        self.conv_layer3 = ConvLayer(self.conv_layer2,
                                     filter_shape=(4, 4, 1, 1),
                                     image_shape=(None, 4, None, 1),
                                     stride=(1,1),
                                     name=self.name + '_conv3',
                                     border_mode=(0,0),
                                     act_fn='relu')

        self.conv_layer4 = ConvLayer(self.conv_layer3,
                                     filter_shape=(1, 4, 1, 1),
                                     image_shape=(None, 4, None, 1),
                                     stride=(1,1),
                                     name=self.name + '_conv4',
                                     border_mode=(0,0),
                                     act_fn='tanh')

        self.output = self.conv_layer4.output
        self.layers = [self.conv_layer1, self.conv_layer2,
                       self.conv_layer3, self.conv_layer4]
        self.params = []
        for l in self.layers:
            self.params += l.params
{% endhighlight %}

### Training

To perform the adversarial training, I made a `train()` function that would train either Alice and Bob or Eve for some time. We then just iterate between calling this function on Alice and Bob, and then for Eve. The `gen_data()` function generates `batch_size` random message and key pairs. We train according to the loss, but for plotting we just store the decryption error for the party that is currently being trained.

{% highlight python %}
# Function for training either Bob+Alice or Eve for some time
def train(bob_or_eve, results, max_iters, print_every, es=0., es_limit=100):
    count = 0
    for i in range(max_iters):
        # Generate some data
        msg_in_val, key_val = gen_data()
        # Train on this batch and get loss
        loss = train_fn[bob_or_eve](msg_in_val, key_val)
        # Store absolute decryption error of the model on this batch
        results = np.hstack((results,
                             err_fn[bob_or_eve](msg_in_val, key_val).sum()))
        # Print loss now and then
        if i % print_every == 0:
            print 'training loss:', loss
        # Early stopping if we see a low-enough decryption error enough times
        if es and loss < es:
            count += 1
            if count > es_limit:
                break
    return np.hstack((results, np.repeat(results[-1], max_iters - i - 1)))

# Initialise some empty results arrays
results_bob, results_eve = [], []
adversarial_iterations = 60

# Perform adversarial training
for i in range(adversarial_iterations):
    n = 2000
    print_every = 100
    print 'training bob and alice, run:', i+1
    results_bob = train('bob', results_bob, n, print_every, es=0.01)
    print 'training eve, run:', i+1
    results_eve = train('eve', results_eve, n, print_every, es=0.01)
{% endhighlight %}

## Results

I trained both Alice and Bob, and then Eve, for up to 2000 iterations at a time (early stopping occurred if the decryption error was below 0.01 for a while). I did 60 overall repetitions of this adversarial training setup. I then plotted the minimum decryption error achieved by Bob and by Eve in each of these 60 runs (Figure 5).

![Bob and Eve's decryption errors over 60 adversarial training iterations](/images/crypt/results_conv.png)
*Figure 5: Bob and Eve's decryption errors over 60 adversarial training iterations.*

So, it seems to work. After a few adversarial rounds, Bob and Alice figure out a way to effectively scramble the communication such that Eve cannot learn how to decrypt it.

I also tested the setup without the four convolutional layers, instead replacing this with an additional 2N in, 1N out hidden layer (Figure 6).

![Bob and Eve's decryption errors over 60 adversarial training iterations, with the convolutional phase of the network excluded](/images/crypt/results_noconv.png)
*Figure 6: Bob and Eve's decryption errors over 60 adversarial training iterations, with the convolutional phase of the network excluded.*

This seems to suggest that the convolution layers helps, but perhaps it is still possible to achieve the goals of this experiment without it - Eve still isn't able to perfectly recover the message in this setup either.

## Final thoughts

I should note that this paper didn't receive much love when it was [posted](https://www.reddit.com/r/MachineLearning/comments/59v9ua/r_161006918_learning_to_protect_communications/) on the Reddit MachineLearning forum. And I have to say I kind of agree with the points made in that discussion: really the fact that this works doesn't mean it has created good encryption. Rather it more just speaks to the weakness of the Eve network in its ability to decrypt the message. This is sort of reflected by the fact that this setup still seems to work without the convolution layers (Figure 6). Still, it is an interesting idea, and I don't think I'm in a position to judge its academic merit.

Thanks for reading - thoughts, comments or questions are welcome!

#### References
1: Abadi, M & Andersen, D. [Learning to Protect Communications with Adversarial Neural Cryptography](https://arxiv.org/abs/1610.06918). October 24 2016. Google Brain.

redpajama_set_name: RedPajamaGithub


text:
Vincent Lindon – Titanium: "It's all me, including the buttocks"
Post category:Movies News
The actor displays an impressive physique in the film by Julia Ducournau, in competition at Cannes.
JK Simmons had better watch out. In the muscular sixty-year-old category, he now has a strong competitor: Vincent lindon who surprised everyone in the trailer for Titanium, presented this Tuesday in Cannes, the new film by Julia Ducournau (Serious). Impressive in his role as an aging firefighter whose son disappeared ten years earlier, the French actor confided in the JDD on its worthy preparation for Hollywood transformations.
"No, it's all me, including the butt"says Lindon, who was therefore not dubbed for the scenes where he appears naked."I have always been athletic, but I followed extensive training for a year and a half. Recumbent development, dumbbells, running. Since then it's like a drug, I keep going even if I reduced the pace". And obviously, he appreciated this challenge:"At 61, it won't happen often that I am offered such a physical role.".
And be the oldest actor on the set of Titanium, where he rubbed shoulders with Agathe Rousselle (32) and Garance Mariller (23), he also really liked: "It amused me to hear a young man say: 'He's here, the old man, anyway!' For the first time, I was the dean on the set. It's like I'm filming with fifty of my kids. They talk about something else in the canteen, dress differently. I loved this atmosphere. "
French box office of October 12: Dying can wait is already a millionaire
Nicolas Cage plays a truffle hunter in Pig [bande-annonce]
Jean-Paul Belmondo seen from Hollywood: how the US press talks about the death of the French actor

redpajama_set_name: RedPajamaCommonCrawl


Milwaukee Windshield Replacement? Get Auto Glass Quotes Instantly!
Do you have a broken car window glass? Has your car window gone off track? If your answer is yes, then it is time that you look for a Milwaukee WI car window repair company to get it fixed. There are a number of auto glass companies providing car window repair and replacement services in Milwaukee today and finding the best one among them is not easy. This is why Auto Glass Quotez is there to help you find and compare the different car window repair and replacement services in your area.
When your vehicle's window glass gets stuck in one position and refuses to move in either direction, it is said to have gone off track. Usually, when a window goes off track, you will be able to move the crank handle or operate the window motor but would not be able to close or open the window completely. To repair such a faulty window, you would have to remove the door panel completely for checking and rectifying the problem thoroughly. This is why it is better to let a professional Milwaukee WI car window repair company handle the job, rather than trying to fix it yourself.
The main function of a car window is to protect you from the weather and external elements outside the vehicle. But a broken window glass fails to protect you from extreme heat or cold and can cause rain water to leak into the car, dampening and damaging the car's interiors. Also, broken window glass is a welcome sign for vandalizer who might be looking for easy targets to steal valuables. Not just that, a broken or damaged car window can entice vandals and pranksters to further damage it just for some devious fun or for any other wicked reason. This means, by getting your faulty or broken window repaired immediately, you would be saving on major repair costs and also be minimizing the chances of car burglary.
Car window repair usually means replacement as a cracked or chipped tempered window glass is too delicate to be repaired and any kind of repair or replacement of the power window components like motor, regulator, etc requires you to remove the entire door panel. As improper installation of window glass or the door panel can risk the safety of the driver and the passengers in the vehicle, this complicated procedure should be handled only by the experts.
Although the mechanism and the components used in any car's window are more or less the same, it is better to look for a Milwaukee WI car window repair company that specializes in your vehicle model. Also, you should look for a reliable auto glass company that uses only the best quality glass and OEM spares for all your car window repairs and replacement. One way to choose the best car window repair company is to search for it at Auto Glass Quotez.


Skull, term applied to the rigid cartilaginous or bony structure located anterior to the spinal column in all vertebrate animals, and serving to encase and protect the brain and to provide attachment for the muscles of the face and mouth. In lower vertebrates, such as cyclostomes and elasmobranchs, the skull is composed of cartilage throughout the lifetime of the organism; in teleost fishes and in more highly developed vertebrates, including humans, the skull is cartilaginous during embryonic and fetal life, becoming ossified early in postnatal life.
The adult human skull is divided into two regions, the cranial and the facial. The cranial region is the portion of the skull directly surrounding the brain; the facial region includes all the other bones of the skull.
Exteriorly the cranial bones include the two frontal bones, which constitute the forehead and which fuse together in adulthood; the two parietal bones, which constitute the top of the head and which in early childhood are separated from the frontal bones by a space called the anterior fontanel; the single occipital bone, constituting the back of the skull, which is pierced by a large opening through which the spinal cord enters the cranial cavity; and the two temporal bones, which constitute the temples and of the head and bear the zygomatic processes, or cheekbones. The human temporal bone represents the fusion of four bones found in lower mammals: the squamosal bone, which constitutes the side of the head and articulates with the jawbone; the petrosal bone, which contains the inner ear; the mastoid bone, which is behind the ear; and the tympanic bone, which surrounds the channel from the eardrum to the external ear.
Internally, the cranial bones include the ethmoid bone, which forms part of the septum of the nose and through which the olfactory nerves pass from the brain to the upper and middle turbinates; the sphenoid bone, which constitutes most of the floor of the cranial cavity and which houses the pituitary gland; and part of the occipital bone. The floor of the cranial cavity contains three terraced depressions, which contain the cerebellum and the frontal and temporal lobes of the cerebrum.
The facial bones include the two nasal bones, which constitute the upper portion of the bridge of the nose; the two lacrimal bones, which are located in each eye orbit next to the nose, close to the tear ducts; the maxillary bone, which constitutes the upper jaw; the mandible, which constitutes the lower jaw; the two palatine bones of the hard palate; the vomer, which, with a part of the ethmoid bone, constitutes the nasal septum; and the two inferior turbinates of the nose.


February 2018: Kian Capital is pleased to announce that in partnership with management it has recapitalized Diamond Metals Distribution ("Diamond Metals" or the "Company"), a Cleveland-based steel service center.
Founded in 1995, Diamond Metals provides value-added services such as production saw cutting, flame cutting, pre-squared finishing, and grinding and milling services to tool steels, hot and cold rolled steels, powdered metals, and alloy plates and rounds. Diamond Metals' customers include tool and die shops, mold shops, machines shops, and general metalworking manufacturers.
More information about Diamond Metals can be found by visiting www.diamondmetals.com.
With offices in Atlanta, GA and Charlotte, NC, Kian Capital is a private investment firm that makes mezzanine debt and equity investments in leading lower middle-market companies across a broad range of industries, typically providing up to $25 million of capital per transaction. We partner with management teams and independent sponsors to build and grow successful, high-quality businesses. Our team has deep expertise across the capital structure, including control private equity, mezzanine debt and leveraged senior debt, which enables us to be flexible, value-added partners to help support the long-term objectives of business owners.


We had just left Kiyomizu-dera and headed down to Gion via the Yasaka Shrine . You can't visit Gion without first visiting this shrine. Yasaka is the spiritual centre of Gion and the reason everything around it even exists. In the middle ages, hundreds and thousands of people came through this area to make a pilgrimage to the shrine. The neighbourhood was built up around it to feed and house all the travellers passing through. A shrine has stood on this site since 656, but Yasaka was founded in 1350. The shrine was built to honour Susanoo-no-mikoto , a great Japanese god who defeated an eight-headed serpent and helped prevent many disasters. During the evening or at dusk is when this temple comes alive. The hundreds of lanterns which hang outside, each one donated from a local business with their name inscribed upon it, all light up when the sun goes down. It is a remarkable site to see against the backdrop of the bright, vermillion painted gates and edifices of the shrine. After touring the temple, we headed down Shijo Dori toward our tour groups meeting point. Shijo street is the best place to do some shopping while in Gion. Here you can find traditional sweet shops, pickles and handicrafts. This is the most modern area of Gion and any of the streets which branch off from Shinjo will take you right back in time. There are a few famous sweet shops along this stretch worth stopping inside, but overall it's a nice strip to browse or grab a coffee, as we did, sit by a window and see if you can spot a Geisha on her way to work. This is how we spotted our first Maiko (a Geisha/Geiko in training). Many people go out looking for Maikos on their way to work but finding a place where their schools let out is the way to catch them while they're not in too much of a rush. Geikos and Maikos are the words for Geishas and Geishas-in-training in Kyoto. Geiko literally translates into "a woman of art". Geikos are trained in all the different art forms of traditional Japanese art. They will be proficient in playing music, to paintings, flower arranging, singing and dancing. If you see a Maiko or Geiko in the streets, be respectful. They don't mind if you take a picture, but they won't stop and take a picture with you or stop and chat. Let them go on their way and just allow yourself to be an observer in the whole experience. You can tell the difference between a Maiko and a Geiko by their dress. Maikos will have decorations like flowers in their hair, while a Geiko will not. Also, Maikos obis (the belt they wear around their kimono) will stretch almost to the ground while the Geikos obi is neatly folded around her back. The last way to tell the difference is the shoes. Geikos have flat shoes called "zori" while the Maiko wears the iconic high platforms "okobo" slippers. The reason the Geikos have a much more subdued appearance than their trainee counterparts, if because these women have already made it and don't need to show off. As night sets on the city, it was time to meet our group. Our night guided tour of Gion was lead by Waraido Guides . The night tour was nowhere near as good as the backstreets tour we had taken in the afternoon. Our group was MASSIVE! It took away any of the intimacy we had on the previous tour, and it was hard to ask questions and make the tour more personal. Our guide was very knowledgeable and patient with answering the few questions she could, but overall it was a little chaotic at times to move around with such a large group. Kyoto is known for being the birthplace of Geishas in Japan. Kyoto was the Imperial capital of Japan from 794-1869, and as a powerful capital, it required the best of all entertainment for their dignitaries and foreign guests. Unlike many movie portrayals or common myths, Geisha's or Geikos are not escorts or prostitutes. They are profession entertainers. But there is so much more to Gion than just the Geishas. The cobblestone streets next to the Kamo River , we find the tiny Temple of Chugen-ji . Inside this temple, you'll find Jizo, a Buddist guardian saint. But this Jizo enshrined here is extra special. During the great floods of 1228, the people of Gion prayed to Jizo to save their town from the rising waters. People claimed they saw Jizo physically saving people from the flood and saw him stop the rain. This temple is dedicated to the saving of the town, perhaps without his intervention, it wouldn't be standing here today.
Near the temple, we can see the Minamiza Kabuki Theater . Minami-za is the best kabuki theatre in Kyoto. It was founded in 1610 but rebuilt in 1929. Kyoto is the birthplace of kabuki, and there is no better place in the world to see Kabuki as a first timer or experienced veteran. Kabuki is much like European opera but with a Japanese twist which includes more drama, more colours and much more spectacle! After learning more about Kabuki, we headed off towards Hanamikoji . Hanamikoji is the most historic of all the streets in Gion. Many of the houses along the street are original wooden "machiya" merchant houses. These beautifully preserved townhouses represent the architectural style of ancient Imperial Kyoto. These machiyas have been here for centuries and once would have served samurais. These days not all the shops on the street cater to knights of the empire. You can find some well priced, nostalgic restaurants and dessert shops where you can dine along one of Kyoto's well-known laneways. Buildings are trimmed in red, bamboo blinds hangs from second-floor windows, and high-class tea shops have elegantly dressed bouncers at the door, waiting to secretly usher in the elite Geishas coming to attend tea ceremonies. For those wondering how you can experience an evening with a Geiko, there aren't many options. Most Geikos are extremely expensive, and that's even if you can manage to get the contacts to book a dinner with them. They don't just have a phone line or website where you can make a reservation. You need to know someone who can give you a reference to get you in. Some tourist services offer evening dinners with "geishas", but often these aren't the real thing. Remember, if it's the real thing, it will cost a pretty penny, if you feel like it's too good to be true - it is. The red lanterns hang outside humble townhouses to indicate these are "ochayas" or teahouses, where Geishas are in attendance. Inside, guests will enjoy an evening of entertainment and fine dining by the Geikos and their house mother. They will sing and dance for their guests while food is served. Geikos delight in playing traditional Japanese drinking games with the finest sake with the business men. One of the most famous of these tea shops is the red-walled house called Ichiriki Chaya . Ichiriki Chaya is over 300 years old and is accessible by invitation only. It has been the scene of many samurai plots and where important governmental figures met and discussed the future of their great city. Although you might not be able to get inside, seeing this memorable building even from the outside is a treat. On the other side of Shijo Dori is the Shirakawa Canal and Shimbashi-dori . The Shirakawa Canal is one of the most picturesque parts of Gion. On either side of the canal, you'll find willow trees whose leaves hang over the water and onto the street, creating a green canopy. This street is much quieter than the Shirakawa area and is a great place to wander, away from the hustle and bustle of the main street.
It was along this street that our guide pointed out to us the tiny little sign above a modest house which identified it as a Geisha/Maiko rooming house. To become a real Geiko or Geisha, you need to go through years and years of rigorous training. Most girls start training at the age of 15 and attend Geisha schools where they learn all the different skills they require to entertain their guests. Since they are not making any money at this point, their schooling, training and clothing are all provided and paid for by their house mother, the "okasan". After they become a full-fledged Geiko, they must pay off their debts to the house mother who will get them their jobs and find them, clients. Many girls dream of becoming Geikos despite it being a rather ancient occupation. Geikos are now becoming famous on the internet and girls dream of becoming insta-famous too. Just like girls in North America look up to celebrities, girls in Japan look up to these beautiful professional party girls. Beside the boarding houses along the canals, if you keep your eyes peeled, you'll find the Tatsumi Daimyojin Shrine . This tiny, neighbourhood shrine, almost completely obscured in darkness at night, is frequented a lot by many local Geishas. Beside the shine is a stone inscribed with a poem by the famous poet Isamu Yoshii . It was made to honour the artists since he had a great love for Gion. The poem reads: No matter what is said it is Gion I love. Even when I sleep beneath my pillow the water flows… On our way back over to Hanamikoji we stopped outside one of the various Maiko Schools. These are also hidden and aren't easily identifiable unless you know what you're looking for. Outside the building, you'll see a green board with a chart covered in white Kanji letters. This is their agenda for the day. Maikos will stop here throughout the day to see what and where their classes are. We also managed to find a few retro-styled, hairdressers where the Maikos and Geikos come to get their iconic hairdos. It takes an enormous amount of time and money to style their hair, and as such, they need to sleep with their head inside a box so as to not mess up their hair throughout the night. In the picture below you can see our guide trying to explain the process to our group. You can see how HUGE the group was here and how you had to fight to get to the front to hear anything. We finished our tour at Gion Corner . If you aren't in the know, don't have the connections or don't have a tonne of money to spend but are interested in seeing what happens inside a Geisha tea ceremony, this theatre puts on performances every day where you can see examples of their talents. Maikos perform to show off their ikebana (flower arranging skills), perform bunraku (Japanese puppet theatre), and even perform a traditional Geisha dance. After the tour was over, we spent a little more time exploring the various side streets on our own. Although I LOVE guided tours and had the BEST time on our tour in the afternoon, these huge group tours feel a bit impersonal and not worth the money or time. I think with this guide and a little bit of research before you head out, you can explore Gion on your own, at your own pace and venture off from the giant tour groups. You might be surprised what you find around the next corner.


text:
TechCrunch: Amazon-backed Rivian to integrate Alexa into its electric pickup, SUV
By TechCrunch.com
Rivian will integrate Amazon's voice assistant Alexa into the R1T pickup and R1S SUV, the company's first electric vehicles that are set to debut at the end of the year.
Rivian said Monday it also plans to extend the Alexa integration to 100,000 electric delivery trucks that Amazon has ordered from the automaker. The electric vans are expected to start delivering packages to customers in 2021.
The integration into the R1T and R1S will give owners access to standard Alexa features, such as playing music, placing calls and navigation, as well as the ability to control the climate, open and close the trunk and other vehicle features.


text:
"""Support for monitoring a Sense energy sensor."""
import asyncio
from datetime import timedelta
import logging

from sense_energy import (
    ASyncSenseable,
    SenseAPITimeoutException,
    SenseAuthenticationException,
)

from homeassistant.config_entries import ConfigEntry
from homeassistant.const import (
    CONF_EMAIL,
    CONF_PASSWORD,
    CONF_TIMEOUT,
    EVENT_HOMEASSISTANT_STOP,
)
from homeassistant.core import HomeAssistant, callback
from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.dispatcher import async_dispatcher_send
from homeassistant.helpers.event import async_track_time_interval
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator

from .const import (
    ACTIVE_UPDATE_RATE,
    DOMAIN,
    SENSE_DATA,
    SENSE_DEVICE_UPDATE,
    SENSE_DEVICES_DATA,
    SENSE_DISCOVERED_DEVICES_DATA,
    SENSE_TIMEOUT_EXCEPTIONS,
    SENSE_TRENDS_COORDINATOR,
)

_LOGGER = logging.getLogger(__name__)

PLATFORMS = ["binary_sensor", "sensor"]

class SenseDevicesData:
    """Data for each sense device."""

    def __init__(self):
        """Create."""
        self._data_by_device = {}

    def set_devices_data(self, devices):
        """Store a device update."""
        self._data_by_device = {device["id"]: device for device in devices}

    def get_device_by_id(self, sense_device_id):
        """Get the latest device data."""
        return self._data_by_device.get(sense_device_id)

async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
    """Set up Sense from a config entry."""

    entry_data = entry.data
    email = entry_data[CONF_EMAIL]
    password = entry_data[CONF_PASSWORD]
    timeout = entry_data[CONF_TIMEOUT]

    client_session = async_get_clientsession(hass)

    gateway = ASyncSenseable(
        api_timeout=timeout, wss_timeout=timeout, client_session=client_session
    )
    gateway.rate_limit = ACTIVE_UPDATE_RATE

    try:
        await gateway.authenticate(email, password)
    except SenseAuthenticationException:
        _LOGGER.error("Could not authenticate with sense server")
        return False
    except SENSE_TIMEOUT_EXCEPTIONS as err:
        raise ConfigEntryNotReady from err

    sense_devices_data = SenseDevicesData()
    try:
        sense_discovered_devices = await gateway.get_discovered_device_data()
        await gateway.update_realtime()
    except SENSE_TIMEOUT_EXCEPTIONS as err:
        raise ConfigEntryNotReady from err

    trends_coordinator = DataUpdateCoordinator(
        hass,
        _LOGGER,
        name=f"Sense Trends {email}",
        update_method=gateway.update_trend_data,
        update_interval=timedelta(seconds=300),
    )
    # Start out as unavailable so we do not report 0 data
    # until the update happens
    trends_coordinator.last_update_success = False

    # This can take longer than 60s and we already know
    # sense is online since get_discovered_device_data was
    # successful so we do it later.
    asyncio.create_task(trends_coordinator.async_request_refresh())

    hass.data.setdefault(DOMAIN, {})[entry.entry_id] = {
        SENSE_DATA: gateway,
        SENSE_DEVICES_DATA: sense_devices_data,
        SENSE_TRENDS_COORDINATOR: trends_coordinator,
        SENSE_DISCOVERED_DEVICES_DATA: sense_discovered_devices,
    }

    hass.config_entries.async_setup_platforms(entry, PLATFORMS)

    async def async_sense_update(_):
        """Retrieve latest state."""
        try:
            await gateway.update_realtime()
        except SenseAPITimeoutException:
            _LOGGER.error("Timeout retrieving data")

        data = gateway.get_realtime()
        if "devices" in data:
            sense_devices_data.set_devices_data(data["devices"])
        async_dispatcher_send(hass, f"{SENSE_DEVICE_UPDATE}-{gateway.sense_monitor_id}")

    remove_update_callback = async_track_time_interval(
        hass, async_sense_update, timedelta(seconds=ACTIVE_UPDATE_RATE)
    )

    @callback
    def _remove_update_callback_at_stop(event):
        remove_update_callback()

    entry.async_on_unload(remove_update_callback)
    entry.async_on_unload(
        hass.bus.async_listen_once(
            EVENT_HOMEASSISTANT_STOP, _remove_update_callback_at_stop
        )
    )

    return True

async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
    """Unload a config entry."""
    unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
    if unload_ok:
        hass.data[DOMAIN].pop(entry.entry_id)
    return unload_ok


text:
Connection
==========

A connection is a vitaminized version of a List that provides ways of
slicing and paginating through it. The way you create Connection types
in ``graphene`` is using ``relay.Connection`` and ``relay.ConnectionField``.

Quick example
-------------

If we want to create a custom Connection on a given node, we have to subclass the
``Connection`` class.

In the following example, ``extra`` will be an extra field in the connection,
and ``other`` an extra field in the Connection Edge.

.. code:: python

    class ShipConnection(Connection):
        extra = String()

        class Meta:
            node = Ship

        class Edge:
            other = String()

The ``ShipConnection`` connection class, will have automatically a ``pageInfo`` field,
and a ``edges`` field (which is a list of ``ShipConnection.Edge``).
This ``Edge`` will have a ``node`` field linking to the specified node
(in ``ShipConnection.Meta``) and the field ``other`` that we defined in the class.

Connection Field
----------------
You can create connection fields in any Connection, in case any ObjectType
that implements ``Node`` will have a default Connection.

.. code:: python

    class Faction(graphene.ObjectType):
        name = graphene.String()
        ships = relay.ConnectionField(ShipConnection)

        def resolve_ships(self, args, context, info):
            return []


text:
<ModuleInfoEntry>
    <Module Name="imgpluginDEVIL" Type="SharedLibrary" Platform="mswin;linux" Tags="plugin">
        <Dependencies>
            <Dependency Name="gucefCORE" />
            <Dependency Name="gucefMT" />
            <Dependency Name="gucefIMAGE" />
            <Dependency Name="DevIL2" />
        </Dependencies>
        <Linker>
            <Dependency Name="DevIL2" />
        </Linker>
        <Preprocessor>
            <Define String="GUCEF_CODECPLUGIN_BUILD_MODULE" />
        </Preprocessor>
    </Module>
</ModuleInfoEntry>


Guinea Pig Cages, Care, Photos, News, Forum and Blogs > Administration > Support, News & Membership > Moving Website And Forum!
View Full Version : Moving Website And Forum!
I am going to be moving all of my websites over to a new hosting company in order to save money.
The problem with uploading photos at the moment is being held hostage for more money for disk storage. I have some other technical issues with my hosting company on some other business sites, so it's time for me to make the move.
IF you experience any issues with CAVY CAGES, either the website, the forum or the gallery in the next few hours or days, please just hang in there!!!! I'll get it sorted out sooner or later!


text:
Opinion: Time for Bauman to resign from Democratic leadership role
http://www.elkgrovenews.net/2018/11/opinion-time-for-bauman-to-resign-from.html
By Amar Shergill | November 29, 2018 |
Sexual assault and harassment allegations against California Democratic Party Chair Eric Bauman have now been detailed by the LA Times and corroborated by contemporaneous witnesses. I believe and stand with the survivors.
Mr. Bauman must promptly resign his chairmanship, despite his commitment to take a leave of absence and seek treatment for alcohol use. The CDP must lead in making our party safe for activists, delegates, officials and employees but this cannot be accomplished without condemning this behavior and removing those that engage in it. I will work diligently as a member of the Executive Board of the CDP to ensure that the Party pursues a process that protects survivors and removes Mr. Bauman from office at the earliest opportunity.
In the coming weeks, we must also ensure that Mr. Bauman's behavior was not ignored, covered up, or accommodated by anyone that remains in the Party. There must be accountability not only for Mr. Bauman but also for our institution in harboring an environment wherein survivors were afraid to come forward and were silenced when they did.
For all of those dealing with emotional distress, please seek assistance if you are in need:
RAINN (Rape, Abuse & Incest National Network): 800-656-4673
Trans Lifeline: 877-565-8860
Amar Shergill is an Executive Board Member of the California Democratic Party
D.J. Blutarsky said...
If the LA Times story is correct, his gig is up. If he is fired, he can still qualify for Medi-Cal, free medical, free dental, food stamps, Section 8 housing, free cell phone, discounted utilities, free internet, free college tuition, and a senior discount at Denny's!


Image Title: Traditional Wood Roman Shades San Antonio Shutters Window Within Remodel 8. Post Title: Wood Roman Shades. Filename: traditional-wood-roman-shades-san-antonio-shutters-window-within-remodel-8.jpg. Image Dimension: 640 x 300 pixels. Images Format: jpg/jpeg. Publisher/Author: Hoyt Leannon. Uploaded Date: Tuesday - October 16th. 2018 20:10:16 PM. Category: Architecture. Image Source: wayfair.com. Woven Wood Roman Shade Ehindtimes Com With Regard To Shades Decor 19. Java Natural Woven Wood Bamboo Roman Shade 39 X 64 Walmart Com Inside Shades Plans 4. Woven Wood Shades Custom Made Blinds To Go Within Roman Plan 12. Bamboo Woven Shades And Fabric Roman Ultimate Guide In Wood Decor 18. Woven Wood Shades Drapery Connection In Roman Plan 9. JCPenney Home Bamboo Woven Wood Roman Shade Throughout Shades Designs 1. Woven Wood Fabric For Roman Shades And Rollups Newcastle Fabrics Throughout Designs 11. Amazon Com Cordless Woven Wood Bamboo Roman Shade Brown 35x64 Intended For Shades Ideas 7. Traditional Wood Roman Shades San Antonio Shutters Window Within Remodel 8. Custom Grass Cloth Woven Wood Roman Shades Intended For Idea 14.


To report a problem with any Computer Science system or equipment you may enter the requested information below and submit it. Please do not send email to indviduals working in Computer Science; the email to trouble is a better route because the trouble system logs all incoming requests.
Check here to see if your problem has already been reported.
Click on any field to see a more verbose description and an example.
Only the fields marked with an asterisk (*) are required. If you cannot determine certain information leave the field blank and submit the form. Keep in mind that the problem will be easier to track down and will be solved faster if all requested information is supplied and that information is accurate.
Click on the field description to return to the input form.
E-mail Address (Required) is an address where you can be contacted so you can be informed that the problem has been rectified or if more information is required. Note that the @your.domain is required, and that domain must be within uregina.ca.
Your Name (Required) makes it easier to respond to you if you make a typo in your e-mail address.
Equipment Type (Required) should contain a description of the piece of equipment or software you are having problems with.
e.g. PC, Printer, Hercules, TeraTerm, etc.
Location (Required) should contain the room number where the equipment is located.
e.g. CL115, CL129.9, CL135.4, UDML Lab, etc.
ID # (Required) should contain the computer ID number. Usually this number is at the left on the front edge of the computer desk. The number is based on the room number, so for example the ID number of the 14th computer in CL115 would be 115-14.
Description (Subject) (Required) should contain a short one line description of the problem. The line will be the subject of the message sent off to trouble.
Detailed Description should contain any additional information about the problem that could not be conveyed in the one line description.
e.g. I kind of spilled my soft drink on the keyboard. The smoke and sparks were really cool - but then the lights went out. When the power came back on, all the PC would say is "Keyboard failure - press any key to continue".
© 2019 University of Regina.


Hut! Hut! Hike! Bring all the excitement of game day into your home with this fun vinyl figure from Funko Pop! featuring the likeness of Green Bay Packers linebacker Clay Matthews. With the figure's removable helmet and luscious locks action, you'll feel like you're right on the sideline at Lambeau Field cheering on Matthews and his crew! Sure to score a touchdown with any Packers fan.


Nagpur: A five-year-old boy was allegedly sexually exploited by two juveniles on Thursday afternoon under the jurisdiction of Nandanvan police station.
The juveniles have been booked under sections 363 and 377 of the Indian Penal Code (IPC) following a complaint by the survivor's parents.
According to cops the survivor, a KG II student, and the juveniles live in the same locality and the trio used to play regularly. On Thursday, when the survivor was playing outside his house, the duo lured him by offering chocolate and took him to an isolated place where they allegedly sexually exploited the boy.
After the incident, the survivor went home but did not disclose anything about what had happened. After sometime his mother served him food. While having food, the survivor started complaining about severe discomfort in his private parts. When his mother examined him, she found blood was oozing from the boy's private parts. When asked about the injuries, the boy narrated the incident to his mother. She soon raised an alarm and rushed the five-year-old to Nandanvan police station where a case was registered against the two juveniles.
Cops sent the survivor for medical check-up and later rounded up the juveniles. The duo has been sent to juvenile home.


person, and get picked up in minutes.
You can call a dedicated phone line where an Arrive concierge will immediately dispatch a car that meets your unique needs.
We store your favorite destinations, so ordering a ride is easy.
Using Arrive usually costs less than taking a taxi – and it's more enjoyable!
Just a small note from a big fan...thank you again for the amazing way you all wrangle the Lyft system for us. Today we got a free recipe for fresh pineapple pie from one driver, and tips on taco trucks from another. Not to mention the comfy fast transport. By a thousand miles, this beats sitting in our own metal box fuming about the lack of handicap spaces. Thank you for opening the windows!!!!
Arrive has consistently provided a timely ride for me when needed. I particularly like the idea of speaking with people at Arrive who know who you are. They go the extra mile to ensure that the driver picks you up and provides any needed assistance.
I use this service for my mom. She loves it. She calls in when she needs a ride and they set everything up for her. Thanks Amy and Liz for your hard work in setting this up.
This service is just what my family was looking for our 84-year-old mother. She no longer wanted to drive but didn't want to lose her ability to be mobile. Yes - she still has a flip phone with no interest in getting a smart phone.
This service is so easy. She calls Arrive and within minutes she has a car at her door. She always tells me how much she loves this service. I am so grateful for Arrive and highly recommend them.
My Mom is 91 years old and last year she decided to stop driving... I heard about Arrive Rides on the radio and I called Amy. Amy is the best! She got my account set up, we created a profile of the main places my Mom goes, and I rode with my Mom the first two times to make sure she understood how it works.
My Mom has been using Arrive rides for over a year now and she often says to me, "I really like my ride service!" I have even gone to pick up my Mom to go to lunch, and then call Arrive Rides to take her back home when I am pressed for time.
Arrive Rides in the best!
Initially my [85-year-old] mom was a little apprehensive since it was all new to her, but she loves it. She's now free to run errands, go to lunch and she's even recently starting going to senior exercise classes. It gives her peace of mind, and also gives peace of mind to my sisters and myself. After she's taken a trip I usually check in with her to see how it went, and she normally has said her drivers were great, and it was 'easy peasy' using the service.
I would like to express my gratitude to this organization. I am almost totally blind and do not drive. Due to your service, I have the freedom to go out in the evening and to places, where there is no public transportation without having to depend on friends or taxi cabs.
Just wanted to thank you for the huge relief, big fun, and even at times wild joy of being able to use your service for the first time yesterday.
Cannot say how reassuring it is to have you smart and friendly humans making our arrangements, versus robots.
All the drivers felt safe and reliable--plus the smart women driving us in to Berkeley and Oakland also offered humor, wisdom, and even bottled water and mints. We were also impressed with how expertly our Oakland-to-home driver negotiated routes and lanes to get us home in record time given the traffic. And the super convenient drop offs were way better than trying to hunt for scarce handicap parking.
Big, big thanks and cheers.
Give your loved one the gift of freedom with an Arrive membership!
Whether you want more information for yourself or to share with a family member, we'd love to mail you a brochure!


text:
Q: Check if a string has 2 characters next to each other - Python Say we have a string
"SS in a dark room"
True

I want to check if this string contains 2 or more 'S' characters next to each other, so here it would be True but in this string it would be False:
"ss in a dark room"
False

Here it would be False:
"S in a dark room"
False

and here it would be True
"SSS in me"
True

A: Can't you just do:
the_string = "SS in a dark room"
print("SS" in the_string)
## Returns True

redpajama_set_name: RedPajamaStackExchange


text:
"use strict";

const path = require("path");
const app = require("./expressApp.js");
const logger = require("./logger.js");
const serveStatic = require("serve-static");
const bodyParser = require("body-parser");

app.use(serveStatic(path.join(__dirname, "../wwwroot") /*, {index: ['index.html']}*/));
app.use(bodyParser.json());
app.set("views", path.join(__dirname, "../client"));
app.set("view engine", "vash");

const config = require("./config.js");

// web routes
require("./controllers/");
// API routes
require("./api/");

const server = app.listen(config.web.port, config.web.ip, function () {

  let host = server.address().address;
  let port = server.address().port;

  logger.log(`server listening at http://${host}:${port} ...`);
});


Join the GCA This Summer!
The Greeting Card Association offers member companies so many ways to be successful in the greeting card business. And with discounted membership available now, Summer is the perfect time to consider joining!
Work with established companies of all sizes and industry tenures as part of the GCA Mentorship Program. Whether you are new to the industry or work at an established company, the GCA Mentorship Program offers benefits to mentors and mentees alike.
Stay up to date on the latest techniques and trends by participating in GCA professional development programs, such as the 2018 Annual Convention in Cleveland.
Gain exposure, and learn from your peers as a GCA volunteer! The GCA Board and Committee structure is an open structure, allowing everyone the opportunity to connect, participate… and make a difference.
Promote your business or get published in the bi-monthly Card Talk, our member newsletter.
Advocate for the greeting card industry and its stakeholders. We've built a powerful coalition to support a stable and profitable USPS, which benefits all card companies and consumers! Join the cause.
Achieve national awareness for your products. Participate in the LOUIE Awards, recognized as the industry's premier showcase for creativity and innovation, since 1988! Members pay reduced entry fees.
Receive a complimentary copy of the GCA Associates Resource Guide of industry suppliers, putting you in touch with these important partners.
Find new customers through free participation in our online "find-a-member" directory.
Enjoy special member discounts and services, including insurance benefits, package shipping and exhibit space discounts.
Cool off this summer. And help your business heat up! Apply for GCA membership today.
Apart from great people, events and relationships that the GCA has brought into my life, being a GCA member has been good for my business. Those same people, relationships and events that came about because of my involvement have strengthened our company, and our industry.


Excellent for improving general fitness, strength and flexibility. Open to any level and a good starting point.
Exciting traditional class that develops basic Muay Thai skills with a partner on the pads.
Please text 07743596420 to book in, only £2.50pp per class.


text:
Jazz In The GDR
AMIGA Recored Label By Jazzy Berlin
A Record Monopoly
Ernst Busch was a lucky guy. At 1947 he got a license for a record label in East Germany called AMIGA. It was the Soviet Military Administration who gave him the permission.
The Music Boss In The GDR
Ernst Busch started as a german singer and an actor in the 1920's Berlin cabaret scene.
From Pop Music To Jazz
The label AMIGA was releasing different music record genres: Rock Music, Pop Music, Folk and as a Jazz with his sub label AMIGA Jazz. The label was releasing close to one jazz album in a month.
Controlled Jazz By The GDR
Because of political reasons some records were never officially published.
At that time AMIGA was the main channel for Jazz music in the German Democratic Republic, (GDR).
*Since 1994 AMIGA is a part of Bertelsmann Music Group, (BMG), the world's third largest music publisher.
* Link: THE AMIGA JAZZRECORD DISCOGRAPHY


All is still really not well with the All Progressives Congress, APC in Ogun State as the State Governor and the All Progressives Congress' candidate for the Ogun Central Senatorial District, Ibikunle Amosun, said he would work against the governorship candidate of the APC, Dapo Abiodun, in the 2019 governorship poll.
Amosun said this while addressing a stakeholders' meeting of the APC which was attended by his preferred governorship candidate and the candidate of the Allied People's Movement, Adekunle Akinlade, at the Presidential Villa in Abeokuta, the Ogun State capital.."I , Senator Ibikunle Amosun, will not support anyone (Dapo Abiodun) they are bringing.
"Why would a reasonable person with less than 10 per cent lord it over the majority? It can't happen.


Planned giving includes a variety of ways you can help NDI while also advancing your own financial and personal goals. For more information, please visit the Planned Giving page.
Life Income Gifts: NDI pays an income stream for life or a term of years.
Retirement Plans: NDI is designated as a beneficiary of the remainder or a percentage of the remainder of your retirement plan.
Other Ways to Give: Charitable lead trusts and other options.
Online credit card donations allow NDI to receive funds faster, without having to spend time processing checks, and save you from spending money on a stamp.
Yes. NDI accepts both checks and credit cards.
Yes (please seek your own tax counsel regarding the amount).
Yes; anyone who donates a gift of any amount will receive a receipt. If you need a duplicate receipt, please contact the Development Office at 202.728.5630.
What is NDI's Employer Identification Number (EIN), also known as a Federal Tax Identification Number?
Typically, donations are processed within a week from when they are received at NDI.
Yes. Gifts in memory or in honor of an individual can be made during one's lifetime or through bequests. You can indicate this either in writing or online.
If you have questions, please call the Development Office at 202.728.5630.


text:
Apple Developing Wrap-Around Display for Future Apple Watches
March 23, 2021 by malkitrataul
A new patent filed by Apple today hints that the company is planning huge for the future versions of Apple Watch. The patent filed today highlights that the company is testing wrap-around flexible display, digitally-customizable watch bands, and even round display for next-generation Apple Watch.
Apple, today, filed a patent with the United States Patent and Trademark Office titled "Display Module and System Applications." In the patent, Apple discusses the possibility of an Apple Watch with a display that goes along the entire length of the watch face and the band of the smartwatch, and the technology that goes behind it.
The patent imagines a smartwatch with a flexible display that covers both the watch and the band area. The flexible display would adjust according to the size of the user's wrist. Wondering how this would be possible? Apple, in the patent, says this would be feasible with the help of "interconnects" that pan from the front surface to the back surface of the watch. These interconnects would be connected to LEDs to make the whole thing work.
Apple also highlights that the design could facilitate a "minimized" bezel, or even eliminate the bezel completely.
"A bezel width surrounding the display panel can be minimized, for example below 4-5 mm or even less than 1 mm, less than 0.5 mm, or eliminated. Thus, the bezel design of the smartwatch can be designed for aesthetic concerns rather than as a requirement for allocating space for a contact ledge."
Using the wrap-around display would enable Apple to create customizable digital watch bands. Just like Apple Watch users are able to customize the watch face, having a display that spans the whole length of the wrist would make way for digital watch bands. The band could also be used for other purposes too, like showing notifications, or some persistent data like the weather.
Would you buy an Apple Watch with a round display? Or an Apple Watch with a wrap-around display? Let us know in the comments section below!
[Via MacRumors]
Categories Apple Watch, News, Smart gedget	Post navigation
ProtonVPN Founder Says Apple Is Standing 'in the Way of Human Rights' by Blocking App Updates
OnePlus 9R release date, features, specs and price
© 2022 Rataul.com • Powered by WPKoi


text:
Coalition Airstrikes Hit ISIS in Syria, Iraq
Home International Coalition Airstrikes Hit ISIS in Syria, Iraq
International News 10 March 2015
U.S. and coalition military forces have continued to attack the Islamic State in Syria and Iraq over the past two days.
The Combined Joint Task Force Operation reported details of the latest strikes that included:
Attack, fighter and bomber aircraft conducted 12 airstrikes in Syria:
— Near Kobani, six airstrikes struck three tactical units, destroyed two fighting positions and damaged one heavy machine-gun position.
— Near Kobani, an airstrike struck an ISIS tactical unit and destroyed five ISIS fighting positions.
— Near Kobani, five airstrikes struck an ISIS tactical unit, an ISIS modular oil refinery and destroyed seven ISIS fighting positions and an ISIS vehicle.
Attack, fighter, bomber and remotely piloted aircraft conducted 32 airstrikes in Iraq that included:
— Near Mosul, six airstrikes struck four ISIS tactical units, destroyed two buildings, two check points, two ISIS vehicles and one mortar, damaged an anti-air defense artillery gun and a weapons cache, and neutralized an excavator.
— Near Tal Afar, two airstrikes destroyed two anti-air defense guns.
Coalition nations conducting airstrikes in Iraq include the United States, Australia, Belgium, Canada, Denmark, France, the Netherlands and the United Kingdom.
Coalition nations conducting airstrikes in Syria include the United States, Bahrain, Jordan, Saudi Arabia and the United Arab Emirates.
Syrian forces pound ISIS with new Russian aircraft
At least 38 Islamic State fighters were killed over the last 24 hours as Syrian jets continued to pound the…
America drops Mother of All Bombs in Afghanistan
A huge bomb, equivalent to 11 tons of dynamite, has been used against ISIS in Afghanistan by the United States…
Who is the Islamic State and what do they want
President Obama has described the Islamic State as being a cancer, while the militants themselves believe in the establishment of…
Islamic State and Iraqi forces clash near Ramadi
Iraqi forces said they fought off an overnight attack by Islamic State militants near the city of Ramadi, which the…
Free American journalist Steven Sotloff
The world has been stunned by the graphic video of an American journalist James Foley being beheaded by an ISIS…
Syria's brutal war threatens international peace and security
Mass atrocities by Government forces and non-State armed groups continue to take place in Syria, causing immeasurable suffering to civilians,…
United States at War with Islamic State
The United States is at war with the terror group Islamic State, "in the same way we're at war and…
US continues with air strikes against Islamic State
The United States and partner-nation military forces continued to attack Islamic State terrorists in Syria yesterday using a mix of…
Islamic State beheads British aid worker
A third western hostage has been beheaded by the Islamic State. A video surfaced on the internet showing the brutal…


Denim fashion brand Lee Cooper has appointed former Etam director Stefaan Le Clair as chief executive.
Previously, Le Clair worked as Etam China vice-president, Interiors Europe chief buying officer, Etam Netherlands director and Esprit International Europe retail manager.
Lee Cooper also revealed its joint ventures in India and China and the acquisition of its Indonesian licensee will contribute between 15 per cent and 20 per cent of revenues in the next financial year. The group expects to operate from up to 500 stores in Asia in the next two years.


Directors of Steris Corp., the Mentor-based maker of medical sterilization equipment, authorized the company to buy back 3 million shares of common stock. The plan replaces a previous stock repurchase authorization and enables the company to acquire shares on the open market and in private transactions. Steris did not indicate a price it will pay to acquire the shares or how much has been budgeted for the program. The board also authorized a quarterly dividend of 4 cents per share, to be paid on Sept. 13 to shareholders of record as of Aug. 16.


text:
Trump supporters in Arizona in disbelief over Biden win
In spite of widespread projections for a Joe Biden win, Donald Trump supporters at a pre-planned gathering site in Phoenix, Ariz., Saturday insisted Biden is not the next president and repeated Trump's unproven allegations of voter fraud.
»»» Subscribe to CBC News to watch more videos: http://bit.ly/1RreYWS
Connect with CBC News Online:
For breaking news, video, audio and in-depth coverage: http://bit.ly/1Z0m6iX
Find CBC News on Facebook: http://bit.ly/1WjG36m
Follow CBC News on Twitter: http://bit.ly/1sA5P9H
For breaking news on Twitter: http://bit.ly/1WjDyks
Follow CBC News on Instagram: http://bit.ly/1Z0iE7O
Subscribe to CBC News on Snapchat: https://bit.ly/3leaWsr
Download the CBC News app for iOS: http://apple.co/25mpsUz
Download the CBC News app for Android: http://bit.ly/1XxuozZ
For more than 75 years, CBC News has been the source Canadians turn to, to keep them informed about their communities, their country and their world. Through regional and national programming on multiple platforms, including CBC Television, CBC News Network, CBC Radio, CBCNews.ca, mobile and on-demand, CBC News and its internationally recognized team of award-winning journalists deliver the breaking stories, the issues, the analyses and the personalities that matter to Canadians.


Spray in Bedliner Polyurethane Polyurea > Question and Answer > Why are some other DIY Spray Bed Liners Cheaper?
Most DIY Products advertise a "1 gallon truck bed kit". Over time this has caused many consumers to think that "One gallon equals one truck bed". This is not correct.
We believe it is a disservice to the public to think this way. If you read our Q and A about Bed Liner Thickness you'll understand that it takes at least 2 gallons to do a basic 6 ft bed, and at professional thickness it requires 4 gallons.
Spray-Lining DIY Kits start at 2.3 gallons of sprayable bed liner. Plus you get a real professional spray bed liner gun, not a cheap schutz gun. With this better gun you can control texture and thickness very well. This allows you to customize the look of your spray coating and apply a better consistent coat which helps with your level of comfort and the finished product.
In addition to these factors, most DIY Bed Liner kits are 1 part roll on system. Spray-Lining is a 2 part polyhybrid coating that is used by professionals in the industry. We are the only company besides Scorpion Coatings that offers a professional product to the DIY consumer.


When you talk about a fitted hat that has an all over graphic for a pattern, you can't help but look at it again and again. New Era releases another Star Wars fitted cap in all over fashion with a full blown battle in some galaxy out there. This dope release is now available at New Era Cap.