It has almost been 5 years now since we got rid of our electric clothes dryer. Living without it hasn't really been difficult to get used to. You just have to learn to plan ahead when you know you'll need certain items.
You would think that rainy days would put a stop to the laundry, but in my world I don't have time to wait for the sun to come out. These kids go through clothes and towels like crazy!
In order to continue the washing rain or shine, I have a couple of indoor hang drying options which have been working out very well for me.
Over the tub I have a 5-line retractable clothesline. When I need to hang clothes indoors, I just pull it out across the tub and pin the clothes up to dry. When company comes over I close the shower curtain to hide my laundry, so it's totally out of sight.
I can usually fit two large loads of laundry on the line. I try not to hang really heavy things like large towels or my husband's jeans because the weight will make the line permanently sag.
Since there weren't wall studs exactly where the mounting holes were on the unit, my husband screwed a 2×4 board into the studs, then we hung the clothesline to the board. This way we don't risk the entire thing pulling out of the wall under the weight of the wet clothes.
I've found a hanging clothespin bag to be super handy for keeping all of my clothespins in one place as I take them off the line. This one is by Lindy Sues.
When all of the clothes are off the line it retracts back into itself so that it's completely out of the way again.
Here's what the shower/tub looks like with the clothesline empty and retracted. You hardly even know it's there. If I had two tubs I'd put one of these over each.
For more indoor drying space, especially for larger or heavier items, an expandable floor dryer rack is a homesteader's dream.
The large wooden one seen in the picture below is a "Homesteader" Drying Rack. Love, love, love this thing! It folds up flat when not in use for easy storage, is super light weight, and is large enough to hang a king sized blanket on.
The smaller floor rack is a simple expandable Metal Clothes Drying Rack. It also folds flat when not in use. Sometimes I put the smaller rack in the tub underneath the retractable clothesline if the clothes on it are dripping wet.
With all of these indoor laundry drying options I'm able to get 4-5 good sized loads washed and hung no matter what the weather is outside.
Obviously, hang drying clothes takes much longer than throwing them in a dryer to tumble dry for an hour. Typically it takes 1-2 days for the laundry to thoroughly dry indoors. If I know we have somewhere we need to be which will require certain clothing, I make sure those clothes are washed and dried two days before we need them.
Does it ever get inconvenient? Sure. For instance, at this moment we have absolutely no dry, clean towels in the house. They're all either in the laundry or hanging wet on the drying racks. It has been raining for a few days, and I just didn't get to a load of towels before we ran out. Whadyado? You dry off with a wash cloth until the towels are dry. Life goes on.
Placing the drying racks in front of the wood stove when it's burning definitely speeds up the process. It also helps to add much needed humidity to the air in the wintertime when the wood stove is burning non-stop and the air gets super dry.
In the summertime, ceiling fans help to speed up the drying process on rainy days. Fans also help keep your clothes from smelling musty when it's really humid in the house.
Hang drying takes time and patience. But honestly, I've found it a nice change to simply slow down and enjoy the process.
Do I wish I had an electric clothes dryer for the rainy days?
Not for a minute. I've got everything I need right here!
Where did you get the large wooden drying rack?
And in the process, you are humidifying your home in those dry winter months.
Wire or plastic coat hangers are great for hanging/drying shirts; two clothes pins will secure any size jeans or even 2 pair(if small). Hang on doorway trim when no one is around.
There are old fashioned metal clips that hold coat hangers from sliding all together on a line, but putting a permanent knot or loop every 4-6 inches would work also, inside or outside.
Look up images of antique or vintage wall mount clothes hanger; hang above a wood stove; some fold up and away when not in use.
In order to avoid wrinkles, hang shirts upside down from the bottom hem and hang pants from the cuffs. The wrinkles will pull out during the drying process from the weight of the clothes.
I love that you guys are doing this full-time, Kendra! What do you do about the towels and jeans drying so hard and crunchy – does that happen to you?
I never had a dryer and probably will not ever have one. I lived in Africa for 23 years and for safety we always hang our clothes on line inside double garage, but now in Serbia I dry our laundry outside or in my husband's workshop attached to the house when weather is bad – it usually dries overnight.
But there is another thing I want to tell you: when my washing machine is done I take each item and shake it vigorously and fold (still wet) and pack pieces on top of each other leaving them like that for a while (few hours or overnight). Than, when hanging it to dry, I shake it again and pin – and also pay attention when I take it of the clothesline no to scrunch it, but fold it! When it comes to final folding – my clothes look like that they have been partly ironed!
I never would have thought to fold wet clothes for a while. Interesting!
I have my wood burning stove in the basement that heats my whole housel( 4BR 2Bath) and in the winter I get to "hang" my clothes on hangers which I then hang from the ceiling 2x4s. Even my sons jeans with 36″ inseams, double up to fit the hanger and then doubled again to hang over the bottom of the hanger, dry in about 3hrs 🙂 Love, love, love using what God has supplied, the sun and the wood, to dry my clothes instead of electricity.
We have hung clothes in our house for 59 years, lol. When my dad designed and built this house, there was no room for a dryer and I'm not sure they were even around. Or at least they were brand new, lol. We love drying indoors. Most of the time our clothes are dry within 12 hours. In summer, the dry even quicker, lol.


Most of us know sage as a culinary herb — one that we grow in our gardens and use to flavor our dishes. For centuries sage has been valued as one of the best kitchen herbs and was traditionally cooked with rich, heavy foods. It is still a popular flavoring herb for meat dishes and stuffings. As an aromatic spice, it improves digestion, breaks down fats, relieves indigestion and nausea, and stimulates the gall bladder to produce more bile.
Salvia officinalis has a deep affinity for the brain and nervous system and can be considered a tonic herb for both. It has a rejuvenating effect on the nerves, and can help to strengthen the mind and memory. Sage has been used by herbalists to address depression, anxiety and nervousness. It is especially good for the frazzled feeling we sometimes get when life is too busy or hectic — sage is one of my top herbs for what I call "city-dweller syndrome." From my own personal experience with sage I have found it has a unique action that seems to feed and nourish the nervous system. When using sage during stressful times it helps me to feel less anxious and more grounded. It helps me feel more at peace with how things are, and to feel more connected with day-to-day reality, i.e. appreciating what is rather than what I want things to be. Many traditions have noted that sage has the ability to enhance one's inner wisdom… and so the word "sage" is applied to a person who is wise. The flower essence is especially beautiful and illuminating for enhancing inner knowingness.
Sage is cleansing, clearing and purifying. White sage is often burned as an incense to clear the air and make a space feel new and refreshed. The essential oils contained within the leaf make sage highly antiseptic, giving it many applications. I like to use strong sage tea at the onset of a cold, or for any respiratory infections or sore throats. It also makes a fantastic mouthwash which supports healthy gums and leaves a clean, aromatic feeling.
There are many ways to obtain the benefits of sage. Use the dried leaf as a spice in meat or stuffings (especially for Thanksgiving!) I like to drink sage tea with honey — just steep 1-2 teaspoons of the dried leaf in 8 oz. hot water for at least 10 minutes. Then add a spoonful of local honey and sip whenever you are feeling anxious or stressed, or if you are starting to feel a bit under the weather.
Sage Flower Essence can be used as well, and is one of my favorite essences. It helps one to distill wisdom from experience, and is especially recommended for people who find it hard to find purpose and meaning in their life.
Herbal honeys are a delicious way to enjoy the benefits of herbs, especially highly aromatic plants like sage. This honey can be enjoyed by the spoonful, added to hot cups of tea, spread onto toast, or made into sauces and salad dressings.
Fill a small 8 oz. glass jar with finely chopped fresh sage leaves. When using fresh herbs I generally fill the jar about 3/4 full.
Cover with local honey, stirring well to ensure that any trapped air bubbles come to the surface.
Label the jar with the date and ingredients.
Let steep for at least 1 week (if you can bear to wait!) up to 4 weeks before using.
If you wish you can strain out the sage leaves through a course strainer (you may have to gently heat up the honey to make it more runny). Or, you can just use the honey as is, sage leaves and all.
Use up within 4-5 months.
Sage should be avoided during pregnancy since it can be stimulating to the uterus. It may also reduce the flow of milk during breast feeding and should be avoided by nursing mothers.
This blog post — Sage: The Wise One / Salvia officinalis — is for general health information only. This blog post is not to be used as a substitute for medical advice, diagnosis or treatment of any health condition or problem. Users of this Web site should not rely on information provided on this Web site for their own health problems. Any questions regarding your own health should be addressed to your own physician or other healthcare provider.


text:
Wang Hong Dominate WeChat Social Search Optimization
HomeChoZan / WeChat / Wang Hong Dominate WeChat Social Search Optimization
Wang Hong (网红) know something about future WeChat social search optimization that you don't, and it's a game changer that's only going to increase the ubiquity of their content.
1 Have you ever heard of SSE (Social Search Engine)?
2 Have you ever heard of SSO (Social Search Optimization)?
3 Wang Hong got the social search head start
4 Where brands got WeChat social search optimization wrong
5 What brands can do to start building social rank authority
6 Case In Point
6.1 Disclaimer:
Have you ever heard of SSE (Social Search Engine)?
The biggest shift in consumer behaviour in China right now is this: people work, shop and entertain themselves primarily on their cellphones.
WeChat has become the China's mobile internet behemoth, dominating almost half of Chinese daily mobile internet usage. WeChat's new internal search features make it clearer than ever that it's only a matter of time before SSEs, or social search engines, replace traditional search engines.
Have you ever heard of SSO (Social Search Optimization)?
WeChat has been strengthening search capabilities for several years, but it's only recently that WeChat's search, content back-linking, and keyword volume data tracking have started to form into something that looks like Google or Baidu.
Tencent's plans for social search engine dominance became possible when it integrated Sogou.com's search engine with WeChat, creating Sogou WeChat Search. It enables Sogou to search for content published in WeChat.
Note: Sogou will always be a weaker version of WeChat's own search engine because it is limited to searching content in public accounts, whereas WeChat search can find keywords in contacts, one-on-one chat history, moments, group chat history, favorites, music, mini programs, public accounts, and public account posts.
The thinking on search has flipped. It used to be that some social media platforms like LinkedIn or Weibo went to great lengths to make profiles and content discoverable by classic search engines like Google and Baidu. But because content inside the social media platforms has become so valuable, it makes more sense now to make the "internet" discoverable through social search. While many old-school SEO rules will apply to SSO, things like account verifications, total number of account followers, and the number of reads will be additional ranking factors.
Wang Hong got the social search head start
Wang Hong in China became as popular as they have because Chinese people consume content via mobile platforms voraciously. They go online while commuting, taking breaks at work, during lunch and definitely spend more free time in front of a phone than a computer or TV. According to China Internet Watch's China Internet Stats, Chinese spends over 26 hours per week on the internet, with 80% accessing the internet from a mobile device.
WeChat will soon dominate search in China. Where this gets interesting is when we start looking at who makes all the great stuff on WeChat. It's the same people that dominate the keywords, back-linking, traffic, and content that people talk about and share. It's wang hong that rule WeChat. The adoption of the SSE will only solidify their position because they have the best SSO.
Wang Hong have been a powerful tool for WeChat advertising for quite some time, but it's unlikely any marketers have been using wang hong marketing for keyword ranking, link building, or similar search strategies. This will likely change. Wang Hong will likely become a critical part any brands' SSO strategy as wang hong accounts and content will have significant strength in social search algorithms.
Where brands got WeChat social search optimization wrong
Right now brands use their websites as flagship content marketing tools.
The most common pipeline: Publish content on site, push to other channels, refer social media and mobile readers back to website. This behavior has never been practiced by wang hong and for good reasons. The attention is on social. While brands were trying to coax users way from social media platforms, wang hong wisely interacted with audiences in the environment. This is just one of the secrets wang hong used to build massive followings and another reason why brands fell behind at gaining attention.
What brands can do to start building social rank authority
There is simply no reason to compel readers to leave easy-to-use and increasingly targeted native publishing tools like WeChat. A brand's presence on WeChat can and should be more entertaining, useful, engaging, and authoritative than their website. Wang Hongs are the perfect medium to share SSO content and thus will become bigger players in disseminating text-based content, not just video or live streaming.
If you haven't already done so, learn about SSO and how you can maximize your social channel's potential. It's no longer an add-on, but a crucial component to spread your content. But before you do, you don't want the millions of people who see your amazing content to reach a dead-end. They need to be funneled to an account, and definitely not a sub-par one.
Now's the time to build mini-programs, HTML5 landing pages, and integrated e-commerce stores.
TOD'S @TODS recently collaborated handbag wang hong Mr. Bags (@Bags包先生) to sell 200 specially designed bags. This is not the first time Mr. Bags has worked with a brand to generate direct sales. Mr. Bags previously sold 1.2M RMB of Givenchy (@Givenchy紀梵希) purses in 12 minutes. TOD'S' bags were sold exclusively on WeChat via a QR code. The bags sold out in a matter of hours. The topic "TOD'S X Mr. Bags" received 20.6M views and 5.3K discussions on Weibo, and keyword "TOD'S" saw a 599.26% spike in mentions on WeChat.
This article <Wang Hong Dominate WeChat Social Search Optimization> was originally published on PARKLU, written by Elijah Whaley.
DISCOVER OUR WECHAT MARKETING TRAINING
10 Ways to Boost Followers on WeChat
With around 846 million monthly active users, WeChat is an outstanding marketing tool for brands in China. An official WeChat account is a great way to get closer to customers,…
5 Ways to Make Your WeChat Content Go Viral
WeChat has become a battleground for marketers in China. According to data from iiMedia Research, there were over 12 million official WeChat accounts in 2016. This is an increase of…
A Beginner's Guide to WeChat
WeChat began life as a basic messaging app focused on text messages. Then, it added phone and video calling capabilities. Then, it began to expand into areas that had previously…
A Comprehensive Guide to External Links on WeChat
While the majority of luxury brands operating in China have opened WeChat Official Accounts, many of them are still reluctant to run their businesses entirely on WeChat, instead opting to drive their…
How to Sell on WeChat?
With more than 889 million monthly active users and 200 million of them linking their WeChat account to bank cards, there's no doubt that WeChat is a major player in…
Home » WeChat » Wang Hong Dominate WeChat Social Search Optimization

redpajama_set_name: RedPajamaCommonCrawl


We would count it a privilege to pray for you. Please submit requests on the form below. All requests will remain confidential.
May we contact you for followup or additional details?
Have the Pastor contact me.


Classic heavy duty 'Bund" style genuine leather watch strap. Sometimes also called a wrist cuff style strap. Matt finish leather. Three piece design. Substantial, heavy duty brushed stainless steel buckle (nickel-free). Cream colour soft leather lined. Rugged looks and substantial construction with very 'now' styling make this strap an excellent choice for anyone needing a durable watch strap with a chunky look and feel.
This strap is basically the Hirsch Eagle. The same quality and finish as the Eagle but comes without the price inflating logo - need I say more !?
Fully allergy tested, this watch strap contains no chemical irritants or materials known to adversely effect wearers with sensitive skin.


Description: The rapid advances in neurology require both experienced and beginning practitioners to remain updated on novel therapeutic options and evidence-based guidelines. Faculty will provide a review and update on current therapy for commonly encountered neurologic conditions with a specific focus on neurocritical care, myasthenia gravis, and autoimmune necrotizing myopathy. This program complements Therapy in Neurology I: Neurological Infectious Disease and Neuro-oncology, Therapy in Neurology III: Epilepsy and Headache, and Therapy in Neurology IV: Movement Disorders and Stroke, but covers independent topics.
Completion Message: Participants should be able to discuss current treatments and evidence-based guidelines for common neurocritical care conditions, myasthenia gravis, and autoimmune necrotizing myopathy.
Thomas P. Bleck, MD, FAAN Dr. Bleck has nothing to disclose.
Kerry H. Levin, MD, FAAN Dr. Levin has nothing to disclose.
Madhu Soni, MD, FAAN Dr. Soni has nothing to disclose.


One hundred and fifty years ago, a troubled author railed against a world that twisted every decent impulse into weakness and every meaningful thought into paradox. Six years ago, a young composer had the impulse to tell this story with music, and the thought that opera could be as aggressive and modern as any artform.
The first was Fyodor Dostoevsky. The second was Sydney Chamber Opera's co-founder and current artistic director Jack Symonds. The work is Notes from Underground, and its brief first blossoming established SCO as a "force to be reckoned with". This year, the Underground Man lives again.
Notes from Underground is the Russian spirit reborn with Australian vigour. It is bursting with intellectual savagery and foiled joy. It is a wild scream heard through a dead snowfall. It is an opera made of every brilliant thought you have almost had and every declaration of passion you have almost made. Sydney Chamber Opera revisits their history-making debut in a brand new production for the Carriageworks stage.


text:
Why oil-producing countries keep on pumping
By Leonid Bershidsky | Bloomberg View
The big oil-producing countries keep on pumping, even though prices are at a six-year low: Don't they know they're only making things worse? Chances are they do—each has its own reasons to continue—but this won't go on forever. Someone will blink in the next year or so, most probably US shale producers.
In the US, the crude oil price has dipped below $40 a barrel. Brent, the European blend, trades below $45. Still, output from the Organization of Petroleum Exporting Countries (Opec) increased to 31.5 million barrels a day in July.
Production in Saudi Arabia, Iraq and Venezuela is at or near the highest level in a year. Russia, now the biggest crude producer in the world, increased its output by 1.3 percent year-on-year in January through July, and is pumping 10.6 million barrels a day. US production has dipped slightly in recent weeks, to 9.3 million barrels a day from the June peak of 9.6 billion, but it's still substantially higher than a year ago, when prices were more than twice as high.
The simplest explanation for this phenomenon is that the producers need the cash; the lower the price, the more they need to sell to maintain revenue. Among the trio of top oil producers—Russia, Saudi Arabia and the US—this need-for-cash argument works best for Russia. Last year, as crude prices began to tank, it quickly floated its currency. Since then, the ruble has devalued in lockstep with oil, so that every extra barrel sold produces the same revenue in rubles, which is the currency of the government's budget. As a result, Russia has no reason to cut production, even if it probably will suffer a future decline in output, because its major oil companies have sharply reduced investment.
The Saudis haven't unpegged the riyal from the US dollar, so selling more oil at lower prices doesn't make much economic sense for them. They are convinced, however, that it makes strategic sense. Although the first onslaught on the US shale producers has proved ineffective, they are determined to press on. "It is becoming apparent that non-Opec producers are not as responsive to low oil prices as had been thought, at least in the short-run," the Saudi central bank said in its latest stability report, adding:
The main impact of the current lower prices has been to cut back on developmental drilling of new oil wells, rather than slowing the flow of oil from existing wells. Thus, the impact of lower prices today is expected to be on future oil production, rather than current production. This requires more patience on Opec oil producers and a willingness to maintain steady production until the demand catches up with the current supply levels.
The risk for the Saudis is that they have misjudged US shale. Last year investment banks estimated break-even costs for major US shale plays at more than $60 a barrel, but a recent Bloomberg Industries analysis suggests this was inaccurate. It shows, for example, that in North Dakota's McKenzie County, part of the Bakken shale play, the break-even price is about $29. Neighboring counties only need a slightly higher price to break even. Analysts had underestimated the ability of tight oil producers to cut costs and apply new technologies to increase output per rig. The US Energy Information Administration says production per rig has significantly increased in the past year, for all of the country's shale areas.
That, however, was only to be expected in a price war. The Saudis couldn't have hoped that their US rivals would just roll over and won't be deterred by this show of resilience. Besides, they have reason to believe that new technology and cost-cutting weren't the only reasons US shale hasn't buckled.
In July Bloomberg News reported that at least 15 percent of the first-quarter revenue for 30 of 62 oil and gas companies in the Bloomberg Intelligence North America Exploration and Production Index came from hedges, derivative contracts that allow producers to lock in prices. In effect, the hedges allow companies to go on receiving a higher-than- market price for their output. The share of revenue accounted for by hedges is likely to have increased in the following two quarters, as crude became cheaper.
The hedges are a big part of the explanation why US companies have maintained production levels, but most will run out by the end of this year. It's unlikely they will be renewed, because it's too expensive in the current market to fix future prices at up to $90 a barrel, the kind of money frackers are often still paid now, thanks to derivatives.
At that point, US drillers will find it difficult to pay back their combined $235 billion of debt. By then, the added technological and financial efficiency unleashed this year will have peaked. New credit will be less readily available and the shale drillers won't be able to repeat their feat from the first half of 2015, when they raised $44 billion through bonds and share sales. Even if their break-even costs are lower than previous estimates, the low crude prices make them look unattractive to lenders and investors.
To predict who is going to gain ground in this drawn-out price war, it's worth assessing the protagonists' arsenals. Apart from $672 billion of international reserves (a cushion that shrank 8.5 percent between January and June), the Saudis still have the devaluation card up their sleeve. When Kazakhstan belatedly followed Russia in abandoning its dollar peg last week, Prime Minister Karim Massimov predicted that Saudi Arabia and some of its Gulf neighbors would also have to float their currencies to deal with the new reality of crude prices. And the Saudi financial system has other untapped resources: the country doesn't currently even collect income tax; it pays out huge energy subsidies that could be cut; and its government debt is just 1.6 percent of gross domestic product, leaving lots of room to borrow.
King Salman may not want to throw those reserves into a price war with US shale, of course, but he has them. By contrast, all that protects American frackers is their ability to innovate and drive costs down. This year has shown that ability is not to be underestimated, but it is surely finite—at any rate, US production has stopped growing.
In those circumstances, it's understandable that the Saudis are unwilling to accept defeat. Saudi Arabia won't be satisfied with another temporary rebound in oil prices, such as the one that occurred last spring: Their US competitors would just increase output again. They must inflict permanent damage by demonstrating to investors that with shale, they can't bet on any kind of predictable return. So far, the (probably overblown) threat of Iran's return to global oil markets is helping the Saudis with this task, but it's a long-term gamble and the situation is volatile.
The Saudis may be temporarily thwarted by production decreases in those oil economies unable to hold their corners in the price war, such as Nigeria, where production has been in decline since last fall. Lost production in these countries may send prices up again slightly, giving US frackers a little more breathing space. But until either the US shale industry or Saudi Arabia has triumphed, the onlookers—even big ones like Russia—won't be able to benefit from higher oil revenue.
Clarkson on Samahang Basketbol ng Pilipinas roster
byJoel Orellana
What to do when your SSS records are not in order
bySusie Bugante
SAN FRANCISCO—The maker of ChatGPT is trying to curb its reputation as a freewheeling cheating machine with a new tool that can help teachers detect if a student or artificial intelligence wrote that homework.
PESHAWAR, Pakistan—Pakistan's Peshawar was once known as "the city of flowers," surrounded by orchards of pear, quince and pomegranate trees. It was a trading city, situated at the gates of a key mountain valley connecting South and Central Asia.
BANGKOK—Two years after Myanmar's generals ousted Aung San Suu Kyi's elected government, thousands of people have died in civil conflict and many more have been forced from their homes in a dire humanitarian crisis.
KYIV, Ukraine—Ukraine won support Tuesday from Baltic nations and Poland in its quest to obtain Western fighter jets, but there were no signs that larger nations like the US and Britain have changed their stance of refusing to provide warplanes to Kyiv after almost a year of battling Russia's invading forces.


Our environmental practice also includes environmental due diligence and counseling regarding risks and liabilities in connection with corporate mergers, acquisitions, divestitures, finance transactions and the purchase, sale and financing of real estate. Our experience includes transactions involving National Priorities List sites. We have represented lenders, buyers and sellers in hundreds of financial, real estate and corporate transactions throughout North America. We also advise lenders on how to insulate themselves from environmental liability in workout and foreclosure situations. Working with environmental consultants, Vedder Price attorneys have the full spectrum of Brownfields experience, including transactions under the recently enacted All Appropriate Inquiry (AAI) Standard.


The contact information below covers a wide range of community matters. If you're not sure who you should contact, feel free to email us directly for more information. We will routinely update this information as changes occur.
For questions about Conservancy Operations, contact Aaron Trammell, Director of Conservancy Operations, at atrammell@promontoryclub.com or (801)623-0487.
For questions about Owner Services, contact Joe Ellis, Director of Owner Services, at jellis@promontoryclub.com or (435) 602-0420.
For a serious snow removal concern, please email us at snowremoval@promontoryclub.com.
All inquiries regarding Promontory's CCR's and Use Restrictions, Design Guidelines, specific property encumbrances, residency-related forms, and/or any written correspondence you have directly received from the Conservancy should be directed to Logan Finlayson, Director of Legal Services, at lfinlayson@promontoryclub.com or (435) 333-4063.
For questions or concerns regarding homesite construction and/or scheduling construction inspections, contact Aaron Trammell, ARC Inspector, at dcobb@promontoryclub.com or (435)513-1333.
For questions related to the Design Review process, contact Dale Ayers, ARC Representative, at dayers@promontoryclub.com or (435) 333-4230.
You may reach Shawn Potter, Executive Director, at spotter@promontoryclub.com or (435) 333-4228.
You may find contact information for the Conservancy Board Members here.
For non-Conservancy, Club-facilities related emergencies, contact Val Hardcastle, Director of Operations, at vhardcastle@promontoryclub.com or (435) 333-4219.
To contact the Equestrian Gatehouse, call (435) 333-4035.


text:
Tag Archives: dysfunctional
Kapoor and Sons – A Review
Shakun Batra directs Siddharth Malhotra, Fawad Khan, Alia Bhatt, Ratna Pathak Shah, Rajat Kapoor and Rishi Kapoor in the dysfunctional family drama Kapoor and Sons. Bollywood mainstream movies have mostly steered clear of the uglier side of the familial dynamics and immortalized the gigantic joint families with coordinated dance moves and weddings grander than Laxmi Mittal's daughter's, but with the first scene itself Kapoor and Sons sets itself apart. This is more August Osage County than a Barjatiya caper.
The Kapoors consist of Daddy Kapoor played by Rajat Kapoor who once a bank officer is now a failed business owner quickly running through his savings and investing in a mysterious Anu aunty. Mummy Kapoor is Ratna Pathak Shah who made a meal out of playing the high society matriarch Maya Sarabhai, here she plays a character that is a polar opposite as then long-suffering wife who is trapped in a loveless marriage which is taking its toll on her ambition. Granddad Kapoor is Rishi Kapoor who is the glue that holds the entire enterprise together. All seeing and all understanding he doesn't meddle but passes his time being crude yet lovable. It is his heart attack that brings back the two sons Kapoor's back home to Coonoor, Rahul the London based successful author and all around perfect child played by Fawad and part-time bartender and aspiring author Arjun from New Jersey. The brothers don't see eye to eye and are merely cordial out of obligation. There are subtle hints dropped along the way that there is something more sinister than mere sibling rivalry that is the reason for the tension amongst the brothers. Alia Bhatt plays Tia Mallik in a role that most other leading ladies would shy away from because it is not meaty enough and is merely a supporting role but not Alia who continues her march towards greatness as being entirely believable and extremely relatable.
The first half of the movie didn't blow me away, not because the story or the direction was lacking, both are fantastic there is enough subtlety to keep me interested but it is the screenplay and dialogue that doesn't seem to coalesce as seamlessly as it does in the second half. The build-up just before interval where Mumma Kapoor confronts Papa Kapoor over his philandering at the 90th birthday celebration for Gramps is something you never ever see in Bollywood. The second half unravels fast and furious and it hits you from out of left field that you are left teetering at the intensity of one tragedy after the other that befalls the Kapoor clan and you are left bleary eyed like Rishi Kapoor who silently watches his "happy family picture" disintegrate before he can take the picture he so badly wanted to take and emblazon it with "Kapoor and Sons since 1921".
The second half is chockfull of memorable scenes. One where Ratna Pathak Shah tries on Rajat Kapoor's chappals and breaks down, another where she confronts his perfect child Rahul over his life of lies, another where Rahul confesses his truth to his brother Arjun who an aspiring author himself is left speechless and simply says he needs time process this. There is an endearing scene between Arjun and Tia when he drops her off after having spent a day at a graveyard where she can't find the right words to describe how she feels and simply says "it just fits" when she is with him, and another where she opens up about her final conversation with her parents. This is a movie that will benefit from rewatch and you will be delighted at the masterfully layered storytelling, not something you usually associate with a Karan Johar production. Every dialogue has a subtext, a sub plot that will stay with you long after the end credits, for instance the one where an exasperated Rajat Kapoor complains to his son about how his mother is being unreasonable by comparing him to her brother in law who used to hit her sister and how Kapoor isn't that bad, this is how most normal people reason their character flaws and it is a subtlety that makes this movie that much more special for me.
Of the actors Rajat Kapoor, Alia and Siddharth are competent; Rishi Kapoor is a Gem and truly shines despite all that impressive prosthetics and make-up. Fawad Khan is the real revelation here with his measured and sensitive portrayal where he has enough humor and cheek to balance the seriousness that comes with being the older child who is perceived to be perfect.He desperately tries to keep his family together despite everyone's best effort to make it implode. Ratna Pathak Shah is a national treasure and she must be cherished. I hope she takes on more such roles and stakes her claim on the matriarchal estate in Bollywood.
Kapoor and Sons is masterfully directed, with a strong uncompromising script and a stellar ensemble cast that puts in a brilliant performance individually and as a group. This nuanced look at the grey areas of the domestic drama is a must watch.
Posted in movie, review	| Tagged alia bhatt, author, bollywood, cheating, closet, coonoor, drama, dysfunctional, family, fawad, fawad khan, Gay, husband, kapoor and sons, karan johar, ladki kar gayi chull, london, makeup, new jersey, novel, ooty, rajat kapoor, ratna pathak shah, rishi kapoor, shakun batra, Siddharth Malhotra	| Leave a reply
Piku – A Review
Posted on May 9, 2015 by ViralVora
Shoojit Sircar directs Amitabh Bachchan, Deepika Padukone and Irrfan Khan in Piku a bitter sweet road trip comedy that reflects on the dysfunctional family dynamics of the Indian families. Juhi Chaturvedi who penned the story and script for Sircar's glorious Vicky Donor dons the pen once again and the results are just as glorious.
Far too often the films coming out of Bollywood tend to focus on the "humko-sabse-Pyaar-hai"( we love everyone) aspect of Indian families with larger than life celebrations of everything including the house maid's. I for the life of me cannot remember any movie trying to portray life with parents as anything other than either completely devotional or an arduous hell. Piku is different.
Amitabh plays Bhashkor Banerjee a Bengali retired widower living in Delhi with his dotting and ever-suffering daughter played by the radiant Deepika Padukone who plays the eponymous Piku. Bhashkor and Piku knock heads everyday over a myriad of his ailments, sometimes it is his imaginary Blood pressure and most times it is about his incessant reporting on the movements of his bowels or the lack there off. While Piku is successful and quite desirable it is her 70-year old child Bhashkor who keeps getting in her way of any serious romantic relationship. Vying for her attention are her business partner cum friend-with-benefit Syed and the owner of the taxi company whose drivers Piku traumatizes on a daily basis, Rana played by Irrfan.
When news comes from Kolkata that builders want to buy their ancestral home and tear it down to build an apartment building, they embark on a 1500 Km long road trip armed with half their house and Bhashkor's port-a-potty. Rana is the first guy who does not run away at the thought of having to deal with the over-bearing Bhashkor and it gives Piku the courage to speak her mind as well.
The strength of the movie lies in Juhi Chaturvedi's script. Every aspect of a familial life which seems so mundane is given a theatrical flair and yet comes off as being natural and believable. The supporting cast of Moushumi Chatterjee as Piku's maternal aunt and Raghubir Yadav (of Mungerilal fame) as Dr. Srivashtava are fleshed out so brilliantly that it never feels contrived. They are given as much to do as Bhashkor or Piku and in some instance even more so. The first half is crackling with energy and it only slightly fizzles out in the second half. I wish they had turned the dial up on the histrionics a little bit more in the second half and the editing in the second half been a little crisper. But it is Sircar's abilities to tackle the novae India's bold-realities without too much of a song and dance. with Vicky Donor he tackled sperm donation, IVF and life-in relations and with Piku he takes on Friends with benefits without much of a preamble or hysteria for such nuances I forgive Sircar the slight slacking of pace in the second half.
Deepika acts with such confidence that it is no wonder that she is the ruling queen of Bollywood. With every movie she seems to be getting stronger and stronger, choosing a wide variety of roles that truly allow her to sink her teeth in. Amitabh is a true master of his craft as Bhashkor. He is senile and cynical at the same time witty and sharp. He lends a softness to his tough exterior when on his dead wife's birthday while criticizing how she gave up her entire persona to serve him he is chided by Piku and her aunt he reveals he still loves her and that is why is wearing the kurta his wife gave him many years ago and then he starts with his barbs again. A well written character as befits a legend of his stature. Irrfan Khan has a small but a very important role and he is a consummate professional. His handling of his longing glances at Piku and the ability to admonish and beguile Bhashkor Da are equally fascinating.
Kamaljeet Negi who with Madras Cafe gave me a total recall of Full Metal Alchemist handles the camera just as deftly here. His work here is more akin to Vicky Donor where he romances the everyday Delhi and Kolkata. A Special mention to Veera Kumar who has done the costumes for the film, her styling of Deepika is so quintessentially Arty-Bengali-in-Delhi/Mumbai that it is perfect and adds another layer of realness to the ongoings.
If English Vinglish was the best homage to the Indian Mothers then Piku serves as a quirky take on Indian Fathers. From personal and anecdotal experience it does seem that the movement of the bowels is as great an obsession for the Indian fathers as was the movement of the stars for the ancient Aztec civilizations. Watch this movie for a fantastic and genuinely funny script and outstanding acting from all its leads. Watch it for Amitabh Bachchan whose transition from Angry Young Man of the 80s to the Angry Old Man of the 21st Century has been the greatest journey of any living actor.
Posted in movie, movies, reviews	| Tagged Amitabh Bachchan, bengal, bollywood, comedy, constipation, Deepika Padukone, delhi, dysfunctional, emotion, family, father daughter, friends with benefits, irfan khan, Irrfan Khan, kolkata, maushumi chatterjee, piku, piku reviews, road trip, roadtrip, shoojit sircar	| 1 Reply


text:
McConnell doesn't rule out getting involved in Republican primaries
by Justine Coleman - 02/15/21 11:25 PM ET
Senate Minority Leader Mitch McConnell (R-Ky.) didn't rule out getting involved in the Republican primaries for the 2022 midterm elections in an interview with The Wall Street Journal published Monday.
McConnell indicated that he was open to becoming involved to improve the GOP's chances retaking the majority in the upper chamber after losing it this year.
He told the newspaper that the effort involves "getting candidates who can actually win in November," adding "that may or may not involve trying to affect the outcome of the primaries."
The Senate minority leader told the Journal that the Republican Party has struggled previously with candidates successful in primaries who did not win in general elections.
"I personally don't care what kind of Republican they are, what kind of lane they consider themselves in," he said. "What I care about is electability."
McConnell said he expects President Trump will likely be a "constructive part" of the 2022 midterm process, saying "I don't rule out the prospect that he may well be supporting good candidates."
"I'm not assuming that, to the extent the former president wants to continue to be involved, he won't be a constructive part of the process," he added.
McConnell and the GOP face the prospect of balancing candidates popular with the former president, who still holds considerable sway in the party, and his base with their likelihood of winning seats in more contested states.
"That is the dilemma that a lot of Republicans are in. Trumpism is not the future of the party," former Sen. Jeff Flake (R-Ariz.) told the Journal. "But meanwhile, the president still has a pretty big hold on the base of the party."
McConnell told the newspaper that he hopes President Biden's administration leans further left in the next two years, to give Republicans a reason to unite.
The Senate flipped to Democratic control earlier this year after two Republican Georgia senators lost their seats in runoff elections to Democratic candidates, in what McConnell called "a fiasco."
The Georgia results followed months of Trump promoting unfounded claims of widespread election fraud, which he claimed led to his loss to Biden.
McConnell's interview comes as the GOP has yet to determine Trump's post-presidential role in the party. A Quinnipiac University poll released on Monday found that 75 percent of Republican respondents wanted the former president to continue to have a prominent role in the GOP.
The Senate officially acquitted Trump on Saturday in his second impeachment trial. Seven Republican senators sided with Democrats and voted to convict Trump in the most bipartisan Senate impeachment trial results in history.
McConnell voted to acquit the former president but issued a scathing rebuke of Trump saying he was "morally responsible" for the mob that stormed the Capitol on Jan. 6. He stood by his vote in a Wall Street Journal op-ed published Monday, saying the Senate's decision to acquit "vindicated the Constitution, not Trump."
The House impeached Trump a week before the end of his presidency on allegations that he incited the violence at the Capitol in early January.
Tags 2022 election 2022 Senate elections Donald Trump GOP Jeff Flake Joe Biden Mitch McConnell Republican Party The Wall Street Journal


text:
Evans doesn't let pandemic slow heptathlon aspirations
By Woodard, Dale on August 6, 2020.
High school athlete Ryan Evans just completed his first heptathlon, gaining a number of personal bests in the process. Herald photo by Ian Martens @IMartensHerald
Dale Woodard
sports@lethbridgeherald.com
He just ran his first heptathlon and has yet to run a decathlon, but Ryan Evans is already measuring up.
The 17-year-old multi-sport athlete and quarterback for the LCI Rams football team completed a locally-arranged heptathlon by coach Bertil Johansson last week at the Civic Centre track and the University of Lethbridge Stadium.
After winning the high school provincial pentathlon championship last year, the Grade 12 student kicked it up a couple of sports in his heptathlon debut and racked up some personal bests along the way, posting times of 11.19 seconds in the 100-metre dash, 52.34 seconds in the 400m and 4:59.00 in the 1,500m as well as a throw of 44.24m in the javelin.
Evans also leapt 6.30 metres in the long jump and recorded throws of 13.65m in the shot put and 37.30m in the discus for an overall points total of 4,553, another personal best.
In all, not too bad for a heptathlon debut with another one looming at the end of the month.
"It was difficult, especially with the 1,500m at the end," said Evans, working out with Johansson Wednesday at the Civic Centre track. "It's something people with a decathlon body type aren't used to running. I broke a personal best in the 100m and the long jump, but it really wasn't all I was hoping for. The 400m I was able to break a personal best."
With his goal of eventually competing in a decathlon at the American college level, the numbers are already adding up in Evans' favour even if he wasn't able to compete in the hurdles, pole vault and high jump last week due to COVID-19 restrictions.
"We compare that to the Swedish heptathlon, their heptathlon for 17-year-olds was last weekend. He would have medalled," said Johansson.
"It all depends on the other three events, high jump, pole vault and hurdles. But he would be quite comparable in the hurdles, and pole vault is something he hasn't done, so how do you compare? But if you compare his heptathlon event-by-event, he would have medalled, if not won, at Swedish nationals.
"In the 100m he's pretty much 11.1 (seconds) and 52 seconds in the 400m. He can't practise hurdles, but he would be good in hurdles. His shot put and 100m sprint would be equally as good.
"We're looking at the tables to see how we compare. He's scoring a lot of points, between 650 and 750, (but) we need to get to the 800-point per event level because that's 8,000 points and that's what the international level would be. So he's 100 points below, 700 per event instead of 800. In some events, like the 100m, he would run just as fast as the international guys, the shot put as well. He has two events in which he would maintain international levels."
The results were solid considering Evans only had eight weeks of training after the COVID-19 pandemic shut down the sports world in mid-March, including the local basketball season in which he also stars for LCI.
"He just did his own training and lifting at home," said Johansson. "(He had) football before Christmas and then he was in basketball and then they cut basketball season off (due to COVID). Then he was basically on his own in March and April and then in mid-May he and I started with masks. So I've coached him since mid-May twice a week. Now we're doing three times a week because the next heptathlon is three weeks from now."
On Wednesday, as the hot noon sun beat down on the Civic Centre track, Evans and Johansson were back to work.
"I'm definitely excited," said Evans. "(Wednesday) was my second session back since the heptathlon because I've been resting a little bit because the 1,500 sort of destroyed me."
It didn't seem to affect Wednesday's practice.
"Today I broke a shot put personal best and it looks like I just broke a discus personal best," said Evans, who threw 14.30 metres in shot put. "I feel strong. I just got back working out again after resting. I didn't work out three days before the heptathlon because I was resting, but I definitely feel stronger."
Follow @DWoodardHerald on Twitter


text:
Trump calls Bahrain, UAE 'major security partners'
Bangladesh economy shows early signs of pandemic recovery
Bangladesh economy shows early signs of pandemic recovery /node/1736686/business-economy
A garment factory in Dhamrai, near Dhaka, Bangladesh. After months of decline in garment exports, Bangladesh's economy appears to be in recovery. (AP)
https://arab.news/6vwjk
In August, exports rose 4.3 percent from a year earlier, to $2.96 billion, mostly driven by apparel shipments, according to the government's Export Promotion Bureau
DHAKA: A rebound in garment orders after demand crashed during spring shutdowns is helping to revive the Bangladesh economy.
Apparel makers, the country's main export industry, say they are looking ahead to Christmas orders from the US and other major markets.
Remittances from Bangladeshi workers employed overseas have also recovered, helping to relieve pressures from a pandemic quasi-shutdown during the spring.
The Asian Development Bank reported this week that the economic comeback was encouraging. It is forecasting the economy will grow at a robust 6.8 percent annual pace in the fiscal year that ends in June if current conditions persist.
That's a much brighter outlook than in April-May, when global clothing brands suspended or canceled orders worth more than $3 billion, affecting about 4 million workers and thousands of factories.
"At the moment we can say that the ready-made garment industry has been able to regain its growth trajectory upward compared to March-May," said Rubana Huq, president of the Bangladesh Garment Manufacturers and Exporters Association, or BGMEA.
"As economies in the West were turning around we were successfully able to get the buyers back to the negotiating table, which is why 80 percent to 90 percent of the $3.18 billion in canceled orders have been reinstated," she said.
Bangladesh earns about $35 billion annually from garment exports, mainly to the US and Europe. The industry is the world's second largest after China's. Bangladesh's exports rose 0.6 percent to $3.9 billion in July,
FASTFACT
Bangladesh's exports rose 0.6 percent to $3.9 billion in July, after plummeting 83 percent to $520 million in April.
after plummeting 83 percent to $520 million in April. Imports, which are reported on a quarterly basis, began recovering earlier, rising 36 percent in May-June.
In August, exports rose 4.3 percent from a year earlier, to $2.96 billion, mostly driven by apparel shipments, according to the government's Export Promotion Bureau. Garment shipments totaled $5.7 billion in July and August.
"The garment sector is making a good comeback. Our agriculture is doing well. Remittances are coming. These all are good signs for the economy," said Ahsan H. Mansur, executive director of the Policy Research Institute, a think tank in Dhaka.
"The pace of the recovery is clearly visible. But challenges have been there too. The pace of the recovery will depend on how the pandemic behaves in the West over the next few months," Mansur said. That's the inestimable question facing everyone.
As of Thursday, Bangladesh had reported more than 342,000 confirmed coronavirus infections and 4,823 deaths. The country confirmed its first positive case on March 8.
Some experts say that the actual number of infections is higher than the official count. The garment industry says few workers in its factories have fallen ill thanks to precautions such as employing fewer people on the production lines and imposing safety guidelines. The government imposed a nationwide lockdown on March 26, and the garments sector was closed for nearly three months, reopening only gradually.
The country director for the ADB, Manmohan Parkash, said that the government has managed the crisis well, "with appropriate economic stimulus and social protection measures."
"We are encouraged by the increase in exports and remittances, and hope the recovery will be sustained, which will help in achieving the projected growth rate," Parkash said.
Topics: Bangladesh
Egypt's resorts face tough winter as visitor numbers plummet
International lenders back $9.5bn financing for Russian gas project
Malaysia takes legal action against EU over palm biofuel curbs /node/1793866/business-economy
Palm oil constitutes 30 percent of the global oils and fats production
KUALA LUMPUR: Malaysia is taking legal action at the global trade watchdog against the EU and member states France and Lithuania for restricting palm oil-based biofuels, the government said.
The world's second largest palm oil producer, which has called a EU renewable-energy directive "discriminatory action," is seeking consultations under the WTO's Dispute Settlement Mechanism, the Plantation Industries and Commodities Ministry said in a statement.
Minister Mohd Khairuddin Aman Razali said the EU proceeded with implementing the directive without considering Malaysia's commitment and views, even after Malaysia gave feedback and sent economic and technical missions to Europe.
The EU directive "will mean the use of palm oil as biofuel in the EU cannot be taken into account in the calculation of renewable energy targets and in turn create undue trade restrictions to the country's palm oil industry," he said in the statement.
The ministry filed the WTO request with cooperation from the Attorney General's Chambers and the International Trade and Industry Ministry, taking action it had warned of in July against EU Renewable Energy Directive II.
Malaysia will act as a third party in a separate WTO case lodged by neighboring Indonesia, the world's biggest palm oil producer, as a sign of solidarity and support, the ministry statement said.
Indonesia and Malaysia, together account for 85 percent of the global output of palm oil. Palm oil constitutes 30 percent of the global oils and fats production, and plays a significant role in fulfilling the demand in the global oils and fats market.
It is the world's most produced and traded edible oil, and its versatility can be seen through its use in a wide range of food and nonfood products, which led to the remarkable palm oil consumption growth.
The US imported approximately $410 million of crude palm oil from Malaysia in 2020, CNN reported.
Topics: Malaysia palm oil
Malaysia looks to Pakistan after Indian palm oil controls


With increasing demand for wildlife holidays in Europe we have now thoroughly researched Hungary in order to bring it to our portfolio of holiday destinations. From the great Hungarian grassland plains of the puszta where the great bustard roam and many different raptor species soar, to the wetlands that attract thousands of duck and waders in May and June, and beyond to the beech clad Bukk Hills, Hungary is a terrific destination for bird watching short breaks and bird photography holidays. Here we present the very best opportunities for tailor made birding holidays with one of the country's birding specialists.
Hungary is a great place for bird watching for beginners as well as enthusiasts and those seeking specific species. We do not organise group tours but instead design itineraries specifically around your interests and our guide in Hungary equally does not work with groups and you can be sure of personal service.
Long recognised as a good destination for bird watching in Europe, Hungary now offers terrific potential for those interested in bird photography. Our guide in Hungary has his own hides in strategic locations throughout a range of habitats. The hide of most interest is likely to be the eagle hide set out on the Great Hungarian Plain, or puszta as it is known. This hide has the feeling of being in the middle of the Masai Mara but is in fact in Koros-Manos National Park and was originally set up by park staff. During the winter white-tailed and Imperial eagles come to this feeding station. Long-legged, rough-legged and common buzzards also appear here and hen harriers are prolific. The hide is only in location during late December, January and February but at this time of the year short-eared and long-eared owls roost in good numbers in the local town centres.
For more general bird watching holidays during the spring and early summer there are other hides nearby for rollers, red-footed falcons and hoopoe. A temporary hide can be set up for bee-eaters at their nest site in an old quarry bank. A number of hides are also set around the fishponds for the wide variety of ducks, grebes and waders and you will have your guide on hand at all times whatever, your specific interest. At Devavanya there is a great bustard conservation project and in fact Koros-Maros National Park has a higher density of great bustards than the more famous Hortobagy National Park close by.
Two other areas well worth visiting on a bird watching holiday in Hungary are Lake Tisza and the Bukk Hills. It is possible to take a private boat out on Lake Tisza and cruise around the islands and channels in search of bird life. Lake Tisza is Hungary's largest reservoir and the waters a welcome respite for birds in this land-locked country. A short drive further north brings you the beech forests of the Bukk Hills. During the winter Alpine accentor can be found together with wallcreeper on some of the rock faces but during the spring and summer it is the woodpeckers, flycatchers, eagle and Ural owls and golden eagle that are of interest.
During the autumn months the bird watching spectacle is the migration of huge flocks of geese and common cranes to the Hungarian plain. Among them are likely to be lesser white-fronted and red-breasted geese, long-tailed duck, black-necked and Slavonian grebe among others. Of course there are many raptor species present around the wetlands and on the grassland plains too.
We hope the few bird watching holiday suggestions here tempt you to discover this interesting country where distances are short, the wine is good and many birds can be encountered in a short break or week long trip.
Flight time: approx. 2.5 hours.
Typical of central, eastern Europe with cold winters and long dry, hot summers. The best seasons for bird watching are January and February for feeding eagles, then May through to early July and then with the autumn migration September and October.


text:
Q: Does ZeroMQ allow several server sockets? The native C socket API returns on accept() a new socket descriptor, which is bound to a certain remote socket. That's good because I can create a thread, pass the socket and establish a point-to-point, or better a thread-to-thread connection over the internet. And that's exactly what I want: one thread from the client should be connected to a destined thread on the server. Hence I dont need a workerpool or loadbalancing not even async operation. The server threads save history. ZeroMQ seems great but as far as I understood  it does not split up sockets on accept.
Is there a way to establish such an synchronous thread-to-thread connection with ZerMQ?

A: You're asking how to replicate a particular solution (handing off a socket to a thread) to a broader problem (how to write scalable servers).
The 'one thread per socket' design only works in one pattern which is request-reply, e.g. HTTP. Whereas the really high volume use cases are for data distribution (publish-subscribe), or task distribution (pipeline). Neither fit a 1-to-1 model.
It is a common error when you learn a new tool to ask, "how does this tool do what my old tools do" but you won't get good results like that. Instead, take the time to actually learn how the tool works, and then use that knowledge to re-think your problems and the best solutions for them.

A: I thought Zmq handle this multi connection for you; I prefer to create a thread-to-thread communication by handling connection within thread callback function, This mean my main zmq connection created in separate thread; which can make separate connection control within threads.

redpajama_set_name: RedPajamaStackExchange


Spencer Tracy and Jean Simmons star in this adaptation of an autobiographical stage play by writer/actress Ruth Gordon (Harold & Maude, Rosemary's Baby). The story centers around teen-aged Gordon's final year at home with her parents, when she first set her sights on acting while dodging her father's efforts for her to pursue a more practical line of work. Director George Cukor sticks to a stage-like presentation — very few cuts and most of the camera angles coming from the 'fourth wall' (where a play's audience is sitting).
Stylistically stripped down as it is, one hopes for great performances. Tracy, as Gordon's hot-tempered father, is as terrific as ever. His character is determined to send his daughter to a school where she'll learn to become what is essentially a physical education instructor. Simmons plays Gordon as an aloof dreamer — which is probably an accurate portrayal of the lovably daffy Ruth Gordon we know from so many of her performances. But I found myself siding with Tracy throughout the film. He comes off mean at first — almost scary — but when Simmons stands firm about her aspirations, Tracy takes the opportunity to portray a more sophisticated man — one who still loves his daughter and would do anything for her, if only after he's confident about her convictions.
The Actress also marks the screen debut of Anthony Perkins (Psycho, Friendly Persuasion. He plays the sympathetic boyfriend who goes so far as to propose and brandish a ring, only to lose Gordon to her true first love — acting.


text:
/*
    async/await test
    require babel-core
*/

const request = require('../index');
(async () => {

    async function task() {
        let options = {
            method: 'GET',
            url: 'https://api.github.com/repos/nbwsc/promise-request',
            headers:
            {
                'cache-control': 'no-cache',
                'User-Agent': 'request'
            }
        };
        let resp = await request(options)
        return JSON.parse(resp.body);
    }

    console.log(`task starting...`);

    let res = await task();
    console.log(`this is ${res['full_name']}`)

    console.log(`task ending`);

})()

redpajama_set_name: RedPajamaGithub


text:
Q: onDestroy() equivalent for IOS I am looking for an swift method that acts like onDestroy() in android. I want it not to be called when the home button is pressed, it should only be called when the application is quit entirely. I tried using the deinit method but it was never called.

A: A suitable equivalent in an iOS environment is applicationWillTerminate(_:) inside AppDelegate.
Keep in mind that asynchronous operations cannot be executed here properly.

A: If the user pressed the home button and went to the phone screen menu, then the app is in the background state. This function will get called:
optional func applicationDidEnterBackground(_ application: UIApplication)

If the user terminated the app by double pressing the home button and swiping the app up, or by having the app in the bacground for more than 3 minutes then this method will get called:
optional func applicationWillTerminate(_ application: UIApplication)

Both functions are already there in your AppDelegate class.
Hope this helps!

A: iOS equivalent doesn't exist.
You can use
optional func applicationWillResignActive(_ application: UIApplication)

it's called when the app is leaving the foreground state.
or
optional func applicationWillTerminate(_ application: UIApplication)

this one one is called only when the app is running, i.e. in most cases it will not be called when the app is in background, unless it has special permissions.
deinit will not be called when the app is terminated, because its purpose is to execute when an object is destroyed to free up memory. When the app is terminated, the whole process is destroyed among with its memory stack, so freeing memory is pointless.

A: There used to be a viewDidUnload method in iOS but it's been deprecated since iOS 6.
Another option, since a lot of people are mentioning applicationWillTerminate, you could maybe register for the UIApplicationWillTerminate notification, associate it to a function and do whatever you want in that function such as cleanup and such.


text:
'use strict';

var _ = require('underscore');

/**
 * Created by m.chekryshov on 15.02.16.
 */
function GridOptions(options) {
  _.extend(this, options);
}

/**
 * Sort direction enum
 *
 * @type {{ASC: string, DESC: string}}
 */
GridOptions.SortDirection = {
  ASC: 'asc',
  DESC: 'desc'
};

_.extend(GridOptions.prototype, {
  /**
   * Data source
   *
   * @type {Array}
   */
  source: true,

  /**
   * Sortable flag
   *
   * @type {boolean}
   */
  sortable: true,

  /**
   * Column for initial sorting
   *
   * @type {string}
   */
  sortColumn: null,

  /**
   * Sort direction for initial sorting
   *
   * @type {SortDirection}
   */
  sortDirection: GridOptions.SortDirection.ASC,

  /**
   * Array with data field(s) for grouping
   *
   * @type {Array.<string>}
   */
  group: null,

  /**
   * Builder for groupSummary row, data for header of group
   * example:
   * function(groupsRows){ return singleSummaryRow; }
   *
   * @type {Function}
   */
  groupSummaryRowBuilder: null,

  /**
   * Columns options
   *
   * @type {Array.<GridColumn>}
   */
  columns: null,

  /**
   * No data text, will be applied for undefined and null
   *
   * @type {string}
   */
  noDataText: 'n/a',

  /**
   * Custom block class for example 'components-grid'.
   * This class will be applied for all grid elements (components-grid__row)
   *
   * @type {string}
   */
  customBlockClass: null,

  /**
   * Index columns options by dataField
   *
   * @returns {Object}
   */
  indexColumnsByDataField: function() {
    if (!this.columns || !this.columns.length) {
      return {};
    }
    return _.indexBy(this.columns, 'dataField');
  }
})

module.exports = GridOptions;


text:
<?php

/*
 *
 *  ____            _        _   __  __ _                  __  __ ____
 * |  _ \ ___   ___| | _____| |_|  \/  (_)_ __   ___      |  \/  |  _ \
 * | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) |
 * |  __/ (_) | (__|   <  __/ |_| |  | | | | | |  __/_____| |  | |  __/
 * |_|   \___/ \___|_|\_\___|\__|_|  |_|_|_| |_|\___|     |_|  |_|_|
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * @author PocketMine Team
 * @link http://www.pocketmine.net/
 *
 *
*/

namespace pocketmine\inventory;

use pocketmine\entity\Human;
use pocketmine\event\entity\EntityArmorChangeEvent;
use pocketmine\event\entity\EntityInventoryChangeEvent;
use pocketmine\event\player\PlayerItemHeldEvent;
use pocketmine\item\Item;
use pocketmine\network\protocol\ContainerSetContentPacket;
use pocketmine\network\protocol\ContainerSetSlotPacket;
use pocketmine\network\protocol\PlayerArmorEquipmentPacket;
use pocketmine\network\protocol\PlayerEquipmentPacket;
use pocketmine\Player;
use pocketmine\Server;

class PlayerInventory extends BaseInventory{

	protected $itemInHandIndex = 0;
	/** @var int[] */
	protected $hotbar;

	public function __construct(Human $player){
		$this->hotbar = \array_fill(0, $this->getHotbarSize(), -1);
		parent::__construct($player, InventoryType::get(InventoryType::PLAYER));
	}

	public function getSize(){
		return parent::getSize() - 4; //Remove armor slots
	}

	public function getHotbarSlotIndex($index){
		return ($index >= 0 and $index < $this->getHotbarSize()) ? $this->hotbar[$index] : -1;
	}

	public function setHotbarSlotIndex($index, $slot){
		if($index >= 0 and $index < $this->getHotbarSize() and $slot >= -1 and $slot < $this->getSize()){
			$this->hotbar[$index] = $slot;
		}
	}

	public function getHeldItemIndex(){
		return $this->itemInHandIndex;
	}

	public function setHeldItemIndex($index){
		if($index >= 0 and $index < $this->getHotbarSize()){
			$this->itemInHandIndex = $index;
			$item = $this->getItemInHand();

			$pk = new PlayerEquipmentPacket();
			$pk->eid = $this->getHolder()->getId();
			$pk->item = $item->getId();
			$pk->meta = $item->getDamage();
			$pk->slot = $this->getHeldItemIndex();

			Server::broadcastPacket($this->getHolder()->getViewers(), $pk);
		}
	}

	public function getItemInHand(){
		$item = $this->getItem($this->getHeldItemSlot());
		if($item instanceof Item){
			return $item;
		}else{
			return Item::get(Item::AIR, 0, 0);
		}
	}

	/**
	 * @param Item $item
	 * @param      $source
	 *
	 * @return bool
	 */
	public function setItemInHand(Item $item, $source = \null){
		return $this->setItem($this->getHeldItemSlot(), $item, $source);
	}

	public function getHeldItemSlot(){
		return $this->getHotbarSlotIndex($this->itemInHandIndex);
	}

	public function setHeldItemSlot($slot){
		if($slot >= -1 and $slot < $this->getSize()){
			$item = $this->getItem($slot);

			$itemIndex = $this->getHeldItemIndex();

			for($i = 0; $i < $this->getHotbarSize(); ++$i){
				if($this->getHotbarSlotIndex($i) === $slot){
					$itemIndex = $i;
					break;
				}
			}

			if($this->getHolder() instanceof Player){
				Server::getInstance()->getPluginManager()->callEvent($ev = new PlayerItemHeldEvent($this->getHolder(), $item, $slot, $itemIndex));
				if($ev->isCancelled()){
					$this->sendHeldItem($this->getHolder());
					return;
				}
			}

			$this->setHotbarSlotIndex($itemIndex, $slot);
			$this->setHeldItemIndex($itemIndex);
		}
	}

	/**
	 * @param Player|Player[] $target
	 */
	public function sendHeldItem($target){
		if($target instanceof Player){
			$target = [$target];
		}

		$item = $this->getItemInHand();

		$pk = new PlayerEquipmentPacket();
		$pk->eid = $this->getHolder()->getId();
		$pk->item = $item->getId();
		$pk->meta = $item->getDamage();
		$pk->slot = 0;
		$pk->isEncoded = \true;
		$pk->encode();

		foreach($target as $player){
			if($player === $this->getHolder()){
				//TODO: Check if Mojang enabled sending a single slot this
				//$this->sendSlot($this->getHeldItemSlot());
				$this->sendContents($player);
			}else{
				$player->dataPacket($pk);
			}
		}
	}

	public function onSlotChange($index, $before, $source = \null){
		parent::onSlotChange($index, $before, $source);

		if($index >= $this->getSize()){
			$this->sendArmorSlot($index, $this->getViewers($source));
			$this->sendArmorSlot($index, $this->getHolder()->getViewers());
		}
	}

	public function getHotbarSize(){
		return 9;
	}

	public function getArmorItem($index){
		return $this->getItem($this->getSize() + $index);
	}

	public function setArmorItem($index, Item $item, $source = \null){
		return $this->setItem($this->getSize() + $index, $item, $source);
	}

	public function getHelmet(){
		return $this->getItem($this->getSize());
	}

	public function getChestplate(){
		return $this->getItem($this->getSize() + 1);
	}

	public function getLeggings(){
		return $this->getItem($this->getSize() + 2);
	}

	public function getBoots(){
		return $this->getItem($this->getSize() + 3);
	}

	public function setHelmet(Item $helmet){
		return $this->setItem($this->getSize(), $helmet);
	}

	public function setChestplate(Item $chestplate){
		return $this->setItem($this->getSize() + 1, $chestplate);
	}

	public function setLeggings(Item $leggings){
		return $this->setItem($this->getSize() + 2, $leggings);
	}

	public function setBoots(Item $boots){
		return $this->setItem($this->getSize() + 3, $boots);
	}

	public function setItem($index, Item $item, $source = \null){
		if($index < 0 or $index >= $this->size){
			return \false;
		}elseif($item->getId() === 0 or $item->getCount() <= 0){
			return $this->clear($index, $source);
		}

		if($index >= $this->getSize()){ //Armor change
			Server::getInstance()->getPluginManager()->callEvent($ev = new EntityArmorChangeEvent($this->getHolder(), $this->getItem($index), $item, $index));
			if($ev->isCancelled() and $this->getHolder() instanceof Player){
				if($index >= $this->size){
					$this->sendArmorSlot($index, $this->getViewers());
				}else{
					$this->sendSlot($index, $this->getViewers());
				}
				return \false;
			}
			$item = $ev->getNewItem();
		}else{
			Server::getInstance()->getPluginManager()->callEvent($ev = new EntityInventoryChangeEvent($this->getHolder(), $this->getItem($index), $item, $index));
			if($ev->isCancelled()){
				if($index >= $this->size){
					$this->sendArmorSlot($index, $this->getViewers());
				}else{
					$this->sendSlot($index, $this->getViewers());
				}
				return \false;
			}
			$item = $ev->getNewItem();
		}

		$old = $this->getItem($index);
		$this->slots[$index] = clone $item;
		$this->onSlotChange($index, $old, $source);

		return \true;
	}

	public function clear($index, $source = \null){
		if(isset($this->slots[$index])){
			$item = Item::get(Item::AIR, \null, 0);
			$old = $this->slots[$index];
			if($index >= $this->getSize() and $index < $this->size){ //Armor change
				Server::getInstance()->getPluginManager()->callEvent($ev = new EntityArmorChangeEvent($this->getHolder(), $old, $item, $index));
				if($ev->isCancelled()){
					if($index >= $this->size){
						$this->sendArmorSlot($index, $this->getViewers());
					}else{
						$this->sendSlot($index, $this->getViewers());
					}
					return \false;
				}
				$item = $ev->getNewItem();
			}else{
				Server::getInstance()->getPluginManager()->callEvent($ev = new EntityInventoryChangeEvent($this->getHolder(), $old, $item, $index));
				if($ev->isCancelled()){
					if($index >= $this->size){
						$this->sendArmorSlot($index, $this->getViewers());
					}else{
						$this->sendSlot($index, $this->getViewers());
					}
					return \false;
				}
				$item = $ev->getNewItem();
			}
			if($item->getId() !== Item::AIR){
				$this->slots[$index] = clone $item;
			}else{
				unset($this->slots[$index]);
			}

			$this->onSlotChange($index, $old, $source);
		}

		return \true;
	}

	/**
	 * @return Item[]
	 */
	public function getArmorContents(){
		$armor = [];

		for($i = 0; $i < 4; ++$i){
			$armor[$i] = $this->getItem($this->getSize() + $i);
		}

		return $armor;
	}

	public function clearAll(){
		$limit = $this->getSize() + 4;
		for($index = 0; $index < $limit; ++$index){
			$this->clear($index);
		}
	}

	/**
	 * @param Player|Player[] $target
	 */
	public function sendArmorContents($target){
		if($target instanceof Player){
			$target = [$target];
		}
		$armor = $this->getArmorContents();
		$slots = [];

		foreach($armor as $i => $slot){
			if($slot->getId() === Item::AIR){
				$slots[$i] = 255;
			}else{
				$slots[$i] = $slot->getId();
			}
		}

		$pk = new PlayerArmorEquipmentPacket();
		$pk->eid = $this->getHolder()->getId();
		$pk->slots = $slots;
		$pk->encode();
		$pk->isEncoded = \true;

		foreach($target as $player){
			if($player === $this->getHolder()){
				/** @var Player $player */
				//$pk2 = clone $pk;
				//$pk2->eid = 0;

				$pk2 = new ContainerSetContentPacket();
				$pk2->windowid = 0x78; //Armor window id constant
				$pk2->slots = $armor;
				$player->dataPacket($pk2);
			}else{
				$player->dataPacket($pk);
			}
		}
	}

	/**
	 * @param Item[] $items
	 */
	public function setArmorContents(array $items){
		for($i = 0; $i < 4; ++$i){
			if(!isset($items[$i]) or !($items[$i] instanceof Item)){
				$items[$i] = Item::get(Item::AIR, \null, 0);
			}

			if($items[$i]->getId() === Item::AIR){
				$this->clear($this->getSize() + $i);
			}else{
				$this->setItem($this->getSize() + $i, $items[$i]);
			}
		}
	}

	/**
	 * @param int             $index
	 * @param Player|Player[] $target
	 */
	public function sendArmorSlot($index, $target){
		if($target instanceof Player){
			$target = [$target];
		}

		$armor = $this->getArmorContents();
		$slots = [];

		foreach($armor as $i => $slot){
			if($slot->getId() === Item::AIR){
				$slots[$i] = 255;
			}else{
				$slots[$i] = $slot->getId();
			}
		}

		$pk = new PlayerArmorEquipmentPacket();
		$pk->eid = $this->getHolder()->getId();
		$pk->slots = $slots;
		$pk->encode();
		$pk->isEncoded = \true;

		foreach($target as $player){
			if($player === $this->getHolder()){
				/** @var Player $player */
				//$pk2 = clone $pk;
				//$pk2->eid = 0;

				$pk2 = new ContainerSetSlotPacket();
				$pk2->windowid = 0x78; //Armor window id constant
				$pk2->slot = $index;
				$pk2->item = $this->getItem($index);
				$player->dataPacket($pk2);
			}else{
				$player->dataPacket($pk);
			}
		}
	}

	/**
	 * @param Player|Player[] $target
	 */
	public function sendContents($target){
		if($target instanceof Player){
			$target = [$target];
		}

		$pk = new ContainerSetContentPacket();
		$pk->slots = [];
		for($i = 0; $i < $this->getSize(); ++$i){ //Do not send armor by error here
			$pk->slots[$i] = $this->getItem($i);
		}

		foreach($target as $player){
			$pk->hotbar = [];
			if($player === $this->getHolder()){
				for($i = 0; $i < $this->getHotbarSize(); ++$i){
					$index = $this->getHotbarSlotIndex($i);
					$pk->hotbar[] = $index <= -1 ? -1 : $index + 9;
				}
			}
			if(($id = $player->getWindowId($this)) === -1 or $player->spawned !== \true){
				$this->close($player);
				continue;
			}
			$pk->windowid = $id;
			$player->dataPacket(clone $pk);
		}
	}

	/**
	 * @param int             $index
	 * @param Player|Player[] $target
	 */
	public function sendSlot($index, $target){
		if($target instanceof Player){
			$target = [$target];
		}

		$pk = new ContainerSetSlotPacket();
		$pk->slot = $index;
		$pk->item = clone $this->getItem($index);

		foreach($target as $player){
			if($player === $this->getHolder()){
				/** @var Player $player */
				$this->sendContents($player); //#blamemojang
			}else{
				if(($id = $player->getWindowId($this)) === -1){
					$this->close($player);
					continue;
				}
				$pk->windowid = $id;
				$player->dataPacket(clone $pk);
			}
		}
	}

	/**
	 * @return Human|Player
	 */
	public function getHolder(){
		return parent::getHolder();
	}

}


text:
Q: SQL server trimming all entries in a field to the same size I have a field in SQL server that has a bunch of different sized strings in it. I need to cut down or truncate all of these strings so that they are 16 characters long, but I do not want to do this using a select statement.
I know that I can use:
insert into some_table (column1, column2, ...)
    select left(column1, 16), column2, ...
    from some_other_table

then insert the newly shortened strings back into the 1st table, but I do not want to do this, it is too round about.
Is there a command I can use to just cut the strings down to 16 characters in the table I am already in? I tried to mess around with the TRIM command, but that would only remove the spaces off of the end or beginning

A: Use the Update statement:
UPDATE some_Table SET COL1 = LEFT(COL1, 16) ..

A: Changing the size of Column1 from whatever it is now to varchar(16) (or nvarchar) would do it, but you could lose data if any value is longer than 16 characters.


text:
Your Moon, My Moon
A Grandmother's Words to a Faraway Child
By Patricia MacLachlan
Illustrated by Bryan Collier
Fixed Layout eBook
For many children who live far away from their grandparents, it can be hard to understand why they can't always be together. Patricia MacLachlan has created a bridge to close the distance by finding connections in memories and the moon they share.
A beautiful, lyrical poem coupled with Bryan Collier's rich collages, Here and There celebrates the importance of staying close to your family, even across thousands of miles.
Photograph by John MacLachlan
Patricia MacLachlan
Patricia MacLachlan is the author of many well-loved novels and picture books, including Sarah, Plain and Tall, winner of the Newbery Medal; its sequels, Skylark and Caleb's Story; Edward's Eyes; The True Gift; Waiting for the Magic; White Fur Flying; and Fly Away. She lives in western Massachusetts.
About The Illustrator
Photograph © Filip Wolak
Bryan Collier
Bryan Collier is a beloved illustrator known for his unique style combining watercolor and detailed collage. He is a four-time Caldecott Honor recipient for Trombone Shorty, Dave the Potter, Martin's Big Words, and Rosa. His books have won many other awards as well, including six Coretta Scott King Illustrator Awards. His recent books include By and By, Thurgood, The Five O'Clock Band, and Between the Lines. He lives in New York with his family.
Publisher: Simon & Schuster Books for Young Readers (August 16, 2011)
Grades: P - 3
Ages: 4 - 8
Children's Fiction > Family > Multigenerational
Children's Fiction > People & Places > General
Children's Fiction > People & Places > Other
Children's Fiction > Bedtime & Dreams
Collier's crisp, complex illustrations add light to Newbery Award–winner MacLachlan's open letter to a grandchild who lives in Africa. . . Despite the distance and differences in landscape, text and art shape the story from one of separation into one of connection. Successive spreads make it clear that the grandmother is headed to Africa; in the penultimate painting, she enters the child's room with a wrapped present. While not all children are equally conscious of those who are absent, MacLachlan's distinctive grace and lyricism make this an effective if solemn reminder that they are loved and remembered from afar.
--Publishers Weekly, June 6, 2011
A grandmother who lives in the U.S. prepares to visit her grandson, who lives in Africa. While the moon is common to them both, she points out the many differences in their lives as she reminisces about past times together. When it is cold in one place, it is hot and dry in the other. There is ice-skating where she lives and lake swimming where he lives. Always, though, there is the moon, and as the story comes to a close, grandparent and grandchild are reunited under it. Collier's vibrant illustrations are a blend of watercolor and his trademark collage. This is a wonderful book to contrast different lifestyles. Pair it with Nigel Gray's A Country Far Away (Scholastic, 1989) to further illustrate cultural differences and human commonalities.–Joan Kindig, James Madison University, Harrisonburg, VA
SLJ, August 2011
Book Cover Image (jpg): Your Moon, My Moon
Author Photo (jpg): Patricia MacLachlan
More books from this author: Patricia MacLachlan
More books from this illustrator: Bryan Collier


text:
Q: NDK version conflict in buildozer for Kivy app I am trying to build a kivy app that has these requirements in buildozer.spec:
requirements = python3,kivy,pillow,plyer,scipy,numpy

all Android (SDK/NDK, API) settings are defaulted (commented)
One run w/o specifying NDK gives:
[INFO]:    <- directory context /home/joachim/PycharmProjects/CardReader/.buildozer/android/platform/python-for-android
[WARNING]: install_libs called with no libraries to install!
[INFO]:    Building lapack for arm64-v8a
[INFO]:    -> directory context /home/joachim/PycharmProjects/CardReader/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/lapack/arm64-v8a__ndk_target_21/lapack/build
[ERROR]:   Build failed: Please set the environment variable 'LEGACY_NDK' to point to a NDK location with gcc/gfortran support (supported NDK version: 'r21e')

When I clean and then set NDK to 21e and run again I get the other error:
[INFO]:    Will compile for the following archs: arm64-v8a, armeabi-v7a
[INFO]:    Found Android API target in $ANDROIDAPI: 27
[INFO]:    Available Android APIs are (27)
[INFO]:    Requested API target 27 is available, continuing.
[INFO]:    Found NDK dir in $ANDROIDNDK: /home/joachim/.buildozer/android/platform/android-ndk-r21e
[INFO]:    Found NDK version 21e
[ERROR]:   Build failed: The minimum supported NDK version is 23. You can download it from https://developer.android.com/ndk/downloads/.
[INFO]:    Instructions: Please, go to the android NDK page (https://developer.android.com/ndk/downloads/) and download a supported version.
*** The currently recommended NDK version is 23b ***

How can this mismatch be solved? Looking for supported NDK with gcc/gfortran support.
Or, what needs to be set for LEGACY_NDK ?

A: So I've just ran into that problem and found a solution.
The issue was that to build scipy python for android needs an android ndk that was built with fortran support. These appear to be only supported with NDK version 21 and lower and the NDK needs to be specifically built with fortran support. Luckily someone hosts prebuilt versions for that purpose. https://github.com/mzakharo/android-gfortran/releases (Linux only, if you are building the APK from windows you need to build your own NDK toolchain as described in the readme of that project)
Then you have to do the following:
First you need to download the legacy NDK via buildozer
For this modifiy in buildozer.spec:
#android.ndk = 23b --> android.ndk = 21e

Then Execute
buildozer android debug

When it fails (this is ok since we only ran buildozer to download the r21 NDK):
tar -jxvf gcc-arm-linux-x86_64.tar.bz2
mv arm-linux-androideabi-4.9 ~/.buildozer/android/platform/android-ndk-r21e/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64

Note: change ~/.buildozer to the path where buildozer stores your ndks
Then revert the changes to buildozer.spec:
android.ndk = 21e --> #android.ndk = 23b

Now you can build and deploy with
export LEGACY_NDK=~/.buildozer/android/platform/android-ndk-r21e
buildozer android debug deploy run

Note: change ~/.buildozer as described above


text:
© Chris Rhine. All rights reserved.
Tom Johnston of the Doobie Brothers
Tom Johnston at the climax of their encore, Listen to the Music
TAGS: California, The Doobie Brothers, Tom Johnston, United States
West Hills, California, United States of America
© Chris Rhine.
Camera Model: Canon PowerShot SX150 IS
PHOTO LOCATION Rancho Mirage, California, United States of America