All Advertisements accepted for publication by Red Snapper Media Ltd ('RSM') in any of its print or online publications are accepted subject to these terms and conditions. Any other conditions proposed by the Buyer shall be void unless accepted by RSM in writing.
RSM reserves the right to cancel any order without liability in the event of becoming aware of any meetings of creditors, bankruptcy, liquidation proceedings, the appointment of a receiver or administrative receiver over the whole or substantial part of the Buyer's assets, or any indication whatsoever of financial difficulties.
These conditions and all other express terms of the contract between RSM and the Buyer shall be governed and construed in accordance with the Laws of England and the parties hereby submit to the non-exclusive jurisdiction of the English Courts.
The Buyer agrees at all times in its conduct of business with or on behalf of RSM strictly to comply with all applicable laws, ordinances, codes, regulations, standards and judicial and administrative orders (jointly "Applicable Laws") relevant to its duties, obligations and performance including, without limitation, Applicable Laws related to bribery such as the United States Foreign Corrupt Practice Act and the UK Bribery Act and those enforced in the country where the Buyer is resident or conducts its business.
Buyer and its officers, directors, employees and agents shall engage only in legitimate business and ethical practices in commercial operations and in relation to its dealings with any employee or official of a government agency or any other government owned, operated or controlled entity (including, without limitation, state run universities, hospitals and libraries), or political parties or candidates (jointly "Government Official").
The Buyer warrants that the Buyer contracts with RSM as principal notwithstanding that the Buyer may be acting directly or indirectly for the Advertiser as an advertising agent or media buyer or in some other representative capacity. Where the Buyer is the Advertiser's advertising agency, the Buyer warrants that it is authorised by the Advertiser to place the Advertisement with RSM.
Materials delivered must conform to RSM's specifications. RSM reserves the right to charge the Buyer for work it required to amend materials to conform to its specifications but accepts no liability for such work.
Any intellectual property rights in designs prepared by RSM shall remain the property of RSM and Advertisements including such designs may not be reproduced without RSM's consent.
If an Advertisement includes a promotion, competition or a special offer of merchandise the Advertiser must provide full details to RSM on request.
Prices published by RSM from time to time are subject to revision at any time and orders are accepted on the condition that the price binds RSM only in respect of the period specified in the applicable rate card.
Series discounts apply only to orders placed in advance and completed within the agreed period. RSM reserves the right to adjust advance discounts and/or to surcharge in the event of a series of Advertisements not being completed within that period. If the Buyer cancels the balance of a contract to publish a series of Advertisements, except in the circumstances set out in paragraph 23, it relinquishes any series discount and all Advertisements will be paid for at the appropriate rate.
Prices are exclusive of applicable Value Added Tax which the Buyer shall additionally be liable to pay to RSM.
Credit accounts must be settled in accordance with the terms shown on the invoice, which are strictly net. In default, all outstanding transactions will become liable for immediate settlement. Interest will be charged monthly on overdue accounts at the rate of 2% above the HSBC Bank plc Minimum Lending Rate.
Except to the extent specified in paragraph 15, RSM shall not be liable for any loss or damage suffered by the Buyer as a result of any total or partial failure (howsoever caused) of publication, distribution or availability of any Medium in which any Advertisement is scheduled to be included or for any error, misprint or omission in the printing of any Advertisement. In the event of an error or omission by RSM, which detracts materially from the Advertisement, RSM will either reinsert the Advertisement or relevant part of the Advertisement in a subsequent issue or make a reasonable refund of or adjustment to the price paid by the Buyer. No reinsertion, refund or adjustment will be made for any other error or omission or where the error or omission is the result of delivery of materials which do not comply with RSM's specifications.
The total liability of RSM to the Buyer for any act or omission of RSM, its servants or agents relating to any Advertisement shall not exceed the amount of a full refund of any price paid to RSM for the Advertisement or the cost of a reasonably comparable further or corrective Advertisement. Without limiting the foregoing, RSM shall not be liable for any loss of profits or business or for indirect or consequential loss. RSM accepts no liability for the repetition of an error in an Advertisement ordered for more than one insertion unless notified immediately the error occurs. Complaints regarding reproduction of printed Advertisements must be received in writing within one calendar month of the cover date.
RSM accepts no responsibility for the quality of reproduction of any photograph supplied by the Buyer, its agents or servants.
Cancellation or suspension of an Advertisement by the Buyer must be received in writing by RSM. No refund will be payable for a cancellation or suspension for advertising if it is received after 48 hours before the agreed advertising go live date or during the period the advertising is live.
RSM reserves the right to omit or suspend an Advertisement at any time for good reason, without liability to the Buyer and shall notify the Buyer as soon as possible. If such omission or suspension is due to the act or default of the Buyer, the Advertiser or their respective servants or agents, then the Buyer shall pay for the Advertisement in full notwithstanding that the Advertisement has not been published.
The Buyer warrants that the Advertisement does not contravene the British Code of Advertising Practice and is not in breach of any relevant legislation, including the Equality Act 2010, the Obscene Publications Act and any other legislation or regulation, such as those relating to the provision of Financial Services, which apply to specific Advertisers, products or services.
The Buyer will indemnify and hold harmless RSM from and against any claim that the Advertisement infringes the copyright, trademark or other intellectual property rights of any person or that it is defamatory or infringes any other right of any person. RSM reserves the right to withdraw and/or refuse to publish an Advertisement without liability to the Buyer if it reasonably believes that the Advertisement may make RSM or the Advertiser liable to any complaint, claim or proceedings.
The Buyer is solely responsible for fulfilling and dealing with any orders or enquiries relating to the goods, services or promotion to which the Advertisement relates and will indemnify and hold RSM harmless accordingly.
Copy must be supplied by the Buyer without application from RSM. If copy instructions are not received by the agreed date, no guarantee can be given that any agreed proofs will be supplied or corrections made and RSM reserves the right to repeat the most appropriate recent copy or omit the Advertisement. Where a layout or proof is submitted to the Buyer, it must be returned on the date specified and RSM reserves the right to publish the Advertisement in the same form as any layout or proof submitted if the layout or proof is not returned on the date specified. In any of these cases, the total price of the order will remain unaltered.
If, at its discretion, RSM considers it necessary to modify the space or alter the date or position of the Advertisement or make any other alteration to an Advertisement accepted for insertion, the Buyer will have the right to cancel the publication of the Advertisement if the alterations requested are unacceptable.
Where an Advertisement has been accepted by RSM and includes inserts RSM reserves the right to charge the full price if the inserts fail to arrive at the agreed time and place for insertion.
All gross display Advertisement rates are subject to the current Advertising Standards Board of Finance ('ASBOF') levy payable by the Buyer. Where an order is placed by a Buyer who is an advertising agency, the Buyer will be responsible for paying the levy to ASBOF. Where an Advertiser places advertising direct, RSM reserves the right to add the ASBOF levy to its gross rate and pass this direct to ASBOF.
RSM cannot guarantee the position of any printed Advertisement. Advertisements will be placed as near as possible to the selected position as the page make-up permits. RSM reserves the right to modify the wording of any classification or trade heading in the Medium or the Advertisement.
RSM within 28 (twenty eight) days from signing the order providing that such notification is made at least 28 (twenty eight) days prior to the final copy date.
Changes in printed copy must be confirmed in writing by the Buyer in time for the changes to be made to the Advertisement by RSM. RSM reserves the right to charge for any additional expenses involved in such changes.
The Buyer must deliver complete creative content to RSM at least 2 working days before 9am on the go-live date in a format which complies with RSM's online ad formats for such content. To cancel or alter an order the Buyer must inform RSM by e-mail or fax to the number or address on the order, at least 2 working days before 9am on the go-live date Otherwise, RSM may not be able to achieve the specified go-live date but the Buyer must pay the full amount irrespective of whether any delivery target for impressions have been met.
If the Buyer is supplying creative content or change of creative to be used in rotations, in the form of a redirected advertisement, the Buyer must inform RSM in advance.
If an Advertisement links to another site, the Buyer is responsible for maintaining the link and for the content of the linked site. RSM may remove any Advertisement which contains content or links to a site which, in RSM's opinion, is defamatory or objectionable or will bring RSM into disrepute. The Buyer will indemnify RSM from and against any claims or liability arising from links contained in an Advertisement.
Advertisements may contain only such information and code as is necessary to run the Advertisement effectively on the relevant RSM Site. Advertisements may not contain tags, cookies, beacons or similar technology which identifies users of any RSM Site or enables the Buyer or any third party to serve such users with any advertising other than the Advertisement.
If an Advertisement is supplied which does not comply with these terms and conditions or RSM receives complaints regarding an Advertisement, RSM may, at its discretion, remove the Advertisement from display without reference or liability to the Buyer.
Where an Advertisement is sold on a cpm basis, RSM will provide the Buyer with delivery statistics and campaign reports on a regular basis throughout the campaign period. The statistics and other reports provided by RSM shall, in the absence of manifest error, be binding on the Buyer and are in lieu of any other right of audit.
The Buyer's sole remedy if RSM, or its third party subcontractors who may host and serve Advertisements from time to time, make an error in displaying any Advertisement is the cost of re-running the relevant Advertisement. Neither RSM nor its subcontractors shall be liable for failure to display the Advertisement caused by circumstances outside their control.
Any Buyer or Advertisers who is either an employment agency or an employment business (as defined by the Employment Agencies Act 1973 ('the Act')) must ensure that Advertisements comply with their obligations under the Act and the Conduct of Employment Agencies and Employment Businesses Regulations 2004.
Buyers and Advertisers agree to deal fairly and professionally with individuals who may respond to a recruitment related Advertisement and to indemnify RSM from and against any claim brought by an individual against RSM arising from a breach of this obligation or any other of these terms and conditions.
RSM does not guarantee any response to recruitment related Advertisements or that responses will be from individuals suitable for the job advertised. It is the Advertisers responsibility to carry out such checks and procedures as are necessary to ensure that candidates are suitable for the job advertised and have the required qualifications and personal characteristics.


Life science experiments generate an immense and exponentially increasing volume of data and number of softwares. It is necessary to store the data, make it accessible, interoperable and safe.
ELIXIR is an intergovernmental organisation that gathers European life science resources including databases, software tools, training materials, cloud storage and supercomputers. The goal of ELIXIR is to coordinate such resources to form a single infrastructure allowing scientists to find and share data, exchange expertise, and agree on best practices across Europe.
The mission of Elixir-FR is to empower the French Bioinformatic community with tools and expertise in order to enhance their provision of services to medical and life sciences research. For that purpose, Elixir-FR ensures the long-term sustainability of the French National bioinformatic resources, participates to the development of a sustainable infrastructure for storing, processing and analysing life science data and provides access to tools and trainings to facilitate these activities.
Watch the ELIXIR profile video to get an overview about ELIXIR. In it, Niklas Blomberg (ELIXIR Director), Ewan Birney (EMBL-EBI), Alfonso Valencia (ELIXIR Spain) and others explain what ELIXIR is and what it does .


April 2012: Breaking News: Chantry has been given a handful of Olympic Football tickets!!!
March 2012: Miss Robinson invited her Boccia leaders to a day at the Paralympics 2012.
Feb 2012: Tutor Groups: You should now know which country you will be representing on Sports day.
Jan 2012: Did you know the Chantry is part of the Olympic Get Set Network?
This means we have strong Olympic and Paralympic values.


Buy 4 packs of Pocky stick biscuits at a special price of RM8.88 (Huat Huat Huat) and many more. Please Go and Check it Out now.
The post 10 Feb 2018 Onward: POCKY Promotion appeared first on EverydayOnSales.com.


Each week, I highlight a Travel Tweeter of the Week. to get the news first!
By now, most people know that I'm engaged. My fiancée is an accomplished travel writer and and blogger (you can check out her blog at ) and the moment I began featuring the best travel tweeters on the web, I wanted to highlight her. But to be honest, she didn't deserve it because she didn't tweet often enough and when she did it wasn't doing much for me. But she's had a complete turnaround these past few weeks and that's without any prodding from me. Natalie is now posting interesting travel stories and taking some amazing photos with her iPhone. Check out she took the other day on her flight to L.A. If you want to get a closer look into Natalie's life and get inspired to travel, then give her a follow. She's my favorite person on earth.
In Singapore I met Charles Yap – aka . He's the global brand social media director at IHG and travels a ton for his job and pleasure. Charles lives in London but was home in his native Singapore to celebrate Chinese New Year and he gave me a tour one day – the best way to experience a city. That afternoon I learned Charles is passionate about travel, food, tea, photography and hotels. He also filled me in on an interesting idea that I've never thought of doing – each trip Charles goes on he makes a unique hashtag so he can later go back and see his notes of where he went, ate and what he did. It's ingenious! FYI: His Singapore trip is labeled #CNYHome (Chinese New Year Home).
Chris Gray Faust is an inspiration to anyone who loves to travel and write. Not many people have the balls to leave behind an incredible job (Travel Editor at USA Today) and take a chance at starting a blog (http://www.caroundtheworld.com). Chris did just that for over a year now and she is making it work by updating it frequently and doing freelance work. She is constantly on the move and you should be following her if you love to travel.
@MarthaStewardes, whose Twitter bio says she's "the flight attendant to the stars", which I take means she's a private flight attendant, is a fun person to follow. She tweets interesting travel stories and has some funny quips. For example, yesterday she tweeted "How does a flight attendant tell a passenger to go to hell? …"I'll be right back"." Yesterday she also shared this . Check her out.
I'm a huge fan of supporting independent travel bloggers and Jen Pollack Bianco, who goes by the Twitter handle @lax2nrt (because that's one of her favorite routes) is this week's favorite. She's based in Los Angeles and she travels a ton, usually with her husband. Her Twitter bio says it all: "Citizen of the World. Writer slash photographer, travel blogger and iPhoneography badass. Into film, music, style & pop culture. 74 countries and counting …" If you like to follow people who really get out and see the world, give Jen a whirl.
We have a couple great new writers contributing to Hundredbacklinks.com. Two of them are active on Twitter so I thought I would tell you about them. Our newest contributor, , is based out of Italy and had her first story published here today. The other is veteran journalist who has been all over the world for us in the past few months. Follow them both – you won't be disappointed.
There aren't too many airports I follow on Twitter but one of them is LAX, mainly because it's my home airport. But the other reason is because they do a great job updating followers on any major delays, construction on the nearby roadways and tips like "Layover @ LAX? takes you to Manhattan Beach & El Segundo for beach, shops, dining & sightseeing". If you visit LAX often, I encourage you to follow them. You won't be sorry. BTW: Did you know LAX is the sixth busiest airport in the world and third in the U.S.?
I cannot believe I have never made Brett Snyder (aka the ) our travel Tweeter of the week. Brett is a self-described airline dork and after hanging out with him many times, there's no doubt that he is. I thought I knew airplanes but I've got nothing on Cranky. Brett lives in Long Beach, CA with his wife and two dogs and writes The Cranky Flier, a snarky consumer air travel blog. He also contributes to CNN and a number of other media outlets. You should follow Cranky not only because Twitter recommends him on their list of Who To Follow, but also because he can answer practically any airline question and offers great advice.
Jim Roberts is the assistant managing editor of The New York Times. Though he doesn't just tweet about travel, I find his links to news stories fascinating and timely. If you want to be in the know about anything (but many times his tweets are travel related) follow Jim.
Barbara Delollis is USA Today's "relentless blogger". If you have an affection for hotels then you will want to follow her as she gets a lot of exclusive stories like the .
Keith Bellows is the editor of National Geographic Traveler. I've met him a couple of times; once in his office in and the other at a conference in where I learned he's a great guy and brilliant writer. He's been on Twitter for a while but it appears that just this week he really has started taking a liking to it as he's tweeting much more often. He's currently in India where he's describing the scenery. The only thing he needs to do is post some Twitpics to really capture the moment. What's interesting is that he's only in India because China denied his visa. According to Keith, this was in retaliation against long US visa waits for Chinese (120 days+).
I met Andrew McCarthy () a couple years ago at a travel conference in New York. I wasn't all that surprised to meet him there because I had just read his first travel piece in National Geographic Traveler Magazine on my flight in. It turns out that in addition to Andrew being a fine actor and director, he's a prolific travel writer as well. He's already won numerous travel writing awards including the prestigious . He just joined Twitter last week and so far, he's sharing his travel experiences in real time. I think he's going to be a good one to follow. You?
I just started following @FltAdvisor a few weeks ago. Right now, I have a love-hate relationship with this . I love the fact that it alerts me of airport delays, especially when I'm traveling but I hate it that it clogs my Twitter with information I have no use for. Sample tweet: "US 1020 PHL-MCO departure is DELAYED 160 mins Detailed Analysis at: ." I have no desire to know that a specific flight on an airline I haven't flown on in months is delayed. They should set up separate accounts so users can find out delays at certain airports not system wide and individual flights, not random. Don't you agree? I know a few of the aviation geeks (#AVGeek) will email or tweet that they love it just the way it is. But I think it could be so much better.
Ben Schlappig is a college student who flies over 200,000 miles a year and he documents it on his popular blog, One Mile at a Time on BoardingArea.com. The kid is addicted to travel and he may be the youngest to achieve million-mile status (when he does, if he hasn't already). In addition to posting his own personal experiences, he also retweets some helpful info like this: RT @DailyTravelTips: Don't forget Omni Select Guest program is free to join & comes w/ free wifi+morning delivery of coffee, tea, Evian water, soda bottles #Omni.
I've been following Grant for over a year now as he's the Editor in Chief of , a great travel blog. After this weekend's TBEX conference, I have newfound respect for him since I learned from his panel that this is not his only full time job. His other job is working as a research scientist at Northeastern and he still manages to fly a ton.
I've been following ThePointsGuy for a little over a month now and he has some great info for those who care about accruing frequent flier miles and loyalty points. I know nothing about him, not even his real name; his bio on Twitter reads: Travel blogger/ Business traveler/ Loyalty programs expert / Points travel advisor. Using points to fuel my travel needs and showing how you can, too. If you are into the above then definitely follow him.
I love following flight attendants on Twitter as it gives me an insight into their lives and the travel industry. It also motivates me because these are the real road warriors. We've featured two of my favorite FAs so far: and ; my third favorite is now Beth Blair. Beth is a flight attendant for a regional jet (I think) and a travel writer and blogger who has a book coming out called "Break into Travel Writing". Her websites are and but be sure to add her to your Twitter follow list.
If you are into accruing miles and points then you need to be following Gary Leff. Gary tweets all of his tricks and experiences as well as any mistake fares so you can make a mileage run. This week he tweeted about: – and I learned a lot from it. Hopefully, you will too. He also blogs about his miles and points obsession on .
I met David Parker Brown (aka the ) on from Boeing's headquarters in Seattle. David's a really cool guy and he is quickly making a name for himself in the aviation world. He seems to get invited on every delivery flight and he just did one a few days ago when he took RwandAir's brand spanking new Boeing 737-800 all the way from Seattle to Rwanda. Since a 737 doesn't have that much range, they had to make a few stops and I learned, by following his Twitter , that they stopped in Iceland and Istanbul on the way. If you like aviation, be sure to add David to your list.
Sohaib Athar is the man who live blogged the Osama bin Laden raid without knowing it. An IT consultant who was taking a break from the rat-race by hiding in the mountains with his laptop in Abbottabad, Pakistan, has suddenly become a Twitter phenomenon. Scroll down his Twitter to his first tweet on May 1. He posts: "Helicopter hovering above Abbottabad at 1AM (is a rare event)." He's given followers a feel for the sleepy town of Abbottabad and a sense of what was going on there in the early morning hours.
I just realized that I've never selected Peter Shankman as a Travel Tweeter of the Week and that's a huge oversight on my part. Peter travels all over the world, speaking at conferences but he's so much more than just someone tweeting about his trips. He's full of life lessons, which he shares on his . He's no doubt a marketing and social media expert, even though he will never admit it. He has over 100,000 followers on Twitter so he must be doing something right! His thrice-daily is a must for journalists, PR folks and experts of, well, anything.
Evelyn Hannon (aka Journeywoman) runs the popular women's travel website . She's an interesting person to follow regardless but even more so this month, as she's the resident blogger aboard the ship the MV Explorer. It's the Semester At Sea boat where 750 students and professors circumnavigate the globe for three months. She began in Montreal and the ship just but her next stop is Ghana then South Africa. You can also follow (Krista Luna) who we've as Tweeter of the Week once before; she's on the journey for the whole voyage as she's . You can also go right to the source and follow .
Frommers does a fine job keeping their followers up to date on the latest travel news, technology, as well as the best places and ways to stretch your dollar. Be sure to add them to your follow list.
I met Rebecca Dolan on a press trip to the to check out Nassau's new $400 million airport. She's a fun person to travel with and she tweets interesting news bits, mainly from AOL Travel where she is the assistant Editor. Example of a recent tweet: . Give her a whirl.
David Koenig is an Associated Press airline reporter based in Dallas. He tweets interesting travel stories and was the first to alert me of the possible (they won't have to remove their shoes).
One of the funniest and most animated travel guys I know is Scott McMurren. Scott lives in Anchorage and is Alaska's leading travel expert so if you ever want to know what's going on up in the Last Frontier, then be sure to follow Scott on Twitter. For example this week he tweeted: "WAR, I say. This is WAR! Anchorage-Ontario, CA (ONT) $275rt all in on @alaskaair. Act now and get a set of Ginzu steak knives. HAHAHAA". He also posted sales to and from Alaska on Jetblue with this tweet: "Did I mention @jetblue 's "Even More Legroom"? For "Even Less Money"? Anchorage-Long Beach (coach) for $274rt on Jul 3-4, $294rt other dates." And my favorite tweet this week from Scott was "It's Midnight. It's light out. We're officially in the Land of the Midnight Sun. #WhyILiveInAlaska".
Tom Parsons is a guru when it comes to scoring cheap airfares. He's appeared on thousands of TV and radio shows, including Oprah. He's fairly new to Twitter, where he tweets a lot about deals (some are member-only). But he also tweets some of the articles that he's written – his story on "" is one of the most interesting. Read it and follow Tom.
If you are into travel then you probably already know of Pauline, and most likely you know her father, who is a living legend. If you don't know Arthur's daughter, she is the creator of Guidebooks (14 in the series), radio talk show host, blogger, proud mom of two and an insatiable wanderer. She tweets her travels and interesting stories like one she recently wrote for Bing.com. Sample tweet: .
One of my favorite newspaper travel sections is from The LA Times. In addition to their great Sunday section, their travel crew curates tips and deals daily and posts them to the Twittersphere. If you are a lover of travel information then you need to follow @LATimesTravel. BTW: If you are following me on , then you may have already seen this for The Los Angeles Times Travel Show, which made my dad very proud.
grew up in Connecticut, working in her parents' travel agency. Now she travels the world creating travel segments for Time Warner Cable and others. She tweets her stories, travels and deals in and around New York City since that's where she's based. One of her recent deals was for a local ski mountain: Hunter Mtn Big Lift Card for $45 offers one free lift ticket, 25% off wknd and holidays, and 50% off mid-week tkts.
Steven Frischling (aka ) is an airline, aerospace and and corporate photographer. I've known about him for a while but only met the guy for the first time last year in , while we were both on a 24-hour British Airways press trip. It was one of the shortest press trips I've ever taken but Steve shocked me when he said that it was one of the longest trips he'd done in years. He has three kids so he just jumps on a plane and usually returns the same day. I don't know how he does it. He once told me that he flew three times back and forth from Vancouver and Hong Kong in 48 hours, as he was taking in-flight pictures for an airline. If you like someone who tweets and retweets a ton of travel info – and I mean a ton – (Steven has tweeted over 48,000 times) then you'll love @FlyingWithFish.
Last year I was fortunate enough to spend a week with in . Aside from being an award-winning journalist, columnist and travel blogger, he's just a really nice guy. He's also putting out some interesting and helpful travel stories on his Twitter account like this tweet: "." Read it and follow Everett – you won't be sorry.
Mark Orwoll is the International Editor of and he's fairly new to Twitter but he's doing a good job interacting with followers and putting out interesting travel information like: "Breaking: US warns airlines: Terrorists interested in putting bombs inside humans to attack." If you are a fan of T+L Magazine, you will probably be a fan of Mark's. I am.
Vancouver Airport (YVR) just held an interesting through which the winner (Jaeger Mah) will live in the airport (in the cushy YVR Fairmont Hotel) for 80 days and nights beginning on August 17. The Vancouver resident will be armed with a camera and editing equipment and his job is to uncover stories and share his experiences of living at an airport full time. Thanks to reader @batujet for bringing this contest to our attention.
John Belitsky and his friend Dan Wuebben paid a NYC cab driver $5,000 to drive them from New York to Los Angeles. The six-day trip was documented on Twitter and the back story can be found on . His Twitter account is cluttered with all kinds of replies to fans but it appears they are currently driving back. There are some funny pictures in his like this one with "".
Eric Rosen is a Los Angeles-based food and travel writer. Every time I look at his tweets he's either in a new country or at a local hot spot sampling some of the world's finest. His Twitter bio is no lie: eating, drinking and traveling through life. Eric is currently in New Zealand attending the and some of his tweets are pretty funny like the one he sent when he first arrived: "New Zealand Customs almost confiscated my hair gel bc they thought it was a jar of honey. Haven't they seen Bumble "Bumble Sumotech" before?
is a travel writer and TV host for Nat Geo Adventure, Travel Channel and Outside Television. She's traveled to 80 countries and all seven continents so she has plenty to share on Twitter. Recent tweets that I found helpful: RT: South Sudan, the world's newest country, turns to Twitter to promote Tourism for @ssudantourism. from Travel and Leisure. Follow her – you won't be sorry.
Mike Barish is a freelance travel writer from New York. He's a really funny guy in person and on Twitter. Here's one of his recent Tweets: After visiting my parents & my gf's parents this week I'm reminded of @Z_Everson's brilliant . Mike's a good one to follow for a laugh and travel insights.
Benji Lanyado is the first tweeter I'm featuring who lives in London. He's a talented travel journalist for The Guardian and sometimes the New York Times. When he travels he has his followers guide him around solely by their Twitter tips – in real time. It's fascinating. Here's some on him.
Peter Greenberg used to be the travel correspondent for The Today Show but he recently moved to CBS. He is one of the country's leading travel experts and he logs over 400,000 air miles a year. He doesn't tweet himself but he does have a staff tweeting out all of his interviews and travel news stories. He's a good person to follow if you want to be in the travel know.
This past week I spent a few days with Spud Hilton who was speaking at the Canadian Media Marketplace in New York City. I've known Spud for years and he is one of the coolest and most fun travel guys in the business. In case you don't know, Spud is the Travel Editor of the San Francisco Chronicle. He's also a blogger at and his tweets are not just self-promotional plugs but rather a look into his travel and personal life.
Robert Reid is Lonely Planet's US Travel Editor. He has written 24 Lonely Planet guidebooks, articles for the NY Times, Wall Street Journal and ESPN. I've spent enough time with Robert at travel conferences around the world to learn that he's a great guy and I follow him on Twitter not only because he tweets timely travel articles, but also because he's funny as can be. One of his recent tweets was: "Just saw TV commercial offering two $2 bills for $10." By the way, if you're going to be in New York City this weekend, be sure to stop by the to see Robert and some of my other friends speak.
Rachel Wolery is a travel professional, vegetarian, fun enthusiast, believer in retail therapy and organizer of #TNI. TNI stands for Travelers Night In and it's a huge hit among the travel Twitter community. The virtual 'tweet-up' takes place every Thursday between 3:30pm and 5pm EST and is hosted by the girls of ZipsetGo.com. During the 90 minutes, there are ten questions which are tweeted by the hosts all with the hashtag #TNI. Everyone is invited and a number of travel experts and addicts from around the globe meet up and discuss the newest things in travel. See more .
0 Comments	On "Tweeters of the Week"
My fiancée is an accomplished travel writer and and blogger. Natalie is now posting interesting travel stories and taking some amazing photos with her iPhone.


text:
package scaladelray.ui.model

import javax.swing.table.TableModel
import scaladelray.light.{AreaLight, LightDescription}
import scaladelray.Color
import scaladelray.math.{Vector3, Point3}
import javax.swing.event.TableModelListener
import java.lang.Double

class AreaLightProvider extends LightDescriptionProvider with TableModel {

  var color = Color( 1, 1, 1 )
  var position = Point3( 0, 0, 0 )
  var direction = Vector3( 0, 0, -1 )
  var upVector = Vector3( 0, 1, 0 )
  var size = 1.0
  var samplingPoints = 255
  var constantAttenuation = 1.0
  var linearAttenuation = 0.0
  var quadraticAttenuation = 0.0

  override def createLightDescription( l : () => Unit ) : LightDescription = {
    l()
    new AreaLight( color, position, direction, upVector, size, samplingPoints, constantAttenuation, linearAttenuation, quadraticAttenuation )
  }

  override def getRowCount: Int = 9

  override def getColumnCount: Int = 2

  override def getColumnName( column : Int): String = column match {
    case 0 => "Property"
    case 1 => "Value"
  }

  override def getColumnClass(row: Int): Class[_] = classOf[String]

  override def isCellEditable(row: Int, column: Int): Boolean = column match {
    case 0 => false
    case 1 => true
  }

  override def getValueAt(row: Int, column: Int): AnyRef = column match {
    case 0 =>
      row match {
        case 0 =>
         "Color"
        case 1 =>
         "Position"
        case 2 =>
         "Direction"
        case 3 =>
         "Up vector"
        case 4 =>
         "Size"
        case 5 =>
         "Sampling points"
        case 6 =>
          "Constant Attenuation"
        case 7 =>
          "Linear Attenuation"
        case 8 =>
          "Quadratic Attenuation"
      }
    case 1 =>
      row match {
        case 0 =>
          color
        case 1 =>
          "" + position.x + " " + position.y + " " + position.z
        case 2 =>
          "" + direction.x + " " + direction.y + " " + direction.z
        case 3 =>
          "" + upVector.x + " " + upVector.y + " " + upVector.z
        case 4 =>
          new Double( size )
        case 5 =>
          new Integer( samplingPoints )
        case 6 =>
          new Double( constantAttenuation )
        case 7 =>
          new Double( linearAttenuation )
        case 8 =>
          new Double( quadraticAttenuation )
      }
  }

  override def setValueAt(obj: Any, row: Int, column: Int) {
    try {
      row match {
        case 0 =>
          color = obj.asInstanceOf[Color]
        case 1 =>
          val v = obj.asInstanceOf[String].split( " " )
          position = Point3( v(0).toDouble, v(1).toDouble, v(2).toDouble )
        case 2 =>
          val v = obj.asInstanceOf[String].split( " " )
          direction = Vector3( v(0).toDouble, v(1).toDouble, v(2).toDouble )
        case 3 =>
          val v = obj.asInstanceOf[String].split( " " )
          upVector = Vector3( v(0).toDouble, v(1).toDouble, v(2).toDouble )
        case 4 =>
          val v = obj.asInstanceOf[String].toDouble
          size = v
        case 5 =>
          val v = obj.asInstanceOf[String].toInt
          samplingPoints = v
        case 6 =>
          val v = obj.asInstanceOf[String].toDouble
          constantAttenuation = v
        case 7 =>
          val v = obj.asInstanceOf[String].toDouble
          linearAttenuation = v
        case 8 =>
          val v = obj.asInstanceOf[String].toDouble
          quadraticAttenuation = v

      }
    } catch {
      case _ : Throwable =>
    }

  }

  override def addTableModelListener(p1: TableModelListener) {}

  override def removeTableModelListener(p1: TableModelListener) {}

  override def isReady: Boolean = true

  override def toString: String = "Area Light"

  override def count = 1

}

redpajama_set_name: RedPajamaGithub


Avi Stopper, founder of the Bike Streets Project, developed a map of low-stress streets in Denver to get more people cycling.
The move means the Classic will become the only stand-alone women's event in the western hemisphere along key cycling pro tours.
An initial fleet of 250 electric-assisted bikes landed on city streets Friday.
Eight "micro-mobility" companies have permits to launch e-scooters, dockless bicycles and other transit options in Denver.
The former pro cyclist credits the drug with with saving his life after injuries and opioid addiction. His business touts the benefits of CBD hemp oil.
Should Cyclists Be Allowed To Roll Through Stop Signs If The Coast Is Clear?
Piep van Heuven with Bicycle Colorado talks about a possible change in state law, and answers questions from our Facebook page.


text:
The number of new COVID-19 cases in Moscow before and after the end of self-isolation
On June 8, Moscow Mayor Sergey Sobyanin announced the end of the capital's self-isolation regime ahead of schedule. According Meduza's sources in the government, quarantine restrictions were lifted in an attempt to improve the outcome of the July 1 plebiscite on constitutional amendments, following a conversation between Sobyanin and Russian President Vladimir Putin. In the days after the lockdown's end, the daily number of new coronavirus cases in Moscow declined sharply — despite the fact that the city was seeing a steady increase of around 2,000 new cases per day the week before.
Cover photo: Sergey Bobylev / TASS / Scanpix / LETA

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: MVC3 - Process something every X amount of time I'm very new to web programming with MVC so i dont know how to call a method, for example,  every hour and also on command. (Method is supposed to fetch files from an FTP server, skip the already parsed files, and parse the ones that havent been into objects and insert them in a database)
I know if i were using WindowsForms i'd probably be using Timer.Tick Events, WPF would use the DispatcherTimer class, but a web server is a whole different ball game so could somebody please point me in the right direction?
Ive been reading about Web services, WCF? Some event driven thing?
All i have right now is an MVC3 project, a database, repositories using EF, the whole works..
Thanks in advance!

A: The simplest way would be to use the Task Scheduler to access a particular URL in your site on a given interval.
I.E. Make use of something that already works very well as a general purpose mechanism on your platform... rather than unnecessarily reinventing for a specific use.

redpajama_set_name: RedPajamaStackExchange


text:
Majd from Beirut: Knowledge Equity Calendar
12 December 2019 28 October 2020 by Cornelius_Kibelka_WMDE
Map of Majd's grandparents' village Lubya in Palestines, ~1940s, from palopenmaps.org. Survey of Palestine (a British Mandate institution), Map of Lubya, Palestine, 1 to 20,000, 1940s, marked as public domain
To me, I think "knowledge equity" means that we apply the principles of democracy and self-determination to the landscape of knowledge production and dissemination. This translates to a lot of things in practice: it is about actively including voices that have historically been silenced; it is about making sure that the ways in which they understand the world are a core part of the way that we design our repositories of knowledge. It means that institutions that claim that knowledge equity is a part of their mission actually provide ecosystems located in our countries for us where we can work, think, and produce.
Majd, the first Bassel Khartabil Free Culture Fellowship fellow. Sebastiaan ter Burg, CC BY 2.0
My most recent work was supported by the Bassel Khartabil Free Culture Fellowship, which is a memorial fellowship named after the Wikimedian and free culture activist who was killed in Syrian regime prisons. Through the fellowship, I worked on two projects:
– Palestine Open Maps: a set of maps of Palestine, made by the British colonial authorities in the 1930s and 40s, that I worked with the project team to stitch together and post on the project website as a composite map. The next part of the project is setting up the open source infrastructure powering OpenStreetMap to extract the data out in the historical maps. Using this infrastructure, I have been running so-called "Map-a-thons (19 so far!), where I get mappers to help me out in extracting the data. This is inspired by the work of the New York Public Library Space/Time Project.
– The MASRAD:platform: an open source platform for archiving oral history. It came out of the need that there are no open source platforms for archiving oral history that put the user experience of the archivist front and centre. The platform is under development right now, and it should come out early next year. The first users will be the Syrian Oral History Archive, which has been recording testimonies from women and youth living through the war in Syria.
Unfortunately, we encounter a lot of different problems concerning our projects. First, there's a problem with funding: we need more money to support the producers of knowledge out of the region. We're tired of foreign academics coming to Beirut to write about, e.g., how the revolution in Lebanon is actually one big party. Second, we need more technologists who produce open source software that we can use. For example, I started coding the MASRAD:platform about 8 months ago, and I'd like to get help in coding it, but in Beirut, the good developers have immigrated overseas, and they often work for tech companies that have questionable values, out of necessity. I'd like to retain the developers who are based here, and I'd like open source contributors to help me in coding the platform as well!
Finally, I was heartbroken when the GLAM-WIKI conference happened in Tel Aviv last year. This is a huge challenge for us: citizens of Arab countries are not allowed into Israel, and especially those of Palestinian descent. Does that mean that the Wikimedia community does not want us to attend? Does not value our voice and our presence? I am sure that it is not the case, but it is always disheartening when such a misstep happens.
In the future, I'd like to see at least 5 more fellowships similar to the Bassel Khartabil fellowship created so that we can have more opportunities for my peers. I'd also like to see a Wikimania conference happening in the MENA region.
You want to know more?
Bassel Khartabil Free Culture Fellowship
Palestine Open Maps
Archive notice: This is an archived post from Wikimedia Space, which operated under different editorial and content guidelines than Diff.
Comments are closed automatically after 21 days.
Posted in Main page (EN)Tagged Bassel Khartabil Free Culture Fellowship, knowledge-equity-calendar, Maps, Syria, Wikimedia 2030, Wikimedia Space (EN Archive)


Our philosophy at Regency Runners is to run for fun and fitness and we cater for ladies of all abilities from those who have just started running to those who are training for marathons. You can set your own goals and we'll support you along the way. We meet three times a week outside the Pump Rooms for a run along the streets, canals and parks of Leamington Spa and Warwick.
For a £35 one off lifetime membership and £5.00 a month there really is nothing to lose.


sailors heaven. Mentioned in the September 2014 Sail & Sailing magazines as a spot to visit.
Our instructors have over 3o years of sailing experience which has been honed on this challenging lake.
Our sailboats are heavy weather boats that include Pearson Ensigns, Santanas, and Catalinas.
Our sailing conditions are varied and unique. With prevailing wind very uncommon, and wind speed of the same nature, Windrider of the Rockies is sure to help you have fun on sporty water.
We provide a SAFE system of operation. Sailing Action for Everyone. Windrider.us will provide you details to begin your sailing adventure.
Windrider of the Rockies is the high country's Friendly Sailing Connection.
Offering Basic Keelboat Certification for individuals and groups.
provide you with a memorable sailing experience.


gated communities, condominium and apartment complexes, ranches and businesses.
Gates are used in conjunction with a fence system by a variety of residential and business applications to provide and control access to particular areas. They play an important role in a security system.
Cantilever gates – These gates use a counter-balance load bearing design to support the entire weight of the gate as it reaches across the entryway.
Rolling gates – This style uses a wheel to support the weight on a v-track embedded in a driveway.
How will the property be entered?
What access control will be used – radio controlled, telephone entry, or card reader?


text:
Bharat Biotech Vaccine Available From 15 August? Not So Fast!
28 July 2020, 10:50 am ·5-min read
A message is going viral on social media stating that the vaccine against COVID-19 produced by Bharat Biotech has received permission from the central government and will be available in the market from 15 August. The message is being shared with a letter from ICMR about fast-tracking the clinical trials of the vaccine.
While the letter is real, the message is being shared without the context that there have been clarifications about it stating that 15 August is not actually a deadline for the launch of the vaccine.
Archived here.
The letter is being shared with the following message: "Bharat bio tech vaccine Received permission from central government from 15th August it will be available in market as corona vaccine . Great news today see official permission."
The Quint received a query on its WhatsApp helpline from one of its readers to check the veracity of the message.
Also Read: No Evidence to Suggest 'Alcohol Consumption Cures COVID-19'
We also found that this message and the letter were also viral on Twitter.
WHAT'S THE TRUTH?
ICMR Issues Letter
While the letter being shared from the Director General of ICMR about the Bharat Biotech vaccine is in no way fake or altered, the viral message along with it lacks the context that came after this letter was issued on 2 July.
In the letter, ICMR says that it has partnered with Bharat Biotech lnternational Limited to fast-track clinical trials of the vaccine produced by the company, which is India's first indigenous COVID-19 vaccine candidate, named Covaxin.
Further, the letter, addressed to a site chosen for clinical trial, does indeed say that it "is envisaged to launch the vaccine for public health use latest by 15th August 2020 after completion of all clinical trials." But it also adds that "final outcome will depend on the cooperation of all clinical trial sites involved in this project."
The issuance of this letter on 2 July was met by huge hue and cry about the difficulties involved and the dangers of fast-tracking to this extent the human trials of such a vaccine. Many questioned how such a feat would be possible in so short a period, especially since BBIL had simply called pre-clinical trial data 'promising' and not shared any details on the kind of success the vaccine has seen in animal testing.
Also Read: WHO Hasn't Approved Cure for COVID Involving Pepper, Honey, Ginger
Confusion and Multiple Clarifications
As confusion ensued over the announcement, in an official statement on 4 July, ICMR said that its process was "exactly in accordance with the globally accepted norms to fast-track the vaccine development for diseases of pandemic potential wherein human and animal trials can continue in parallel."
The research body said that the Drugs Controller General of India had given permission to conduct phase 1 and phase 2 clinical trials for the vaccine, based on in-depth scrutiny of the available data from preclinical studies, also pointing out that other vaccine candidates across the world were being fast-tracked as well. According to the body, the point of the letter was to meant to cut red tape, insulate the vaccine development from slow file movement and speed up the recruitment of participants, "without bypassing any necessary process".
However, on 5 July, an ICMR official told Livemint that they had not zeroed in on 15 August as a launch date and that the letter was being misinterpreted.
""Our internal communication is being misinterpreted. We only said that we envisage to have a vaccine by 15 August and it is not a deadline. We have not said that we will launch a vaccine by then. The process can be expedited but the vaccine still will have to undergo all safety clinical trials."" - ICMR official to Livemint
Further, on 9 July, Rajesh Bhushan, Officer on Special Duty in the health ministry, told PTI that the intent of the ICMR letter was "only to expedite duly approved clinical trials without compromising on safety and security concerns".
Also Read: No, Image Doesn't Show Obama, Dr Fauci Visiting Wuhan Lab in 2015
"We want the vaccine to be developed as fast as possible. The aim of the letter was to ask sites to fast-track it. We have the candidate and it should not happen that we miss the bus," ICMR scientist Nivedita Gupta also told PTI.
While Bharat Biotech remained silent while the confusion raged, in a 26 July interview to The Week, Bharat Biotech founder Dr Krishna Ella said that it is too early to state a date for the launch of Covaxin, "as we are in the beginning phase of human trials. Only after the safety data is established and upon receiving regulatory approvals will we be able to decide to move into the course of licensure."
Earlier, too, in an interview to The New Indian Express, Dr Ella had said that the vaccine could be available for mass use only by early 2021. "We are hoping all the studies meet the highest safety and efficacy standards, and if the regulators approve of them, we can expect the vaccine to be available early 2021," he said.
Clearly, it is not true that the vaccine for the novel coronavirus can be expected in the market by 15 August, although efforts are on to make it available as soon as possible, given the seriousness of the disease. The messages being shared are actually lacking context and later updates that took place after the letter was issued.
Meanwhile, the human clinical trials of Covaxin have begun at various sites across the country and has shown "encouraging" results in PGIMS Rohtak, where the first phase of the trial has been completed.
Also Read: Trump Says US, India Lead in COVID-19 Testing, Facts Say Otherwise
(Not convinced of a post or information you came across online and want it verified? Send us the details on WhatsApp at 9643651818, or e-mail it to us at webqoof@thequint.com and we'll fact-check it for you. You can also read all our fact-checked stories here.)
. Read more on WebQoof by The Quint.Bharat Biotech Vaccine Available From 15 August? Not So Fast!Lockdown Extended in WB Till 31 Aug; India's COVID Tally at 14.8 L . Read more on WebQoof by The Quint.
'Heart-stopping!': Woman wearing earphones dies after being run over by train
According to bystanders, the train which was moving in full speed, blew its horn several times. The locals, panicked and screamed, even made hand gestures from both sides.


text:
Q: Xubuntu: Why does my panel no longer show opened programs? This happens in only one of my two accounts/profiles/users, specifically my regular user.  My other account, an administrator account, is not affected by this problem.
I'm on Xubuntu 16.04.2
kernel: 4.4.0-67-generic
I first noticed this about a week ago, maybe a bit more.  Applications fail to show up in the panel.  The main problem obviously is when the program(s) is/are minimized, in which case I have to go to Task Manager to close it and that's all I can do.  There is no way to bring it back, to maximize it.  Obviously this is a big problem making this account almost useless.  Simply put I can't minimize programs; if I do I lose them and the data they contain in the ether.  So I have to do everything in the admin account and it is to avoid this that I created the regular account, for security reasons.
I am opened to any suggestion about this problem.  The research I have done has been fruitless so far.
Thank you in advance.

A: Login as the user with the problem. Right-click the panel and choose Panel > Panel Preferences. This opens the panel-editor. Check in the Items-tab if Window Buttons is listed. If it is not listed, click on the + to add it ( you will have to scroll through the list though ).


TV property guru Sarah Beeny is "thrilled" the stately home she saved from dereliction has been bought by the Yorkshire couple who helped launch it as a luxury wedding and events venue.
The TV star and her husband Graham Swift have sold Rise Hall to Dan and Helen Gill, who run Leeds-based events and hospitality business, Dine.
Mr Gill, who teamed up with Sarah Beeny in 2010 for the launch of the grand wedding venue, says the sale of Rise Hall was completed on Friday morning.
He says: "It's very exciting!
"Sarah told me 'I know you are going to build on what we have achieved there'.
Sarah Beeny and her husband Graham bought Rise Hall, near Skirlaugh, in 2001 and saved it from crumbling into dereliction.
Millions of TV viewers followed the restoration of the Georgian listed building on the Channel 4 TV series, Sarah Beeny's Restoration Nightmare.
In 2010 she teamed up with hospitality entrepreneurs Dan and Helen Gill to launch the restored Rise Hall as a wedding and events business.
Now, the Gills will continue to operate the prestigious, 29-bedroom building as a luxury wedding and events venue.
Sarah says: "Rise Hall has been a big part of our lives for the last 18 years and we are extremely proud of the work that we, together with an incredible team, have achieved to date, but it's time to move on.
"The fully restored Grade 2* listed Hall will now begin a new chapter in its life.
"We are thrilled to be passing it onto Dan and Helen who we feel are the perfect fit for such a very special place."
The Gills are planning to hold a celebratory dinner with Sarah Beeny, her husband and specially-invited guests at Rise Hall soon.
Mr Gill says: "We are thrilled to acquire this prestigious venue.
"Rise Hall is a stunning building with a rich history which will now begin a new chapter in its life under our guardianship.
"We have two decades of experience in luxury weddings and events so our couples and clients are in good hands.
Rise Hall is recorded in the Domesday Book and the estate was once owned by Richard III.
In more recent times it was used as a convent school before falling into disrepair.
TV personality Sarah says: "Many of these buildings aren't appealing to investors because they won't turn a quick profit.
The Gills are well-respected in the hospitality industry, having successfully built Dine into a £3m turnover business.
Dine, which operates at luxury venues throughout the UK, will work alongside the existing team at Rise Hall, including manager Stuart Ward, who remains with the business.
Mr Gill says: "Whilst Dine operates at a range of venues throughout the UK, this is the first venue that Helen and I own outright.


text:
Q: Mock Lambda callback in Jest? (Cannot read property body of undefined) I'm trying to unit test a lambda function but can't figure out how to mock the lambda callback so it stops code execution. The callback I mock up is being called, which in the case of a lambda would immediately return the response. In my unit tests though, it continues executing code and I get the error:
TypeError: Cannot read property 'body' of undefined

I'm relatively new to Jest so not sure how to proceed.
example.js (lambda code)
// dependencies
const got = require('got');

// lambda handler
const example = async (event, context, callback) => {
  // message placeholder
  let message;

  // set request options
  const gotOptions = {
    json: {
      process: event.process
    },
    responseType: 'json'
  };

  // http response data
  const res = await got.post('https://some.url/api/process', gotOptions).catch((error) => {
    message = 'error calling process';

    // log and return the error
    console.log(message, error);
    callback(message);
  });

  // res.body is causing the error in the test since
  // this code still executes after callbacks triggered
  message = `Process ${event.process} is: ${res.body.active}`;

  callback(null, message);
};

// export example
exports.example = example;

example.test.js (unit test code)
// get the lib we want to test
const example = require('./example');

// setup mocks
jest.mock('got');

// mock our lambda callback
const callback = jest.fn();

// import the modules we want to mock
const got = require('got');

// set default event
let event = {
  process: 1
};

// set default context
const context = {};

// run before each test
beforeEach(() => {
  // set default got.post response
  got.post.mockReturnValue(Promise.resolve({
    body: {
      active: true
    }
  }));
});

// test artifact api
describe('[example]', () => {
  ...other tests that pass...

  test('error calling process api', async () => {
    let error = 'error calling process';

    // set got mock response for this test to error
    got.post.mockReturnValue(Promise.reject(error));

    // function we want to test w/ mock data
    await example.example(event, context, callback);

    // test our callback function to see if it matches our desired expectedResponse
    expect(callback).toHaveBeenCalledWith(error);
  });
});

A: You need to mock the implementation of the callback function. In order to stop executing the code after error handling, you need to throw new Error(), and use await expect(example.example(event, context, callback)).rejects.toThrow(error); to catch the error to avoid test failure. In this way, we can simulate the behavior of aws lambda
E.g.
example.js:
const got = require('got');

const example = async (event, context, callback) => {
  let message;

  const gotOptions = {
    json: {
      process: event.process,
    },
    responseType: 'json',
  };

  const res = await got.post('https://some.url/api/process', gotOptions).catch((error) => {
    callback(error);
  });

  console.log('process');
  message = `Process ${event.process} is: ${res.body.active}`;

  callback(null, message);
};

exports.example = example;

example.test.js:
const example = require('./example');
const got = require('got');

jest.mock('got');
const callback = jest.fn().mockImplementation((errorMsg) => {
  if (errorMsg) throw new Error(errorMsg);
});
const event = { process: 1 };
const context = {};

describe('[example]', () => {
  test('error calling process api', async () => {
    let error = 'error calling process';
    got.post.mockRejectedValueOnce(error);
    await expect(example.example(event, context, callback)).rejects.toThrow(error);
    expect(callback).toHaveBeenCalledWith(error);
  });

  test('should success', async () => {
    got.post.mockResolvedValueOnce({
      body: { active: true },
    });
    await example.example(event, context, callback);
    expect(callback).toHaveBeenCalledWith(null, 'Process 1 is: true');
  });
});

test result:
 PASS  examples/66567679/example.test.js
  [example]
    ✓ error calling process api (5 ms)
    ✓ should success (10 ms)

  console.log
    process

      at examples/66567679/example.js:17:11

------------|---------|----------|---------|---------|-------------------
File        | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
------------|---------|----------|---------|---------|-------------------
All files   |     100 |      100 |     100 |     100 |
 example.js |     100 |      100 |     100 |     100 |
------------|---------|----------|---------|---------|-------------------
Test Suites: 1 passed, 1 total
Tests:       2 passed, 2 total
Snapshots:   0 total
Time:        3.966 s, estimated 4 s

A: 1-add folder __mocks__ in root project
2-add file got.js in __mocks__ folder
3-add code to got.js:
module.exports = {
    post: (url, options) => {
        return new Promise((res, rej) => {
            res({ body: { active: 'test' } })
        })
    }
}

4- in test file:
let example = require('./example');

let callback_arg1 = ''
let callback_arg2 = ''
let event = {
    process: 1
};
let context = {};
let callback = (arg1, arg2) => {
    callback_arg1 = arg1
    callback_arg2 = arg2
};

describe('example', () => {
    test('error calling process api', async () => {
        await example.example(event, context, callback);
        expect(callback_arg1).toBe(null)
        expect(callback_arg2).toBe('Process 1 is: test')
    });
});

A: Looks like there are two issues here

Issue 1
Mixing async and non-async
A lambda function can either be async or non-async.
An async handler uses an async function that can either return or throw.  If a Promise is returned the lambda function will wait for the Promise to resolve or reject and return the result.
A non-async function uses a callback as the third argument and returns the result passed to the callback.
In this case the function is async but is also using a callback.  It should use either an async function or a callback function but not both.

Issue 2

The callback I mock up is being called, which in the case of a lambda would immediately return the response.

By default a lambda function does not immediately return the response when the callback is called.
If you use a non-async handler, note that "execution continues until the event loop is empty or the function times out. The response isn't sent to the invoker until all event loop tasks are finished."
(Note that you could set callbackWaitsForEmptyEventLoop to false to get the lambda function to return right away, but this isn't a real solution since the state of the process will be frozen and will restart at that exact state the next time it is invoked so the error would just happen on the next invocation.)
So best practice is to ensure that a non-async lambda function is always able to run to completion since the value passed to the callback isn't actually passed back until the event loop is empty.
In the example above it might look like execution stops after the callback is invoked, but that is only because it looks like AWS does not report info on exceptions thrown after the callback is called with an error.
Here is a simple non-async handler to demonstrate:
exports.handler = (event, context, callback) => {
  console.log('starting');  // logged
  callback('this error gets reported');  // callback called with an error
  console.log('still running');  // logged
  throw new Error('this error is not reported');  // not reported
  console.log('ending');  // not logged
};

Solution
In this case I would just remove the callback argument and go with a purely async function.
Something like this:
const got = require('./got');

const example = async (event, context) => {
  const gotOptions = {
    json: {
      process: event.process
    },
    responseType: 'json'
  };

  return got.post('https://some.url/api/process', gotOptions)
  .then(res => `Process ${event.process} is: ${res.body.active}`)
  .catch((error) => {
    // log, format the returned error, etc.
    // (or just remove the catch to return the error as-is)
    console.log(error);
    throw new Error(error);
  });
};

exports.example = example;

Then you can test the returned Promise directly like this:
const example = require('./example');

jest.mock('./got');

const got = require('./got');

// set default event
let event = {
  process: 1
};

// set default context
const context = {};

// run before each test
beforeEach(() => {
  // set default got.post response
  got.post.mockReturnValue(Promise.resolve({
    body: {
      active: true
    }
  }));
});

// test artifact api
describe('[example]', () => {
  test('error calling process api', async () => {
    let error = 'error calling process';

    // set got mock response for this test to error
    got.post.mockReturnValue(Promise.reject(error));

    // function we want to test w/ mock data
    await expect(example.example(event, context)).rejects.toThrow(error);  // SUCCESS
  });
});

A: Jest supports testing code that uses callbacks. Your test can accept a done parameter.
See the jest documentation here.
Applying that pattern to your test it could look like the following:
describe('[example]', () => {
  test('error calling process api', done => {
    const error = 'error calling process';

    got.post.mockReturnValue(Promise.reject(error));

    await example.example(event, context, callbackError => {
      // used try...catch pattern from jest docs
      try {
        expect(callbackError).toEqual(error);
      } catch (e) {
        done(e);
      }
    });
  });
});

Notes

*

*The test is no longer async and accepts a done parameter.

*The expectation needs to move into the callback.

*The test will fail with a timeout if done() is not called.

*The expectation needs a try/catch around it. I took this from the documentation linked above. It's a consequence of the expect().toEqual... in the callback. If the expect fails, done will not be called and the test will timeout, and then you'll get the timeout error rather than the more useful error from the expect.

This will get you going without having to switch it all over to use Promises.

Once you've played with that test and the code a bit you may run into a control flow bug in your main handler code.

After calling callback(error) in the catch, the non-error path in the code is left hanging and fails. Failing because the result is undefined after the catch.
Jest/node will report this as an unresolved promise error and warn you that:

In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

My advice would be that if you're going to await the api call, then instead of using .catch, put a try...catch around it.
E.g.
try {
  const res = await got.post('https://some.url/api/process', gotOptions);
  message = `Process ${event.process} is: ${res.body.active}`;
  callback(null, message);
} catch (error) {
  message = 'error calling process';
  console.log(message, error);
  callback(message);
}

Or alternatively get rid of the await and use it like a promise.
E.g.
got.post('https://some.url/api/process', gotOptions)
  .then(res => {
    message = `Process ${event.process} is: ${res.body.active}`;
    callback(null, message);
  }).catch((error) => {
    message = 'error calling process';
    console.log(message, error);
    callback(message);
  });


text:
require 'test_helper'

class HistoricTest < Test::Unit::TestCase
  context "A HistoryItem, @item" do
    setup do
      HistoricItemHistory.delete_all
      HistoricItem.delete_all

      @item = HistoricItem.new
      @item.field_1, @item.field_2, @item.field_3 = 1, 2, 3
      @item.save!
    end

    should "not create a HistoryRecord when newly created" do
      assert !HistoricItemHistory.exists?(:field_1=>"1", :field_2=>"2", :field_3=>"3")
    end

    context "and a new value for :field_1" do
      setup do
        @new_field_1 = "4"
      end

      context "when changing the value of :field_1 to @new_field_1" do
        setup do
          @old_item = @item.clone
          @item.update_attributes(:field_1 => @new_field_1)
        end

        should "create a new ItemGuideHistory for the old item guide and item" do
          assert HistoricItemHistory.exists?({:field_1=>@old_item.field_1, :field_2=>@old_item.field_2, :field_3=>@old_item.field_3})
        end

        should "increment @item's version by one" do
          assert_equal @old_item.version + 1, @item.version
        end

        context ", the HistoricItemHistory" do
          setup do
            @item_history = HistoricItemHistory.find_by_field_1_and_field_2_and_field_3(@old_item.field_1, @old_item.field_2, @old_item.field_3)
          end

          should "copy field_1 from the HistoricItem" do
            assert_equal @old_item.field_1, @item_history.field_1.to_i
          end

          should "copy field_2 from the HistoricItem" do
            assert_equal @old_item.field_2, @item_history.field_2.to_i
          end

          should "copy field_3 from the HistoricItem" do
            assert_equal @old_item.field_3, @item_history.field_3.to_i
          end

          should "clear c on the original HistoryItem" do
            assert_equal nil, @item.field_3
          end

          should "set historic_item_id reference field" do
            assert_equal @item.id, @item_history.historic_item_id
          end

          should "have a version equal to the old item's version" do
            assert_equal @old_item.version, @item_history.version
          end
        end #for the HistoricItemHistory
      end #when changing field_1 of HistoricIte
    end #when changing the value of :field_1 to @new_field_1

    context "passed to create_from_history_item" do
      setup do
        @item_history = HistoricItemHistory.create_history_from_current(@item)
      end

      should "copy field_1 from the HistoricItem" do
        assert_equal @item.field_1, @item_history.field_1
      end

      should "copy field_2 from the HistoricItem" do
        assert_equal @item.field_2, @item_history.field_2
      end

      should "copy field_3 from the HistoricItem" do
        assert_equal @item.field_3, @item_history.field_3
      end

    end #passed to create_history_from_current

    context "when destroyed" do
      setup do
        assert_equal 0, HistoricItemHistory.count
        @item.destroy
      end

      should "create an HistoricItemHistory row" do
        assert_equal 1, HistoricItemHistory.count
        # assert HistoricItemHistory.exists?({:field_1=>@item.field_1, :field_2=>@item.field_2, :field_3=>@item.field_3})
      end
    end #when destroyed

  end # An item guide
end


text:
Chadwick Gaylord conegut per ser el bateria de la banda californiana de Rock Red Hot Chili Peppers, grup del qual és membre des de l'any 1980, quan va substituir D.H Peligro. També és el bateria de la banda Chickenfoot amb antics membres de Van Halen, Sammy Hagar i Michael Anthony, juntament amb el famós guitarrista Joe Satriani. I un dels fundadors de Chad Smith's Bombastic Meatbats.

A part de ser reconegut mundialment pels seus èxits amb les corresponents bandes, Chad també ha obtingut diferents reconeixements, entre ells el World Record Guiness per tocar la bateria més gran del món (308 peces). La revista de Spin, va situar a Chad entre els 10 millors bateries en la llista dels 100 millors bateries de Música Alternativa. La revista Rhythm ha situat a Chad entre els 50 millors bateries de la història i entre els 20 millors en els últims anys.

Biografia
Chad Smith va néixer al 25 d'octubre de 1961. Els seus pares són Curtis i Juana Smith. Té dos germans més grans, Bradley i Pamela. Es va casar el 1994 amb Maria St. John i junts van tenir un fill: Manon St. John (1997). Chad té tres fills més: Justin (1998), Ava (2000) i Cole (2005). S'ha divorciat dos cops. Actualment, està casat amb l'arquitecta Nancy des del 8 de maig de 2006. El casament va tenir lloc a Hopetown, Abaco, Les Bahames. Les seves aficions són: el busseig, el beisbol, el bàsquet, i muntar les seves Harleys.
Chad ha sigut influenciat per molts músics i bandes diferents: Stewart Copeland, Kiss, Led Zeppelin, Keith Moon, Mitch Mitchell, Black Sabbath, Jimi Hendrix, Van Halen, The Who, Motown,P-Funk, Buddy Rich, John Bonham.

Carrera musical
Va començar a tocar la bateria quan només tenia 7 anys. Durant la seva adolescència va rebre diverses ofertes de bandes però preferia continuar perfeccionant la seva tècnica. Es va graduar a la secundària a "Bloomfield Hill's Lasher" on va contribuir amb diferents bandes. Més tard es va graduar a "Andover High School" i "Lahser High School".
Quan va arribar als 20 anys es va mudar a Califòrnia, on vivia el seu germà. El 1988, els Red Hot Chili Peppers buscaven un substitut per al seu bateria D.H. Peligro, que havia estat acomiadat recentment. Ja en el procés de treballar en el seu quart àlbum d'estudi i contractar el nou guitarrista John Frusciante, la banda va fer audicions obertes per a un nou bateria. Smith va ser un dels últims bateria que va fer una audició per a la banda i varen pensar que només amb l'aspecte, Smith seria el substitut equivocat, ja que semblava més glam metal que punk . No obstant això, la banda va quedar bocabadada per la seva audició. El cantant Anthony Kiedis va admirar Smith i va trobar la seva persistència impressionant.

El 2007, Smith, juntament amb els seus companys Glenn Hughes exalumnes, el guitarrista Jeff Kollman i el teclista Ed Roth, van formar una banda totalment instrumental inspirada pel seu amor compartit per Anys 1970 funk i fusió. Encara sense nom en aquell moment, el grup, completat pel baixista Kevin Chown, va debutar al programa NAMM del 2008 a Anaheim, Califòrnia. La banda ha publicat dos àlbums d'estudi i un disc doble en directe com Chad Smith's Bombastic Meatbats des dels seus inicis.

Equip

Discografia (Àlbums d'estudi)

Red Hot Chili Peppers
 Mother's Milk (4 Agost 1989, debut de Chad amb la banda)
 Blood Sugar Sex Magik (24 Setembre 1991)
 One Hot Minute (12 Setembre 1995)
 Califormication (8 de Juny 1999)
 By the Way (9 juliol 2002)
 Stadium Arcadium (9 Maig 2006)
 I'm With You (26 Agost 2011)
 The Getaway (17 July 2016)

Glenn Hughes
 Songs in the key of Rock (21 d'octubre 2004)
 Soul Mover (25 de gener 2005)
 Music for the Divine (9 de Juny 2006)
 First Underground Nuclear Kitchen (9 de Maig 2008)

Chad Smith's Bombastic Meatbats
 Meet the Meatbats (15 de Setembre 2009)
 More Meat (19 d'Octubre 2010)

Chickenfoot
 Chickenfoot (9 de Juny 2009)
 Chikenfoot III (27 Setembre 2011)

Referències

Bateries estatunidencs
Persones de Saint Paul
Alumnes del Musicians Institute
Músics de Minnesota
Músics de funk rock
Membres de Red Hot Chili Peppers

redpajama_set_name: RedPajamaWikipedia


Enrollment is ongoing. Sign up anytime!
ALL ACTIVITIES OFFERED ONLINE AS WELL AS IN THE BODY.
Run energy from 3:30 to 4:00 pm for energy with staff.
Location: Rudramandi Center 830 Bancroft Way at 6th Street.
$5800 - Deduct $200 If Paid in Full upon Sign up.
Monthly Auto-payment Option: $485/ month to be paid off in 1 year. Total Contribution: $5800.
Pre-requisite: Must be a graduate of a clairvoyant program and have extensive experience in reading aura, daily meditation and spiritual flexibility. Acceptance is contingent upon approval of the Spirit is Calling Staff.
In the 3 Year Trance Channeling Program you have the opportunity to go out of your body and learn to channel another being to heal yourself and others.
We have all had the experience of paying the price for something that we either didn't mean, don't remember or could not control. These are trance medium experiences: Your body is sometimes the playground for beings that visit but never clean up their messes -- leaving you to deal with the aftermath.
In the 3 Year Trance Channeling Program you have the opportunity to go out of your body and learn to channel another being to heal yourself and others. In a supported healing sanctuary, with a control who will help you select and work with a high level healing being, you will be able to go to a deep level of releasing the karma, invalidation and pain left in the body from family entities and other beings who have invaded your aura over the years.
Using amusement, readings, communication and validation for your experiences (along with space to blow the pictures that act as anchors in your aura to some of those beings), this program offers you a chance to gain a new level of seniority to energy.
You will be able to discern what behaviors and creations in your life are actually not even yours, and to recognize the beings that have run those aspects of your life that you do not want. You will gain awareness of those energies and clear them, while also healing others. Through a consistent practice and participation in healing clinics, monthly classes and energy checks, you will be in a safe space to make changes to your life that go deeper than you can go on your own.
Book an energy check with TM Program Staff.
Energy checks are 1st and 3rd Tuesdays at 6, 6:15, 6:30 and 6:45pm (starting Sept. 13).
Can you laugh at your self, see and be senior to beings?
To recognize Trance Medium energy and have neutrality, amusement and control over it.
To use clairvoyance to see and work with a being.
To locate and communicate with beings that you have affinity for in a healing capacity.
To make an agreement to channel a being in a safe, supported environment.
To change agreements with beings that are no longer serving you.
To recognize different types of beings: gurus, angels, healing beings, low vibration beings, family beings, baby beings, gods and goddesses, to name a few.
To recognize who you are and who you are not.
To be a conscious versus un-concious healer.
To be in charge of the process of channeling.
To take seniority over your own trance mediumship and the programming in your body to channel certain energies.
To own more of your own information as a healer and a spirit with a body.
To own your creativity and creative space separate from beings that want to create through you.
To control a line of channelers, allowing you to gain seniority over beings.
The mechanics of "going to white"
How to recognize trance mediumship in the family, "crazy people," creative people, and genetic dispositions.
Past-life agreements and religious experiences that impact your trance medium levels.
Understanding the different kinds of beings and how they affect us: gurus, angels, healing beings, low vibration beings, baby beings, gods and goddesses, to name a few.
To recognize beings, interview the beings that you will channel, set boundaries with spirit in bodies and without.
To go to platinum white, run your TM energy at a very high level, keep your body safe, be amused, blow roses while out of your body.
To find your amusement as you experience levels of pain = control energy from all sorts of TM energy: family beings, counsel of beings, psychotic beings, past /present time guru /spiritual teachers and more.
To recognize and find your space from the many trance mediums in your life.
To bring a healing being into your space that will heal you and others.
To clear out the beings channeled as well as the one not fit to channel.
Changes to the class dates may occur, and events may be added to the schedule.
Students will be notified of schedule changes as needed.
Occasional attendance at special healing events, workshops and retreats in Calistog.
Yearly TM program retreat as announced.
Monthly Energy checks from the staff.
It is highly recommended that each TM student maintain a weekly aura reading space.
The TM students are expected to have the computer equipment needed for top performance during online attendance.
GO TO WHITE Six Month Program is available as well and open to enrollment at all time.
ALL ACTIVITIES ARE OFFERED ONLINE AS WELL AS IN THE BODY.
Second Saturdays 3:30 – 6:30 pm.
Run energy from 3:30pm to 4pm for energy with staff.
Click to download the Admittance Application Form.


text:
Q: Escaping a | (pipe) in SpEL I'm hoping there is a very quick simple answer to this, I've read a few other questions on here that reference SpEL and escape sequences, but still haven't succeeded.
I would like to split a property into a list of String using @Value and SpEL. The property will be:
12345|12345|12345

So I need to split on pipe characters, I can do this in Java by using .split(\\|) to successfully escape the pipe character. I have tried with no slashes, 2 slashes and 4 slashes and all are unsuccessful. Is it possible to split on pipes using the following code? My client wants to keep using pipes for whatever reason...
@Value("#{'${list.of.blocked.people}'.split('\\|')}")
private List<String> myBlockedPeopleList;

Thanks.
Here is a link to the question that got me this far, for reference.
Reading a list from properties file and load with Spring annotation value
I also tried looking at the Spring Docs, but I couldn't find any reference to escape pipes  in their documentatin.
Spring Documentation on SpEL

A: Found the answer on a web development forum here.
My solution was to basically give up on trying to escape the pipe character with back-slashes and use the unicode character escaped sequence. If anyone else is trying to pull in a pipe-separated String using @Value, the following code is tested and works with Java 6, Tomcat 6 and Spring 3.
// Reads blockPeopleString delimited with | and splits into List of Strings
@Value("#{'${blockPeopleString}'.split('\\u007c')}")
private List<String> blockPeopleList;


Both babies are being cared for by their parents and can be seen by guests who visit their habitats.
The new chick – now ten inches tall – is growing alongside the flamingo flock and can easily be spotted by park guests when strolling by. The easiest way to spot the chick is to look for the only flamingo that is not fully pink yet – flamingos take about two years to develop their color as a result of their diet that is rich in alpha and beta carotenoid pigments.
Guests can also spot the sea lion pup with its mom Taffy at Pacific Point Preserve. Mom and pup are forming a close bond by spending quality time together and nursing.
The SeaWorld Animal Care team is continuing to monitor each mom and baby as they grow.
Need a second dose of cuteness?
On June 8, Wimbly another California Sea Lion at Pacific Point Preserve gave birth to a baby pup. Both mom and pup are doing well. Be sure to stay connected with us on Facebook and Instagram to check out photos of the new addition in the coming days.
To learn more about SeaWorld's commitment to animals, please visit SeaWorldCares.com.


text:
Dubuque is taking action on climate. Other Midwest cities and states should, too.
Column: City plans to reduce greenhouse gas emissions to 50 percent below 2003 levels by 2030.
Roy D. Buol
The federal government's Fourth National Climate Assessment should be a major wake-up call for the Midwest. The report details the serious consequences of our addiction to fossil fuels in communities like Dubuque and throughout the Midwest. Our elected leaders not only need to acknowledge the gravity and urgency of the problem but also to do everything in their power to solve it.
The assessment forecasts warmer, rainier, and more humid seasons for the Midwest, ramping up soil erosion, breeding pests, and spoiling harvests. Our region's agricultural productivity could plummet. Projections show that up to a quarter of the corn produced in the region — and even more of the soybean crop produced in parts of the region — could disappear.
Increased frequency and intensity of poor air quality days associated with fossil fuel use, combined with higher temperatures, could also make people sicker. Midwestern communities may see longer pollen seasons and more disease-carrying pests. Even worse, increased ground-level ozone concentrations are projected to cause an additional 200 to 550 premature deaths in the region annually by 2050.
Of course, in addition to human impacts, climate change has environmental impacts. The Midwest is home to the world's largest freshwater ecosystem, the Great Lakes, and rising temperatures and more evaporation mean less fresh water flowing and ecosystem degradation.
Dubuque is working to prevent the worst of these impacts by advancing clean, carbon-free renewable energy at the local level. With the adoption of Dubuque's plan to reduce the community's greenhouse gas emissions 50 percent below 2003 levels by 2030, the Dubuque City Council solidified our community's commitment to mitigating and adapting to climate impacts.
In alignment with existing city priorities, we have invested in our community as well as our public infrastructure. While we are proud of the upgrades to the Water and Resource Recovery Center, our innovative restoration of the Bee Branch Creek, and the installation of rooftop solar arrays on our fire stations, our obligations to reduce greenhouse gases continue.
A report by the University of Nebraska at Lincoln confirmed that Dubuque will be implicated in hazards originating from extremes in weather and climate conditions. Increased temperatures in the summer and autumn will drive increased demand for energy, will impact utilities during peak delivery times, and will negatively impact our most vulnerable populations. As a member of the Mayors for Solar Energy coalition, organized through Environment America, I am calling on more of America's cities to help build a cleaner, healthier future powered by renewable energy.
The No. 1 takeaway from the National Climate Assessment is clear. As stated in the summary findings, "Global action to significantly cut greenhouse gas emissions can substantially reduce climate-related risks" and the window of opportunity to take that action is closing fast. Solar panels, wind turbines, energy storage systems, and electric vehicles have all evolved from novelties to widespread features of America's energy landscape over the course of the past decade, and each of those technologies continues to improve and become more affordable.
Despite the urgent need for action, the federal government is failing to step up and lead the nation towards a renewable future. With all that is at stake, the Trump administration's efforts to bury the Fourth National Climate Assessment findings by releasing it on Black Friday and later to deny its validity are irresponsible. Given the void left by the federal government on this issue, state and city leaders have an opportunity and an obligation to advocate for a cleaner, healthier future for their constituents.
More action from Midwest cities and states can lead to the change that America needs to solve the climate crisis. While the window of opportunity to make that change is closing, it isn't shut yet.
Roy D. Buol is mayor of Dubuque and a member of Mayors for Solar Energy.


This black cat La Belle looks at you with a mean stare. Her grumpy face has arched squinted eyes, upright pointy ears and rigid whiskers. She is striking a guarded pose with paws in line and her immense puffy tail arched up.
Measures 3 3/4 in H x 5 in W x 1 3/4 in D. Weighs 7 oz.


Only £10.95 per person. Children under 10 (4-9 years) £6.95 per child.
Kids under 4 eat for free when accompanied by a paying adult. One child per one paying adult.
After 6:30pm the full price buffet will be charged.
Not valid in conjunction with any other offers or promotions. Not valid throughout December. Not valid on any of the Christmas Menus or Christmas Buffet Menus. Not available when the Christmas Menus are in operation. The management reserve the right to request proof of age for a child. In any case of dispute, the manager's decision is final.


text:
Gender bias remains rife in medicine despite growing numbers of women doctors.
When people hear "doctor" most still picture a man
Lauren Vogel | February 21, 2019
Today a physician is as likely to be female as male, yet most people still picture a doctor as a man. Only 5% of people presume a doctor will be female, according to a recent survey of 4000 Britons conducted by LinkedIn. Among people over age 55, that figure fell to just 2%.
Receptionists, nursery teachers and nurses were the top three titles associated with women, with 63% of Brits presuming a nurse will be female. People were more likely to perceive traditional jobs as gendered and newer roles as more ambiguous. For example, 77% did not associate any gender with the title "search engine optimization specialist."
According to Dr. Natasha Larmie, a general practitioner in Hertfordshire, the results come as no surprise, even though nearly half of doctors in the United Kingdom are women. "I've often had people assume that I am a man when I go by my professional title."
It's a common bias, starting in childhood. One study found that 7 of 10 primary school students in the UK identify surgeons as men and nurses as women. This may reflect who children see performing these roles. But gender biases tend to stick, even as the demographics of medicine change.
A Harvard study that found people were more likely to associate the name Jonathan with doctoring and Elizabeth with nursing also found that those biases didn't change after people were told the reverse was true. The stereotype acted as a "mental firewall" that prevented people from updating their perceptions as the facts changed.
Although patients often fare better when they receive care from women doctors, they tend to assume or prefer that doctors are men. One study asked people to choose between a male doctor, a female doctor, or whoever had the most experience, and more than 60% chose the male doctor. Just 1 in 5 preferred the most experienced doctor.
Even when women introduce themselves as doctors, they are often mistaken for nurses or other staff, including by their colleagues. On a Reddit thread, some doctors described this happening several times a day. "It gets annoying, but you have to take it in stride or it will build resentment in you," one posted.
Dr. Julia Files studied the way doctors introduced their colleagues after noticing she was addressed informally when her male peers were not. She found that male physicians mostly introduced each other as "doctor" but used formal titles less than half the time when introducing female colleagues.
Women of color also report having to prove their medical credentials in situations where white men do not. The case of a flight attendant refusing help from a black female physician during an inflight medical emergency triggered an outpouring of stories from women who were told to step aside because they weren't recognized as doctors. In some cases, they were at work and wearing a white coat.
Part of the problem may be a lack of women in leadership. In Canada, nearly 60% of students admitted to medical schools are female, and women make up 41% of all physicians. But they face an uphill battle to promotion. Women tend to receive lower-quality feedback that focuses on personality rather than skills. Studies show wide gender disparities in academic rank, funding and publications.
Facing routine sexism from patients and colleagues, even when it doesn't rise to the level of harassment or assault, takes a toll. Female doctors are more likely to become burned out or depressed than their male peers or women in other fields. According to Dr. Saate Shakil and colleagues, "the impact of a cascade of small injustices that women physicians deal with every day undermines our daily work and collectively sends a demeaning message about our worth in the work place."
Photo credit: jacoblund/iStock
Published in Lauren Vogel
More from Lauren VogelMore posts in Lauren Vogel »
Resuscitating the doctors' lounge


text:
Q: ensime server fails to start from emacs I am starting a new project in scala. I use emacs as editor.
So far it cannot be more simple. This is the build.sbt
name := "Sampler"

version := "1.0"

scalaVersion := "2.11.8"

I have run the ensimeConfig command in sbt (0.13 version)
When I start ensime on Emacs (M-ensime) I get the following error:
13:34:52.511 ERROR None Server - There was a problem parsing /home/jeronimo/prog/coursera/progfun2/circuits/.ensime
java.lang.NoSuchMethodError: shapeless.DataT$.genTraversableDataT(Lshapeless/Lazy;Lscala/collection/generic/CanBuildFrom;)Lshapeless/DataT;
    at org.ensime.config.EnsimeConfigProtocol$anon$default$macro$337$1.inst$macro$320$lzycompute(EnsimeConfigProtocol.scala:61)
    at org.ensime.config.EnsimeConfigProtocol$anon$default$macro$337$1.inst$macro$320(EnsimeConfigProtocol.scala:61)
    at org.ensime.config.EnsimeConfigProtocol$anon$default$macro$337$1$$anonfun$inst$macro$319$1.apply(EnsimeConfigProtocol.scala:61)
    at org.ensime.config.EnsimeConfigProtocol$anon$default$macro$337$1$$anonfun$inst$macro$319$1.apply(EnsimeConfigProtocol.scala:61)
    at shapeless.Lazy$$anon$1.value$lzycompute(lazy.scala:121)
    at shapeless.Lazy$$anon$1.value(lazy.scala:121)
    at shapeless.EverywhereAux$$anonfun$default$2.apply(sybclass.scala:184)
    at shapeless.Cases$Case1$$anon$1$$anonfun$1.apply(cases.scala:40)
    at shapeless.Cases$Case1$$anon$1$$anonfun$1.apply(cases.scala:38)
    at shapeless.PolyDefns$Case.apply(poly.scala:37)
    at shapeless.DataT$$anon$12.gmapT(sybclass.scala:144)
    at shapeless.DataT$$anon$12.gmapT(sybclass.scala:142)
    at shapeless.DataT$$anon$12.gmapT(sybclass.scala:144)
    at shapeless.DataT$$anon$12.gmapT(sybclass.scala:142)
    at shapeless.DataT1$$anon$9.gmapT(sybclass.scala:116)
    at shapeless.EverywhereAux$$anonfun$default$2.apply(sybclass.scala:184)
    at shapeless.Cases$Case1$$anon$1$$anonfun$1.apply(cases.scala:40)
    at shapeless.Cases$Case1$$anon$1$$anonfun$1.apply(cases.scala:38)
    at shapeless.PolyDefns$Case.apply(poly.scala:39)
    at org.ensime.core.Canonised$.apply(Canon.scala:19)
    at org.ensime.config.EnsimeConfigProtocol$.validated(EnsimeConfigProtocol.scala:61)
    at org.ensime.config.EnsimeConfigProtocol$$anonfun$3.apply(EnsimeConfigProtocol.scala:44)
    at org.ensime.config.EnsimeConfigProtocol$$anonfun$3.apply(EnsimeConfigProtocol.scala:44)
    at scala.collection.immutable.List.map(List.scala:273)
    at org.ensime.config.EnsimeConfigProtocol$.validated(EnsimeConfigProtocol.scala:44)
    at org.ensime.config.EnsimeConfigProtocol$.parse(EnsimeConfigProtocol.scala:32)
    at org.ensime.server.Server$.main(Server.scala:120)
    at org.ensime.server.Server.main(Server.scala)
Exception in thread "main" java.lang.NoSuchMethodError: shapeless.DataT$.genTraversableDataT(Lshapeless/Lazy;Lscala/collection/generic/CanBuildFrom;)Lshapeless/DataT;
    at org.ensime.config.EnsimeConfigProtocol$anon$default$macro$337$1.inst$macro$320$lzycompute(EnsimeConfigProtocol.scala:61)
    at org.ensime.config.EnsimeConfigProtocol$anon$default$macro$337$1.inst$macro$320(EnsimeConfigProtocol.scala:61)
    at org.ensime.config.EnsimeConfigProtocol$anon$default$macro$337$1$$anonfun$inst$macro$319$1.apply(EnsimeConfigProtocol.scala:61)
    at org.ensime.config.EnsimeConfigProtocol$anon$default$macro$337$1$$anonfun$inst$macro$319$1.apply(EnsimeConfigProtocol.scala:61)
    at shapeless.Lazy$$anon$1.value$lzycompute(lazy.scala:121)
    at shapeless.Lazy$$anon$1.value(lazy.scala:121)
    at shapeless.EverywhereAux$$anonfun$default$2.apply(sybclass.scala:184)
    at shapeless.Cases$Case1$$anon$1$$anonfun$1.apply(cases.scala:40)
    at shapeless.Cases$Case1$$anon$1$$anonfun$1.apply(cases.scala:38)
    at shapeless.PolyDefns$Case.apply(poly.scala:37)
    at shapeless.DataT$$anon$12.gmapT(sybclass.scala:144)
    at shapeless.DataT$$anon$12.gmapT(sybclass.scala:142)
    at shapeless.DataT$$anon$12.gmapT(sybclass.scala:144)
    at shapeless.DataT$$anon$12.gmapT(sybclass.scala:142)
    at shapeless.DataT1$$anon$9.gmapT(sybclass.scala:116)
    at shapeless.EverywhereAux$$anonfun$default$2.apply(sybclass.scala:184)
    at shapeless.Cases$Case1$$anon$1$$anonfun$1.apply(cases.scala:40)
    at shapeless.Cases$Case1$$anon$1$$anonfun$1.apply(cases.scala:38)
    at shapeless.PolyDefns$Case.apply(poly.scala:39)
    at org.ensime.core.Canonised$.apply(Canon.scala:19)
    at org.ensime.config.EnsimeConfigProtocol$.validated(EnsimeConfigProtocol.scala:61)
    at org.ensime.config.EnsimeConfigProtocol$$anonfun$3.apply(EnsimeConfigProtocol.scala:44)
    at org.ensime.config.EnsimeConfigProtocol$$anonfun$3.apply(EnsimeConfigProtocol.scala:44)
    at scala.collection.immutable.List.map(List.scala:273)
    at org.ensime.config.EnsimeConfigProtocol$.validated(EnsimeConfigProtocol.scala:44)
    at org.ensime.config.EnsimeConfigProtocol$.parse(EnsimeConfigProtocol.scala:32)
    at org.ensime.server.Server$.main(Server.scala:120)
    at org.ensime.server.Server.main(Server.scala)

Process *inferior-ensime-server-circuits* exited abnormally with code 1

A: After trying to delete the .ivy2 cache without success I fixed the issue re-installing the EMACS ensime plugin.