CROCS HAD ANOTHER FANTASTIC QUARTER driven by strength in all regions; we are significantly raising estimates and our price target to $71 from $54. We reiterate our Strong Buy rating.
Crocs designs, manufactures, and markets footwear for men, women, and children made out of proprietary closed-cell resin material [known as "croslite"]. The company distributes its products through approximately 7,400 store locations in the U.S.
Business strong in all regions as Crocs exceeds even the most optimistic revenue and earnings-per-share estimates. Second-quarter earnings per share (EPS) of 58 cents beat our estimate for 47 cents and consensus for 44 cents, while revenue of $224 million exceeded our estimate for $194 million and consensus for $193 million. Growth was strong in all regions with U.S. revenue nearly doubling and international revenue up 264% driven by Europe up 920%.
Exceptional sell-through of both classic and new styles support continued growth. The company's report confirmed our channel checks, which showed good customer response to several new Spring styles along with continued interest in classic styles such as the Beach, Cayman and Athens. The classic styles now represent less than 30% of all U.S. sales. In Europe, the 920% revenue growth shows a "Crocs craze" reminiscent of the U.S. in 2006.
Sales in Europe demonstrate that Crocs is not just an American phenomenon, and we believe South America could provide the next giant growth opportunity for the company, especially as we enter 2008. Crocs shipped its initial product in Brazil in the second quarter and its Brazilian factory is up and running.
Crocs is just beginning to exploit a huge direct-retail opportunity. Although direct sales (including kiosks) represented less than 10% of revenue in the quarter, our checks on the company's first U.S. store in Santa Monica, Calif., suggest that Crocs has a huge retail opportunity. Although the product is broadly distributed with over 27,000 doors world-wide, we believe the company can use its retail stores to present a more complete product line as well as to test new products.
Some fall styles are a significant departure from previous Crocs product providing growth opportunities, but also increased risk. We believe Crocs can effectively expand its product line into many "closed" footwear styles that use croslite in the footbed and mixed materials in the upper, as the comfort features of the croslite material drive customer purchases. However, we recognize that such styles create increased risk as the company seeks to convince retailers and consumers that it can do more than make comfortable, colorful, summer footwear.
The company ended the quarter with manufacturing capacity of approximately six million pairs per month, and believe they can ramp that to seven million by year-end.
Gross profit for the first quarter increased 180% to $131.9 million, or 58.8% of net sales, compared with $47.0 million, or 54.8% of net sales, for the prior year. Gross margins benefited from reduced airfreight costs and a greater percentage of international sales. Selling, general and administrative expense for the second quarter of 2007 was $63.5 million, or 28.3% of net sales, compared with $23.3 million, or 27.2% of net sales, for the prior year.
We are increasing our 2007 EPS estimate to $2.02 from $1.74, 2008 EPS estimate to $2.85 from $2.15, and price target to $71 from $54. We expect our estimates to remain above consensus, but given the company's many growth opportunities and the U.S. growth path, which is now repeating internationally, we believe our estimates remain achievable.
Our $71 price target is 25 times (25% projected longer term earnings growth rate) our new 2008 EPS estimate of $2.85.
Crocs (CROX: Nasdaq) By Wedbush Morgan Securities ($50.


One day there were two boys playing by a stream. One of the young boys saw a bush and went over to it and the other boy couldn't figure out why his friend was at the bush so long. The other boy went over to the bush and looked. The two boys were looking at a woman bathing naked in the steam. All of a sudden the second boy took off running.
The first boy couldn't understand why he ran away so he took off after his friend. Finally, he caught up to him and asked why he ran away.
The boy said to his friend, "My mom told me if I ever saw a naked lady I would turn to stone, and I felt something getting hard, so I ran."


Lotus Engineering provides comprehensive and versatile consultancy services to many of the world's OEMs and Tier 1 suppliers, offering a full engineering service from initial concept and project design through development to full production prototype build.
Lotus Cars builds and commercialises Lotus sports cars, Elise and Exige; and manufactures the advanced composite front and rear crash structures for the Aston Martin V12 Vanquish.
Lotus Design, led by Russell Carr, is the "in-house" team responsible for the design of all Lotus products, whilst also offering a consultancy service to many of the world's top manufacturers. Capability ranges from a full design service from concept sketches through to "A" class surface release.
With a diverse client base, Lotus Design is able to create tailored solutions, emotional and distinctive designs that are appropriate to the client's brand and the product's customer profile.


text:
28 Mar, 2018 01:45
'Russia has lots of tentacles': US says it needed no proof, only UK's word to expel diplomats
US acting Under Secretary of State for Public Diplomacy and Public Affairs Heather Nauert © US Department of State
Russia must confess to the Salisbury 'chemical attack' in order to mend relations with the US and NATO, said the US State Department, adding that the only evidence the US needs for Moscow's culpability was the word of its UK ally.
"If Russia wants to improve relations, it needs to first acknowledge its responsibility for this attack and cease its recklessly aggressive behavior," State Department spokeswoman Heather Nauert told reporters on Tuesday.
At one point, the newly promoted acting undersecretary for public diplomacy and public affairs channelled horror writer H.P. Lovecraft to describe Russia as a "beast from the deep sea."
"Russia has long arms, Russia has lots of tentacles," Nauert told reporters.
The Putin/Russia octopus is back. So much for originality, @TheEconomistpic.twitter.com/9E3wgT5GzU
— Sean Guillory (@seansrussiablog) February 28, 2018
Her statements came after the US expelled 60 Russian diplomats, including 12 from Moscow's mission to the UN. Nauert insisted those diplomats were really spies, "intelligence officers who were operating under diplomatic cover," without giving any details of their activity.
Although Nauert said the decision was made by President Donald Trump following a "broad interagency process," including the FBI and others, she admitted that the effort was started by the UK, following the alleged chemical attack on former British spy Sergei Skripal in Salisbury earlier this month.
"We certainly know that Russia is responsible for that attack. That is something that is not in question," Nauert declared. Pressed for evidence, however, she said that the US stood by the word of its British allies.
"When the UK tells us they have proof, that they know Russia was responsible, we have every reason to believe them," Nauert said.
On Tuesday, the Russian daily Kommersant published a five-page presentation about the Salisbury incident, which was put together by the UK government. The document, while still containing no evidence of Russia's culpability, has switched from making indications of a high likelihood to making positive assertions that it had to be Russia and no one else.
"We are without doubt that Russia is responsible," the presentation said. "There is no plausible alternative explanation."
UK Government may say it's "highly likely" or "quite clear" that Russia is behind the Salisbury poisoning. But even if they were "absolutely sure", they would have to show facts. pic.twitter.com/OMbc5phmES
— Russian Embassy, UK (@RussianEmbassy) March 27, 2018
Having based its decision to launch the largest expulsion of diplomats since the Cold War on London's word, the US is now treating the expulsion itself as evidence of Russia's supposed perfidy.
Nauert described the willingness of Washington's allies to follow orders as "testimony of how seriously the world takes Russia's ongoing global campaign to undermine international peace and stability, to threaten the sovereignty and security of countries worldwide and to subvert and discredit Western institutions."
Over two dozen US allies, including Canada, Australia, Ukraine and many NATO members, have expelled over 100 Russian diplomats. A number of NATO countries did not follow the lead of Washington and London, however, with Belgium, Bulgaria, Greece, Portugal, Slovenia and Slovakia among the prominent holdovers.
Moscow has promised to retaliate for the expulsions, though no measures have yet been announced as of Tuesday evening.
Skripalcasenews
RussiaUKUS
'Wave of Russian diplomat expulsions is coordinated political warfare against Moscow'
West pushing anti-Russia conspiracy theories for political & economic advantage

redpajama_set_name: RedPajamaCommonCrawl


As guests to this country, we need to adapt to the new culture not the other way round. The following may help us to understand how Korean people think in regard to their business relationships.
Western Culture = Never mix business with pleasure.
Asian culture = Mix business with pleasure.
I mentioned before that in Asian cultures, when you join a company or a team, your Asian boss considers you as a much more binding team-member than you see yourself as; in our western culture, we are very loosely bound, except where the law binds us, but in a Korean culture they are bound together as one big family, emotionally, and they often expect you to think the same; also, in traditional stoic-Confucianism, you are a cog in a number of other cogs, who does not tend to show your emotions or your individual-spirit in meetings, so you are expected to "toe the line" and keep your eyes on the big picture rather than your western style individual picture (this is the Western = individual spirit versus Asian= Collective spirit); therefore, if you want to get on, you need to exchange your glasses from western to eastern glasses before you set foot in the company or even any institution here. You must also be aware of the cultural differences in a real Korean family. If you are invited to live with a Korean family for the purpose of you teaching a member of their family, be aware, that this can be a "minefield" of cross-culture misunderstandings. Be aware that, if you mention money, keep it low-key and do not mention it many times but only initially and when necessary for adjustments, because, unlike Western cultures where relationships can be driven by business first, here in Korea, relationship comes first before business.
For example, you can mention that you want an increase in your pay because the mother has increased the times of teaching her son, but do not mention that your friend gets more pay, and so you want more pay, otherwise, if you "count" too much (with your western glasses on) without putting relationship first ( as you would do with your Korean glasses on) you would probably be invited to a restaurant and gently asked to move out of your room. Of course, if your arrangement is purely on a business arrangement, in Asian culture it is more than just business but also pleasure. I mean, for the Asian mind, if you want to succeed in business, first you need to develop a good relationship and that is why they mix business with pleasure. Of course, they want to feel and see evidence that they can trust you. But be careful, if you are a sincere Christian, do not go along with their drinking binges or "kareoke" (singing rooms) dancing, drinking and singing binges as well as other side-frolicking, when you realize the next day you have compromised your beliefs under the influence, the night before.
Also, please remember, if you are joining a Korean company here from abroad, unless you change your citizenship and become Korean and speak the same language and culture, you will never be promoted! And remember, when you join a company or a "hagwon", (a learning academy), you are not just "getting another job"which you can stop "at the drop of a hat" – you are not loosely uniting yourself but uniting emotionally as well – that's why Korean bosses may get their own culture-shock when we tender our resignation. And remember, in a Western country, it is perfectly acceptable to join a company because of the financial rewards, but, in a Korean culture, if we keep harping on about our bottom-line is money, and keep "counting our time as money," Koreans will look upon us as strange, or worst, with contempt! We, as Westerners, come from a culture which expects to be paid for any extra time we do. But in an Asian culture, it is viewed as an opportunity to show "your self-sacrifice for the sake of the family" and when bosses are considering team-members for promotion, they consider your history of self-sacrificing (but remember, the bitter pill to swallow is foreigners are hardly ever promoted because they speak a different language, both different in tongue as well as in their hearts).
These are some of the various cultural nuances we need to consider before we charge in like "a bull in a china shop" with our conditioned western glasses on!


text:
Q: SSO Options for .NET I'm looking for SSO options for .NET/C# and so far came across OpenID and DotNetOpenAuth. Have yet to look into them in detail but just wanted to ask for some suggestions of what else I should consider.
I'm looking to implement SSO for Google & Facebook, and ideally it would be a single 3rd party library that supports both, trying to avoid manually implemented each one.
If you've dealt with this previously, please share the approach/tools used.
Thanks in advance!

A: OpenID and DotNetOpenAuth are by far your best options.
Helpful Link for DotNetOpenAuth
http://www.tkglaser.net/2012/03/single-sign-on-using-facebook-in-asp.html
EDIT: DotNetOpenAuth home:
http://www.dotnetopenauth.net/
Helpful Link for OpenID
http://www.hanselman.com/blog/TheWeeklySourceCode25OpenIDEdition.aspx

A: One other thing you might want to look into is the use of Azure ACS.
Here's an example enabling Windows Live and Facebook.
I've also used it against google credentials.
In this approach, you actually configure your application to interact only with Azure ACS, and configure which identity providers you want to enable through Azure's UI. So your application doesn't need to worry about each provider separately, and you could indeed add more providers without changing a single line of code in your application.

redpajama_set_name: RedPajamaStackExchange


text:
Unique Storm of December 15, 2021
Unique Storm of December 15, 2021:
The storm system that crossed over Nebraska, Iowa, Minnesota, Wisconsin and Illinois over December 15-16 was almost totally unique in many of its atmospheric attributes. Hundreds of temperature and dew point records were set with the rapid transport of heat and moisture from the south. The wind structure of the atmospheric layers supported record-setting wind speeds, as well as producing 25 reports of tornadoes (12 in NE, 13 in IA), and three suspected reports of tornadoes in MN, yet to be verified. Though fast moving, the storm system produced some record-setting rainfall amounts as well.
Among the most rare and unique measurements of the storm were: confirmed tornadoes on the ground near Lewiston (Winona County) and Hartland (Freeborn County), the first ever observed such storms in Minnesota during the month of December; a radiosonde (balloon) measured precipitable water measurement from the Twin Cities (integrated water vapor content in the atmosphere overhead) of 1.23inches, the highest measurement ever made in Minnesota during the months of December, January, and February; a dew point measurement at MSP airport of 55°F, the highest historical dew point measurement historical for the Twin Cities between December 6th and March 6th; a maximum temperature reading of 66°F at Caledonia, Winona, and Austin, all-time statewide record high for this time of year, and about 30-35 degrees F above normal.
A sampling of records set during the storm across Minnesota (for long term climate stations):
New record daily high temperatures:
65°F at Albert Lea
64°F Rochester, Grand Meadow, and Theilman
63°F at Winnebago and La Crescent
62°F Mankato
61°F at Jordan
60°F at Red Wing
58°F at MSP
55°F at St Cloud
54°F at Mora and Litchfield
49°F at Duluth
A sampling of the rainfall records from the storm across Minnesota (long term climate stations):
2.14" at Embarrass
2.10" at Zumbrota
1.96" at Floodwood
1.77" at Brainerd
1.44" at Hibbing
1.34" at Alexandria
1.28" at Tower
1.25" at Long Prairie
1.16" at Dawson
1.03" at Canby
Sampling of some record-setting maximum wind gusts:
85mph at Plainview
84 mph at Mabel and Harmony
83 mph at Grand Meadow
78 mph at Rochester Airport and Redwood Falls Airport
75 mph at Morristown
72 mph at Kasson
70 mph at Dodge Center
68 mph at Elko New Market
Sampling of record dew points:
59°F at Winona
57°F at Austin and Faribault
56°F at Preston
Overall, the convergence of these atmospheric conditions over Minnesota at this time of year is probably a "singularity" or one-off in historical terms. It can certainly be argued that it is symptomatically characteristic of climate change and will probably be investigated and reported by the American Meteorological Society specialists that do "forensic meteorology" studies.
Preliminary data indicate that the year 2021 will end up among the warmest six years in Minnesota history (back to 1895) on a statewide basis. In addition, though it will be noted as a year when drought had a major effect on the state (especially in summer), the year 2021 will likely be about the 30th driest year in state history, and far wetter than some of the worst drought years such as 1910, 1976, 1936, 1934, and 1917.
This week's AGU-EOS Bulletin highlights some recent tornado research out of the University of Oklahoma. The findings suggest that tornado frequency in the May through September period across the Southern Plains and Midwest may decline, but that the intensity of storms may increase. In addition, the study suggests that during the cool season, tornadoes may actually increase in both frequency and intensity.
NOAA released its annual Arctic Climate Report Card this week, assessing how the warming climate trends are affecting the high latitudes of the Northern Hemisphere. It is a telling tale of decline in sea ice volume, disappearance of permafrost, browning of the tundra, and record-setting warmth.
Super Typhoon Rai lashed the Philippines with high seas, damaging winds, and very heavy rains this week as it crossed over into the South China Sea. The BBC reported thousands of people were evacuated to higher ground and there were widespread power outages.
Besides the storm on December 15th this week have we ever experienced a seasonal storm that was completely out of character and not in our range of historical experience in Minnesota?
In my experience the only other storm that I would characterize as a historical singularity is the March 31, 2014 storm that passed over southwestern Minnesota, notably the counties of Lincoln, Lyon, Yellow Medicine and Lac Qui Parle. This storm produced a simultaneous blizzard and tornado warning for citizens of the area between 4pm and 5pm in the afternoon. If you were driving north that day on Hwy 75 you could have seen both of these storm types within miles of each other. This is perhaps one of the oddest weather events in state history.
Twin Cities Almanac for December 17th:
The average MSP high temperature for this date is 28 degrees F (plus or minus 12 degrees F standard deviation), while the average low is 15 degrees F (plus or minus 14 degrees F standard deviation).
MSP Local Records for December 17th:
MSP records for this date: highest daily maximum temperature of 53 degrees F in 1939; lowest daily maximum temperature of -5 degrees F in 1945; lowest daily minimum temperature of -17 degrees F in 1985; highest daily minimum temperature of 35 degrees F in 1977; record precipitation of 0.81 inches in 1908. Record snowfall is 10.8 inches also in 1908.
Average dew point for December 17th is 10°F; the maximum dew point on this date is 40°F in 1977; and the minimum dew point on this date is -22 degrees F in 1983.
All-time state records for December 17th:
The state record high temperature for this date is 63 degrees F at Farmington (Dakota County) in 1939. The state record low temperature for this date is -44 degrees F at Mora (Kanabec County) in 1983. The state record precipitation for this date is 1.80 inches at Hinckley (Pine County) in 1984. Record snowfall is 15.0 inches at Beaver Bay (Lake County) in 1863.
The warmest December 17th in state history was in 1939 when many communities in Minnesota saw afternoon high temperatures climb into the 50s and 60s F. With little or no snow on the ground, even the overnight low at Winona was a mild 43°F.
An Arctic air mass occupied the state on December 17, 1983 sending overnight low temperatures into the minus twenties and minus thirties. Warmest spot in the wee hours of the morning was Grand Marais with a reading of -10°F. The high temperature at Wannaska (Roseau County) was -21°F. It was the start of a week-long episode of record-setting cold temperatures leading up to Christmas.
A major winter storm brought 1 to 2 inches of precipitation (and 4-6 inches of snow) to portions of central and northeastern Minnesota over December 16-17, 1984. Gunflint Lake reported a record 2.57 inches of precipitation, while Grand Marais had 1.80 inches.
Partly cloudy with slightly cooler than normal temperatures over the weekend. It will be mostly a dry period next week with temperatures hanging around normal in most places and perhaps creeping to above normal values by Christmas Eve.
Mark Seeley December 17, 2021


text:
Molophilus hyperarmatus är en tvåvingeart som beskrevs av Alexander 1940. Molophilus hyperarmatus ingår i släktet Molophilus och familjen småharkrankar. Inga underarter finns listade i Catalogue of Life.

Källor

Småharkrankar
hyperarmatus

redpajama_set_name: RedPajamaWikipedia


We expected a hard race, and that Équipe Europcar would be the most active team trying to setup the win for Thomas Voeckler. We started two riders short due to illness in the team - and expected a few guys may still be a bit weak from recent illness (Lucas, David, Bruno). We wanted to make sure we had representation in the early break and hoped to keep Will, Pat and David fresh for the final.
The race was very aggressive in the first 60 km. An early move was established and we missed it. This was bad - but not devastating because Saxo Bank, Vacansoleil, Europcar and Francaise des Jeux also missed it.
Europcar took tight control after the midway point. But we lost Flavio and Lucas to the fast, early pace.
The second part of the race was really well controlled by Europcar. They feathered the gaps to breaks and brought things back to a super aggressive final 40 km. On the last 17 km lap, on the first hill, Voeckler attacked to start the final action. About 16 riders were of the front and our guys were not strong enough to match the attacks.
Bruno, Will and Pat were our guys to make it to the final group today. It was great to see both Bruno and Will getting their strength back. Pat was very good today, as we expected.
Next race is Cholet. We have a similar plan for each 1-day race: make the early break and conserve others for the final. But we have consistently missed early breaks in 1-day races, and this is an important skill for the guys to develop. They are doing fine in stage races - but it's just harder to get in that move in 1-day races. We don't want to miss it in Cholet.
We'll divide up the roles similar to Loire-Atlantique - but may swap Bruno and David after we see how they feel. The Cholet course will have more punchy hills - it will suit all the guys we have here. Lucas is struggling with health troubles, so we hope he comes around tomorrow.


text:
Life Cereal Is Looking For Its Next 'Mikey' For An Ad, And Your Kid Could Be The Star
Let's hope they like classic cereal!
By Maya McDowell
Calling all parents: is your kid adorable? Do they ~love~ cereal? I'm willing to bet that most kids ages four to eight probably wouldn't choose Life cereal as their favorite, but if your child can act like they love it, you may have a future star on your hands.
According to a spokesperson from Quaker, Life cereal is "on a quest to find the next face to include in an upcoming ad for its beloved cereal." More than 40 years ago, Life's iconic "Mikey Likes It" ad aired, showing a cute little boy (apparently a very picky eater) against all odds liking Life cereal.
To enter the contest, parents with kids between the ages of four and eight can visit five Walmart locations: Charlotte, Chicago, Dallas, Los Angeles, and Orlando for a live casting event. If you're not able to visit one of the events, you can enter a video of your child online.
The audition video should consist of your kid reading the script for the commercial, which will separate the ~true~ kid actors from the rest. The script is very simple, with just a few lines. The child starts by shaking his or her head, saying "I won't like it. I don't like anything." They object to trying the cereal, "look mad," and then oblige. The script ends with, "Mmmmmm, I like it! I really like it! I really like Life!"
Online entries will be accepted through April 27, 2019. Up to three kid finalists will be announced in May, and will receive a trip to L.A., for the chance to audition for the Life cereal ad. Good luck!
Maya McDowell Assistant Editor Maya McDowell is an Assistant Editor at HearstMade.
[Updated] Trix Cereal Changed Its Mascot And He Is TOO Cute
EXCLUSIVE: Lay's Next New Potato Chip Is ...
Sour Patch Kids Cereal Is Officially Happening
EXCLUSIVE: Hostess Made Dessert-Inspired Cereals
Sun-Maid Is Rolling Out Watermelon Raisins
People Are Adding Collagen To Their Coffee


Shipment of materials is performed only after collection. Business customers in France are charged to the professional price including VAT and professional customers abroad are charged professional prices HT.
The professional client may have knowledge of the professional prize from the moment where he registered on the website of Artipol and qu'Artipol sends a password after confirming the trade register number.
If the price is right professional to professional client and that he is willing to spend about 1000 € for supply costs, an appointment with our sales may be arranged directly at the point of sale of the business customer. Professional customer has the possibility to select jewelry that will be presented on site.
As part of a firm purchase Artipol guarantees exchangeability within the limit of 10% of our turnover. This is more than enough to not clutter the merchandise POS unsaleable.
Upon delivery of the goods, jewelry are already labeled: advising the public of VAT, size, reference and precious metal used are indicated.
When selling Artipol jewelry is made of point of sale, revenue is shared as follows: for [zaloguj_sie] 100 [/ zaloguj_sie] € of turnover achieved [zaloguj_sie] 60 [/ zaloguj_sie ] € HT is collected by Artipol.
The professional client must support itself all types of claims: refund, exchange etc.
Artipol supports the claims of last resort: the professional customer must report the trade Artipol during his visit to the point of sale.
Artipol does not support individual orders to meet the claims of individual customers (eg change of size of a ring), because the shipping cost is expensive.
As the individual customer has the opportunity to make a complaint in all shops selling jewelry Artipol, Artipol invites its business customers to process these claims (excluding repayments). The Artipol jewelry is recognizable by the punch of the company affixed to the jewel.


text:
WMN.CC
01.08.2019 World-Tour, News, Race news
Prudential Ride London
Recently crowned British road champion Alice Barnes will lead her CANYON//SRAM Racing teammates to Prudential Ride London on Saturday, 3rd August. The 24-year-old will line up with Tiffany Cromwell, Rotem Gafinovitz, Ella Harris, Christa Riffel and Alexis Ryan in the next Women's WorldTour race in central London.
The 3.4km circuit for the 2019 edition changes course direction for the first time in recent years. The start and finish remain in The Mall, but the peloton races clockwise around St James Park, faces a 180° turn on Constitution Hill and passes Buckingham Palace, before a 500m long straight sprint to the finish in The Mall. The 20-lap circuit race has a prize pool of €100,000 and with four intermediate sprints is set to be another enthralling edition.
"I am excited to race in the national stripes at home in the UK and to come into the race with good legs. As a team we are really looking at a podium and we have some cards to play for this," said Alice Barnes.
"There are a lot of things I enjoy about Prudential Ride London. To start with, the crowds are always amazing as we are racing in central London on a Saturday and everyone really gets behind us regardless if they were there to support us or not. I have a lot of family and friends in London so I love the chance to race in front of them. The television broadcast and the prize pot. All of these things give the race great exposure and showcases our racing style," added Alice Barnes.
Read what Alice's teammates have to say about racing Prudential Ride London.
Tiffany Cromwell
"For me personally the highlight of Ride London has to be simply the magnitude of the event in terms of set up and support and how they truly involve the community and the entire city. To have the opportunity to race on a circuit in the centre of London on a Saturday early evening, in front of such iconic landmarks as Buckingham Palace is pretty awesome."
"It's always a hard and fast race, typically made for sprinters, but I love coming to this race and feeling like our sport truly gets the recognition that it deserves when we race Prudential Ride London."
"My personal goal is to help the team to a podium performance. To be able to help in the all-important final lead out in support of one of our sprinters. I'm just coming off of a little break after a really big racing block. I'm fresh mentally, but perhaps physically not at my peak anymore. But I feel like the crowds will help lift me, I will have some of my good friends coming to watch. So I look forward to enjoying some hard racing with the team and helping us end up on the podium, hopefully the top step."
Ella Harris
"It's my first time at Prudential Ride London. I expect that the whole weekend is one for fans of cycling! I'm at the SRAM booth at the ExCel Centre on Friday, racing on Saturday, and then riding recovery laps with the Rapha crew on Sunday morning."
"The short circuit will be exciting and interesting to race on, and despite never having been to London before, I know the course very well thanks to Zwift! I'm looking forward to being in the UK again for the race spectators and atmosphere."
"Personally, I'd just like to feel good and comfortable during the race so that I'm able to contribute well to the team plan, and hopefully notice some improvements in fitness from BeNe Ladies after what was a big break in racing in the middle of the season."
Rotem Gafinovitz
"I absolutely LOVE this race! Racing in the heart of one of my favourite cities is AMAZING and I'm really excited to be back there on Saturday! I think we come there with a really strong team and we are capable to win the race together. We have a couple of different cards to play – that makes us unpredictable and dangerous. I'll be doing my best to make sure that the final sprint is the perfect result for us!"
Alexis Ryan
"The highlight of Prudential Ride London is racing down iconic city streets, with monuments on every corner, while thousands of fans create a deafening roar of applause. It doesn't get much better than that!"
"I'd love to have the opportunity to test my legs out in the final sprint against the best in the world. It's been a long time since that happened and I miss the feeling."
#TAKETHELEAD
© 2023 Lauke Pro Radsport GmbH


text:
package modifiers

import (
	"context"
	"database/sql"
	"log"
	"reflect"
	"testing"
	"time"

	"github.com/stretchr/testify/require"
)

// NOTES:
// - Run "go test" to run tests
// - Run "gocov test | gocov report" to report on test converage by file
// - Run "gocov test | gocov annotate -" to report on all code and functions, those ,marked with "MISS" were never called
//
// or
//
// -- may be a good idea to change to output path to somewherelike /tmp
// go test -coverprofile cover.out && go tool cover -html=cover.out -o cover.html
//

func TestEnumType(t *testing.T) {
	assert := require.New(t)

	type State string
	const START State = "start"
	state := State("START")

	conform := New()
	err := conform.Field(context.Background(), &state, "lcase")
	assert.NoError(err)
	assert.Equal(START, state)
}

func TestEmails(t *testing.T) {
	conform := New()

	email := "           Dean.Karn@gmail.com            "

	type Test struct {
		Email string `mod:"trim"`
	}

	tt := Test{Email: email}
	err := conform.Struct(context.Background(), &tt)
	if err != nil {
		log.Fatal(err)
	}
	if tt.Email != "Dean.Karn@gmail.com" {
		t.Fatalf("Unexpected value '%s'\n", tt.Email)
	}

	err = conform.Field(context.Background(), &email, "trim")
	if err != nil {
		log.Fatal(err)
	}
	if email != "Dean.Karn@gmail.com" {
		t.Fatalf("Unexpected value '%s'\n", tt.Email)
	}

	var iface interface{}
	err = conform.Field(context.Background(), &iface, "trim")
	if err != nil {
		log.Fatal(err)
	}
	if iface != nil {
		t.Fatalf("Unexpected value '%v'\n", nil)
	}

	iface = "    test     "
	err = conform.Field(context.Background(), &iface, "trim")
	if err != nil {
		log.Fatal(err)
	}
	if iface != "test" {
		t.Fatalf("Unexpected value '%s'\n", "test")
	}
}

func TestTrimLeft(t *testing.T) {
	conform := New()

	s := "#$%_test"
	expected := "test"

	type Test struct {
		String string `mod:"ltrim=#_$%"`
	}

	tt := Test{String: s}
	err := conform.Struct(context.Background(), &tt)
	if err != nil {
		log.Fatal(err)
	}
	if tt.String != expected {
		t.Fatalf("Unexpected value '%s'\n", tt.String)
	}

	err = conform.Field(context.Background(), &s, "ltrim=%_$#")
	if err != nil {
		log.Fatal(err)
	}
	if s != expected {
		t.Fatalf("Unexpected value '%s'\n", s)
	}

	var iface interface{}
	err = conform.Field(context.Background(), &iface, "ltrim=%_$#")
	if err != nil {
		log.Fatal(err)
	}
	if iface != nil {
		t.Fatalf("Unexpected value '%v'\n", nil)
	}

	iface = s
	err = conform.Field(context.Background(), &iface, "ltrim=%_$#")
	if err != nil {
		log.Fatal(err)
	}
	if iface != expected {
		t.Fatalf("Unexpected value '%v'\n", iface)
	}
}

func TestTrimRight(t *testing.T) {
	conform := New()

	s := "test#$%_"
	expected := "test"

	type Test struct {
		String string `mod:"rtrim=#_$%"`
	}

	tt := Test{String: s}
	err := conform.Struct(context.Background(), &tt)
	if err != nil {
		log.Fatal(err)
	}
	if tt.String != expected {
		t.Fatalf("Unexpected value '%s'\n", tt.String)
	}

	err = conform.Field(context.Background(), &s, "rtrim=#_$%")
	if err != nil {
		log.Fatal(err)
	}
	if s != expected {
		t.Fatalf("Unexpected value '%s'\n", s)
	}

	var iface interface{}
	err = conform.Field(context.Background(), &iface, "rtrim=#_$%")
	if err != nil {
		log.Fatal(err)
	}
	if iface != nil {
		t.Fatalf("Unexpected value '%v'\n", nil)
	}

	iface = s
	err = conform.Field(context.Background(), &iface, "rtrim=#_$%")
	if err != nil {
		log.Fatal(err)
	}
	if iface != expected {
		t.Fatalf("Unexpected value '%v'\n", iface)
	}
}

func TestTrimPrefix(t *testing.T) {
	conform := New()

	s := "pre-test"
	expected := "test"

	type Test struct {
		String string `mod:"tprefix=pre-"`
	}

	tt := Test{String: s}
	err := conform.Struct(context.Background(), &tt)
	if err != nil {
		log.Fatal(err)
	}
	if tt.String != expected {
		t.Fatalf("Unexpected value '%s'\n", tt.String)
	}

	err = conform.Field(context.Background(), &s, "tprefix=pre-")
	if err != nil {
		log.Fatal(err)
	}
	if s != expected {
		t.Fatalf("Unexpected value '%s'\n", s)
	}

	var iface interface{}
	err = conform.Field(context.Background(), &iface, "tprefix=pre-")
	if err != nil {
		log.Fatal(err)
	}
	if iface != nil {
		t.Fatalf("Unexpected value '%v'\n", nil)
	}

	iface = s
	err = conform.Field(context.Background(), &iface, "tprefix=pre-")
	if err != nil {
		log.Fatal(err)
	}
	if iface != expected {
		t.Fatalf("Unexpected value '%v'\n", iface)
	}
}

func TestTrimSuffix(t *testing.T) {
	conform := New()

	s := "test-suffix"
	expected := "test"

	type Test struct {
		String string `mod:"tsuffix=-suffix"`
	}

	tt := Test{String: s}
	err := conform.Struct(context.Background(), &tt)
	if err != nil {
		log.Fatal(err)
	}
	if tt.String != expected {
		t.Fatalf("Unexpected value '%s'\n", tt.String)
	}

	err = conform.Field(context.Background(), &s, "tsuffix=-suffix")
	if err != nil {
		log.Fatal(err)
	}
	if s != expected {
		t.Fatalf("Unexpected value '%s'\n", s)
	}

	var iface interface{}
	err = conform.Field(context.Background(), &iface, "tsuffix=-suffix")
	if err != nil {
		log.Fatal(err)
	}
	if iface != nil {
		t.Fatalf("Unexpected value '%v'\n", nil)
	}

	iface = s
	err = conform.Field(context.Background(), &iface, "tsuffix=-suffix")
	if err != nil {
		log.Fatal(err)
	}
	if iface != expected {
		t.Fatalf("Unexpected value '%v'\n", iface)
	}
}

func TestToLower(t *testing.T) {
	conform := New()

	s := "TEST"
	expected := "test"

	type Test struct {
		String string `mod:"lcase"`
	}

	tt := Test{String: s}
	err := conform.Struct(context.Background(), &tt)
	if err != nil {
		log.Fatal(err)
	}
	if tt.String != expected {
		t.Fatalf("Unexpected value '%s'\n", tt.String)
	}

	err = conform.Field(context.Background(), &s, "lcase")
	if err != nil {
		log.Fatal(err)
	}
	if s != expected {
		t.Fatalf("Unexpected value '%s'\n", s)
	}

	var iface interface{}
	err = conform.Field(context.Background(), &iface, "lcase")
	if err != nil {
		log.Fatal(err)
	}
	if iface != nil {
		t.Fatalf("Unexpected value '%v'\n", nil)
	}

	iface = s
	err = conform.Field(context.Background(), &iface, "lcase")
	if err != nil {
		log.Fatal(err)
	}
	if iface != expected {
		t.Fatalf("Unexpected value '%v'\n", iface)
	}
}

func TestToUpper(t *testing.T) {
	conform := New()

	s := "test"
	expected := "TEST"

	type Test struct {
		String string `mod:"ucase"`
	}

	tt := Test{String: s}
	err := conform.Struct(context.Background(), &tt)
	if err != nil {
		log.Fatal(err)
	}
	if tt.String != expected {
		t.Fatalf("Unexpected value '%s'\n", tt.String)
	}

	err = conform.Field(context.Background(), &s, "ucase")
	if err != nil {
		log.Fatal(err)
	}
	if s != expected {
		t.Fatalf("Unexpected value '%s'\n", s)
	}

	var iface interface{}
	err = conform.Field(context.Background(), &iface, "ucase")
	if err != nil {
		log.Fatal(err)
	}
	if iface != nil {
		t.Fatalf("Unexpected value '%v'\n", nil)
	}

	iface = s
	err = conform.Field(context.Background(), &iface, "ucase")
	if err != nil {
		log.Fatal(err)
	}
	if iface != expected {
		t.Fatalf("Unexpected value '%v'\n", iface)
	}
}

func TestSnakeCase(t *testing.T) {
	conform := New()

	s := "ThisIsSNAKEcase"
	expected := "this_is_snakecase"

	type Test struct {
		String string `mod:"snake"`
	}

	tt := Test{String: s}
	err := conform.Struct(context.Background(), &tt)
	if err != nil {
		log.Fatal(err)
	}
	if tt.String != expected {
		t.Fatalf("Unexpected value '%s'\n", tt.String)
	}

	err = conform.Field(context.Background(), &s, "snake")
	if err != nil {
		log.Fatal(err)
	}
	if s != expected {
		t.Fatalf("Unexpected value '%s'\n", s)
	}

	var iface interface{}
	err = conform.Field(context.Background(), &iface, "snake")
	if err != nil {
		log.Fatal(err)
	}
	if iface != nil {
		t.Fatalf("Unexpected value '%v'\n", nil)
	}

	iface = s
	err = conform.Field(context.Background(), &iface, "snake")
	if err != nil {
		log.Fatal(err)
	}
	if iface != expected {
		t.Fatalf("Unexpected value '%v'\n", iface)
	}
}

func TestTitleCase(t *testing.T) {
	conform := New()

	s := "this is a sentence"
	expected := "This Is A Sentence"

	type Test struct {
		String string `mod:"title"`
	}

	tt := Test{String: s}
	err := conform.Struct(context.Background(), &tt)
	if err != nil {
		log.Fatal(err)
	}
	if tt.String != expected {
		t.Fatalf("Unexpected value '%s'\n", tt.String)
	}

	err = conform.Field(context.Background(), &s, "title")
	if err != nil {
		log.Fatal(err)
	}
	if s != expected {
		t.Fatalf("Unexpected value '%s'\n", s)
	}

	var iface interface{}
	err = conform.Field(context.Background(), &iface, "title")
	if err != nil {
		log.Fatal(err)
	}
	if iface != nil {
		t.Fatalf("Unexpected value '%v'\n", nil)
	}

	iface = s
	err = conform.Field(context.Background(), &iface, "title")
	if err != nil {
		log.Fatal(err)
	}
	if iface != expected {
		t.Fatalf("Unexpected value '%v'\n", iface)
	}
}

func TestNameCase(t *testing.T) {
	conform := New()

	s := "3493€848Jo-$%£@Ann "
	expected := "Jo-Ann"

	type Test struct {
		String string `mod:"name"`
	}

	tt := Test{String: s}
	err := conform.Struct(context.Background(), &tt)
	if err != nil {
		log.Fatal(err)
	}
	if tt.String != expected {
		t.Fatalf("Unexpected value '%s'\n", tt.String)
	}

	err = conform.Field(context.Background(), &s, "name")
	if err != nil {
		log.Fatal(err)
	}
	if s != expected {
		t.Fatalf("Unexpected value '%s'\n", s)
	}

	var iface interface{}
	err = conform.Field(context.Background(), &iface, "name")
	if err != nil {
		log.Fatal(err)
	}
	if iface != nil {
		t.Fatalf("Unexpected value '%v'\n", nil)
	}

	iface = s
	err = conform.Field(context.Background(), &iface, "name")
	if err != nil {
		log.Fatal(err)
	}
	if iface != expected {
		t.Fatalf("Unexpected value '%v'\n", iface)
	}

	s = " ~~ The Dude ~~"
	expected = "The Dude"
	err = conform.Field(context.Background(), &s, "name")
	if err != nil {
		log.Fatal(err)
	}
	if s != expected {
		t.Fatalf("Unexpected value '%s'\n", s)
	}

	s = "**susan**"
	expected = "Susan"
	err = conform.Field(context.Background(), &s, "name")
	if err != nil {
		log.Fatal(err)
	}
	if s != expected {
		t.Fatalf("Unexpected value '%s'\n", s)
	}

	s = " hugh fearnley-whittingstall"
	expected = "Hugh Fearnley-Whittingstall"
	err = conform.Field(context.Background(), &s, "name")
	if err != nil {
		log.Fatal(err)
	}
	if s != expected {
		t.Fatalf("Unexpected value '%s'\n", s)
	}
}

func TestUCFirstCase(t *testing.T) {
	conform := New()

	s := "this is uc first case"
	expected := "This is uc first case"

	type Test struct {
		String string `mod:"ucfirst"`
	}

	tt := Test{String: s}
	err := conform.Struct(context.Background(), &tt)
	if err != nil {
		log.Fatal(err)
	}
	if tt.String != expected {
		t.Fatalf("Unexpected value '%s'\n", tt.String)
	}

	err = conform.Field(context.Background(), &s, "ucfirst")
	if err != nil {
		log.Fatal(err)
	}
	if s != expected {
		t.Fatalf("Unexpected value '%s'\n", s)
	}

	var iface interface{}
	err = conform.Field(context.Background(), &iface, "ucfirst")
	if err != nil {
		log.Fatal(err)
	}
	if iface != nil {
		t.Fatalf("Unexpected value '%v'\n", nil)
	}

	iface = s
	err = conform.Field(context.Background(), &iface, "ucfirst")
	if err != nil {
		log.Fatal(err)
	}
	if iface != expected {
		t.Fatalf("Unexpected value '%v'\n", iface)
	}

	s = ""
	expected = ""
	err = conform.Field(context.Background(), &s, "ucfirst")
	if err != nil {
		log.Fatal(err)
	}
	if s != expected {
		t.Fatalf("Unexpected value '%s'\n", s)
	}
}

func TestNumCase(t *testing.T) {
	conform := New()

	s := "the price is €30,38"
	expected := "3038"

	type Test struct {
		String string `mod:"strip_alpha"`
	}

	tt := Test{String: s}
	err := conform.Struct(context.Background(), &tt)
	if err != nil {
		log.Fatal(err)
	}
	if tt.String != expected {
		t.Fatalf("Unexpected value '%s'\n", tt.String)
	}

	err = conform.Field(context.Background(), &s, "strip_alpha")
	if err != nil {
		log.Fatal(err)
	}
	if s != expected {
		t.Fatalf("Unexpected value '%s'\n", s)
	}

	var iface interface{}
	err = conform.Field(context.Background(), &iface, "strip_alpha")
	if err != nil {
		log.Fatal(err)
	}
	if iface != nil {
		t.Fatalf("Unexpected value '%v'\n", nil)
	}

	iface = s

	err = conform.Field(context.Background(), &iface, "strip_alpha")
	if err != nil {
		log.Fatal(err)
	}
	if iface != expected {
		t.Fatalf("Unexpected value '%v'\n", iface)
	}
}

func TestNotNumCase(t *testing.T) {
	conform := New()

	s := "39472349D34a34v69e8932747"
	expected := "Dave"

	type Test struct {
		String string `mod:"strip_num"`
	}

	tt := Test{String: s}
	err := conform.Struct(context.Background(), &tt)
	if err != nil {
		log.Fatal(err)
	}
	if tt.String != expected {
		t.Fatalf("Unexpected value '%s'\n", tt.String)
	}

	err = conform.Field(context.Background(), &s, "strip_num")
	if err != nil {
		log.Fatal(err)
	}
	if s != expected {
		t.Fatalf("Unexpected value '%s'\n", s)
	}

	var iface interface{}
	err = conform.Field(context.Background(), &iface, "strip_num")
	if err != nil {
		log.Fatal(err)
	}
	if iface != nil {
		t.Fatalf("Unexpected value '%v'\n", nil)
	}

	iface = s
	err = conform.Field(context.Background(), &iface, "strip_num")
	if err != nil {
		log.Fatal(err)
	}
	if iface != expected {
		t.Fatalf("Unexpected value '%v'\n", iface)
	}
}

func TestAlphaCase(t *testing.T) {
	conform := New()

	s := "!@£$%^&'()Hello 1234567890 World+[];\\"
	expected := "HelloWorld"

	type Test struct {
		String string `mod:"strip_num_unicode"`
	}

	tt := Test{String: s}
	err := conform.Struct(context.Background(), &tt)
	if err != nil {
		log.Fatal(err)
	}
	if tt.String != expected {
		t.Fatalf("Unexpected value '%s'\n", tt.String)
	}

	err = conform.Field(context.Background(), &s, "strip_num_unicode")
	if err != nil {
		log.Fatal(err)
	}
	if s != expected {
		t.Fatalf("Unexpected value '%s'\n", s)
	}

	var iface interface{}
	err = conform.Field(context.Background(), &iface, "strip_num_unicode")
	if err != nil {
		log.Fatal(err)
	}
	if iface != nil {
		t.Fatalf("Unexpected value '%v'\n", nil)
	}

	iface = s
	err = conform.Field(context.Background(), &iface, "strip_num_unicode")
	if err != nil {
		log.Fatal(err)
	}
	if iface != expected {
		t.Fatalf("Unexpected value '%v'\n", iface)
	}
}

func TestNotAlphaCase(t *testing.T) {
	conform := New()

	s := "Everything's here but the letters!"
	expected := "'    !"

	type Test struct {
		String string `mod:"strip_alpha_unicode"`
	}

	tt := Test{String: s}
	err := conform.Struct(context.Background(), &tt)
	if err != nil {
		log.Fatal(err)
	}
	if tt.String != expected {
		t.Fatalf("Unexpected value '%s'\n", tt.String)
	}

	err = conform.Field(context.Background(), &s, "strip_alpha_unicode")
	if err != nil {
		log.Fatal(err)
	}
	if s != expected {
		t.Fatalf("Unexpected value '%s'\n", s)
	}

	var iface interface{}
	err = conform.Field(context.Background(), &iface, "strip_alpha_unicode")
	if err != nil {
		log.Fatal(err)
	}
	if iface != nil {
		t.Fatalf("Unexpected value '%v'\n", nil)
	}

	iface = s
	err = conform.Field(context.Background(), &iface, "strip_alpha_unicode")
	if err != nil {
		log.Fatal(err)
	}
	if iface != expected {
		t.Fatalf("Unexpected value '%v'\n", iface)
	}
}

func TestPunctuation(t *testing.T) {
	conform := New()

	s := "# M5W-1E6!!!"
	expected := " M5W1E6"

	type Test struct {
		String string `mod:"strip_punctuation"`
	}

	tt := Test{String: s}
	err := conform.Struct(context.Background(), &tt)
	if err != nil {
		log.Fatal(err)
	}
	if tt.String != expected {
		t.Fatalf("Unexpected value '%s'\n", tt.String)
	}

	err = conform.Field(context.Background(), &s, "strip_punctuation")
	if err != nil {
		log.Fatal(err)
	}
	if s != expected {
		t.Fatalf("Unexpected value '%s'\n", s)
	}

	var iface interface{}
	err = conform.Field(context.Background(), &iface, "strip_punctuation")
	if err != nil {
		log.Fatal(err)
	}
	if iface != nil {
		t.Fatalf("Unexpected value '%v'\n", nil)
	}

	iface = s
	err = conform.Field(context.Background(), &iface, "strip_punctuation")
	if err != nil {
		log.Fatal(err)
	}
	if iface != expected {
		t.Fatalf("Unexpected value '%v'\n", iface)
	}
}

func TestCamelCase(t *testing.T) {
	conform := New()

	s := "this_is_snakecase"
	expected := "thisIsSnakecase"

	type Test struct {
		String string `mod:"camel"`
	}

	tt := Test{String: s}
	err := conform.Struct(context.Background(), &tt)
	if err != nil {
		log.Fatal(err)
	}
	if tt.String != expected {
		t.Fatalf("Unexpected value '%s'\n", tt.String)
	}

	err = conform.Field(context.Background(), &s, "camel")
	if err != nil {
		log.Fatal(err)
	}
	if s != expected {
		t.Fatalf("Unexpected value '%s'\n", s)
	}

	var iface interface{}
	err = conform.Field(context.Background(), &iface, "camel")
	if err != nil {
		log.Fatal(err)
	}
	if iface != nil {
		t.Fatalf("Unexpected value '%v'\n", nil)
	}

	iface = s
	err = conform.Field(context.Background(), &iface, "camel")
	if err != nil {
		log.Fatal(err)
	}
	if iface != expected {
		t.Fatalf("Unexpected value '%v'\n", iface)
	}
}

func TestString(t *testing.T) {
	assert := require.New(t)
	conform := New()

	conform.RegisterInterceptor(func(current reflect.Value) (inner reflect.Value) {
		current.FieldByName("Valid").SetBool(true)
		return current.FieldByName("String")
	}, sql.NullString{})

	tests := []struct {
		name        string
		field       interface{}
		tags        string
		expected    interface{}
		expectError bool
	}{
		{
			name:     "test Camel Case",
			field:    "this_is_snakecase",
			tags:     "camel",
			expected: "thisIsSnakecase",
		},
		{
			name: "test Camel Case struct",
			field: struct {
				String string `mod:"camel"`
			}{String: "this_is_snakecase"},
			tags: "camel",
			expected: struct {
				String string `mod:"camel"`
			}{String: "thisIsSnakecase"},
		},
		{
			name:     "sql.nullString lcase",
			field:    sql.NullString{String: "UPPERCASE", Valid: true},
			tags:     "lcase",
			expected: sql.NullString{String: "uppercase", Valid: true},
		},
	}

	for _, tc := range tests {
		tc := tc
		t.Run(tc.name, func(t *testing.T) {
			t.Parallel()
			var err error

			input := reflect.ValueOf(tc.field)
			if !input.CanAddr() {
				// create NEW addressable pointer to struct and assign the old unadressable one.
				// sort fo like:
				//
				// var newStruct *oldstructdef
				// *newStruct = *&oldStruct
				//
				newVal := reflect.New(input.Type())
				newVal.Elem().Set(input)
				tc.field = newVal.Interface()
			}

			if reflect.ValueOf(tc.field).Kind() == reflect.Struct && !excludedStructs[reflect.TypeOf(tc.field)] {
				err = conform.Struct(context.Background(), &tc.field)
			} else {
				err = conform.Field(context.Background(), &tc.field, tc.tags)
			}

			if tc.expectError {
				assert.Error(err)
				return
			}
			assert.NoError(err)
			assert.Equal(tc.expected, reflect.Indirect(reflect.ValueOf(tc.field)).Interface())
		})
	}
}

var (
	excludedStructs = map[reflect.Type]bool{
		reflect.TypeOf(time.Time{}):      true,
		reflect.TypeOf(sql.NullString{}): true,
	}
)

redpajama_set_name: RedPajamaGithub


The DotGNU project has proudly announced its first CD-ROM release.You can now compile and run C# and C applications that use the base class libraries, XML, and System.Windows.Forms under multiple operating systems. Webservice programs can be executed in a webservice server on top of a highly scalable distributed middleware, and they can be integrated with a web-based GroupWare suite.
The CD-ROM includes documentation, full source code, and packages for GNU/Linux, FreeBSD, Mac OS X, and MS Windows. You can get the gzip'ed ISO image (219 MB) as a BitTorrent download, or purchase the CD from CheapBytes.
Newsforge also carries the announcement.
not that Mono is bad or anything, but all mono can do is some C# stuff…dotGNU has all the infrastructure built. to bad the Mono guys did not want to work with dotGNU in the beginning ( I was involved with that communication for awhile on the dotGNU side). Portable.net is a nice solution though.
Wow, that is huge. Is that number accurate?
In any case, I periodically cvs update DotGNU and mono and both are making good progress(too bad they couldn't collaborate more though). DotGNU's winforms implementation is interesting because it only relies on System.Drawing instead of Wine which Mono's implemention currently relies on. DotGNU Winforms binaries will run unmodified on windows but not vice versa.
Another interesting development with DotGNU is the ability to compile c code to IL. I'm not sure how useful this is at the momement because they'll still need to get glibc compiled to IL and even then I don't know the exact usefullness of it.
@debman – Yeah, it's too bad there couldn't have been more cooperation.
One cool thing about portable.net is that the compiler is written in c unlike mono which is written in c#, so there is no bootstrap problems on portable.net and the compiler is faster and doesn't have a huge footprint. Also, Rhys has a lot of #ifdef'd code so that scaling down the runtime to fit on embeddeds should be easier.
yes, the size of the iso image is correct.
Besides the source tarballs for portable .net and some other tools part of the DotGNU effort ( phpgroupware, DGEE etc.) it also contains binary packages for many different linux distributions and also for win32.
it's really worth a download, even if you don't plan on actively using it, if you are just a little bit interested, give it a go.
in my last comment I meant "the compiler design of portable .net using treecc".
btw. it also contains articles about free software/business in general.
I don't really know much about DotGNU, but I am wondering if it will work with the GTK# (gtk-sharp)? Just had to ask, because the Mono will never work on FreeBSD 5.x and I hope the DotGNU will.
Try to use 'mint' instead of mono.
It may work. Have not tried it. But the mint program is an interpreted version. Wich were made to be used where the mono could not be ported to fast. Mint is a interpreter, so you wont get the just-in-time things I think. It is slower than mono too.
up on such existing libraries instead of going and re-inventing the wheel *again*..
Though I should say … it does allow you to use all C# static methods .. from C or to write functions accessible from C in C# (to use .NET specific junk).
So, we have Mono and dotGNU/pnet..
Anyone have a comparison of those?


Whether you require a complete library or just a couple of bookshelves, we are able to produce these to suit your requirements. The units can be timber or painted in a colour to match or contrast with you your décor.
The shelves can be fixed or adjustable and the units can incorporate cupboards and display areas with appropriate lighting.
To view varying examples of bookcases click on the small images to the right.


Taking charge of energy bills is an all-year consideration. A whole-house approach to system efficiency is worth the effort and takes a comprehensive look at your energy use. But you and your family can take simple steps to lower the energy bills in your Cincinnati home.
Program your thermostat to save you money. A programmable thermostat not only helps to keep your home at the most comfortable temperature for any time of day, it also offers you a tool to keep your energy bills low. Understanding how programmable thermostats work, and utilizing a schedule, can bring your bills way down.
Use caulk to seal leaks in your home. Heated or cool air can escape your home, and air from outside can slip in. Preventing that exchange means your system runs less. Seal places where electrical wires or plumbing come into your home. You should also inspect recessed lighting niches, windows, attics and crawlspaces.
Replace your light bulbs with LED or CFL bulbs. LED and compact fluorescent lights (CFL) cost more at the outset, but will pay for themselves in lifespan and energy savings. Both come in many styles, so you can find the perfect bulb for whatever fixtures you have.
Reduce the temperature on your water heater. Many water heaters come set at 140 degrees. Dropping the temperature to 120 degrees can add up to significant savings. If your hot water heater and piping are older, consider wrapping them in insulation to prevent heat loss.
Work with an HVAC contractor for more savings. A heating and cooling professional can offer you help in taking charge of energy bills. Technicians can inspect ductwork for obstructions which force your system to work harder, and test this unseen part of your system for leaks. Yearly maintenance keeps your heating and cooling systems in top shape, such as a furnace evaluation. Efficient systems conserve energy, and save money, too.
If you have questions about how you can tune up your HVAC system for energy savings, or other home comfort needs, contact Apollo Home Heating, Cooling, and Plumbing today. We proudly serve the greater Cincinnati area.


text:
"Not Mine" Automobiles For Sale
Automobiles and Parts - Buy/Sell
1955 Ford, not mine.
By Xander Wildeisen
February 22, 2021 in "Not Mine" Automobiles For Sale
https://www.facebook.com/marketplace/item/635543507338659/?ref=search&referral_code=undefined
TerryB
Location: Lancaster County PA
Good looking car with a lot of work done. Ad shows it's been listed for a while which seems surprising for such a clean car.
kingrudy
Location: Asheville, NC
Other Clubs: BCA
Very handsome car. I have been a fan of these for a long time. Ad doesn't say if this has been converted to 12 volt from 6. This would bother some people, but not me. 1956 was the first year of 12 volt for Fords.
Other Clubs: Early Ford V8, Buick Club of America, Pontiac Owners Club Int.
a beauty!!!
suchan
Location: Bremerton WA
Sharp. I inherited a '55 Victoria HT from an uncle, V8 with manual/overdrive. Great-looking cars, and I think undervalued.
Upholstery isn't anything like original, but tasteful.
Asking price is a good basis for negotiation.
1957Birdman
The air cleaner is also not original, indicating that the carburetor might not be the original Holley "teapot" that was delivered with the car. That is not necessarily a problem as long as the carburetor is paired correctly with the distributor. If not there could be some drivability problems.
Still a very nice car.
Lew Bachman
1957 Thunderbird
JamesR
When these cars are done up well, there's almost no full size vehicle from the mid fifties that's prettier. I love the colors on this car. Thanks for posting


Global Social Chain (GSC) is a cryptocurrency token and operates on the Ethereum platform. Global Social Chain has a current supply of 1,000,000,000 GSC with 538,103,863 GSC in circulation. The last known price of Global Social Chain is 0.007636 USD and is down 0.32% over the last 24 hours. It is currently trading on 5 active market(s) with 252,671 USD traded over the last 24 hours. More information can be found at https://www.gsc.social.


text:
Раевские () — деревня в Козенском сельсовете Мозырского района Гомельской области Республики Беларусь.

Около деревни месторождение каменной соли (более 600 млн т).

География

Расположение
В 6 км на юг от Мозыря, 7 км от железнодорожной станции Козенки (на линии Калинковичи — Овруч), 140 км от Гомеля.

Транспортная сеть
Транспортные связи по просёлочной, затем автодорогам, которые отходят от Мозыря. Планировка состоит из короткой прямолинейной улицы, ориентированной с юго-запада на северо-восток и застроенной деревянными крестьянскими усадьбами.

История
По письменным источникам известна с начала XVIII века как село в Мозырском уезде Минской губернии. Обозначена на карте Минского воеводства 1800 года. В 1879 году село в Мозырском церковном приходе. В 1930 году организован колхоз «XIII Октябрь», работала кузница. Действовала начальная школа (в 1935 году 39 учеников). Во время Великой Отечественной войны 11 января 1944 года освобождена от немецкой оккупации. 23 жителя погибли на фронте. Согласно переписи 1959 года в составе колхоза имени М.И. Калинина (центр — деревня Бобренята), работал клуб.

Население

Численность
 2004 год — 18 хозяйств, 33 жителя.

Динамика
 1897 год — 15 дворов 108 жителей (согласно переписи).
 1925 год — 31 двор.
 1959 год — 147 жителей (согласно переписи).
 2004 год — 18 хозяйств, 33 жителя.

Известные уроженцы
 И. М. Дикан — генерал-майор, командир и комиссар 10-й Журавичской партизанской бригады.

См. также
 Городские посёлки Белоруссии
 Города Белоруссии

Примечания

Литература
 Гарады і вёскі Беларусі: Энцыклапедыя. Т.2, кн.2. Гомельская вобласць/С. В. Марцэлеў; Рэдкалегія: Г. П. Пашкоў (галоўны рэдактар) і інш. — Мн.: БелЭн, 2005. 520с.: іл. Тыраж 4000 экз. ISBN 985-11-0330-6 ISBN 985-11-0302-0

Ссылки

Населённые пункты Мозырского района


We live in a world where almost everything works or runs on electricity. Galvanized pipes and earthing flats play an important role in the process of earthing. Earthing if not done properly can expose us to various risks. Without proper earthing property and life could be at great risk.
To ensure that the process of earthing happens correctly, the earthing materials used becomes critical. We at Indana Steel are manufacturers and suppliers of high quality galvanized earthing pipes and earthing flats. In this blog we will explain to you the need of good quality earthing pipes or earthing flats and what you need to ensure while selecting them for your project.
Why an earthing system is so critical?
Even though you may have the all the right electrical equipment, wires and sockets, earthing becomes necessary. This becomes necessary because, it makes the building electric shock free. At the same time it brings about voltage stabilization and over voltage protection.
Galvanized earthing Pipes & Flats grounding electrodes or Strips are usually made from Mild Steel .Sometimes even copper or some other alloys are also used for the same purpose.
One of the important points for such pipes or fits to ensure the right earthing is to have low resistance to electricity. This will allow smooth electricity discharge.
They also must be corrosion resistant. The reason for the same is that this would make them more cost effective.
Pipe earthing is a commonly used of earthing system in India. Under pipe earthing the earthing GI pipes and strips buried vertically into permanent and wet the soil. The length and diameter of such pipes depends on the condition of the soil into which these GI pipes are to be buried. It also depends on the amount of electricity which is to pass through.
For normal usage GI Pipe (C-Class of Size 75 Mm in Diameter & 10 Feet in length is used. These pipes are then further wielded With 75 Mm Diameter GI Flange having 6 numbers of holes. So these need to be considered for the entire process of earthing.
indanasteel is using Hatena Blog. Would you like to try it too?


text:
JCPSP
Journal of the College of Physicians and Surgeons Pakistan
Index Medicus / MEDLINE (USA)
EMBASE / Excerpta Medica, SciVerse Scopus (The Netherlands)
Impact Factor : Clarivate Analytics (USA)
→ Submit Your Manuscript
Impact Factor 0.711 5 Year Impact Factor 0.735
About JCPSP
E-PUB Ahead
Guidelines Qualitative Studies
Short Communication September 2021
Adoption of Digital Pathology in Developing Countries: From Benefits to Challenges
By Talat Zehra1, Asma Shabbir1
Department of Pathology, Jinnah Sindh Medical University, Karachi, Pakistan
Digital pathology and the use of artificial intelligence constitute undisputedly the future of modern pathology. The outcomes and benefits of the whole slide imaging are beyond the scope of traditional microscopy, which the pathologists were using for decades. COVID-19 pandemic has further highlighted the importance of digital pathology as it offers the pathologists to work from their place of comfort and bridges the gap of physical barriers. In addition to the many advantages, there are certain limitations and challenges, which have to be overcomed particularly in the developing world. The major issue is the cost of scanners and technical support and training of staff. However, despite all these problems and challenges that exist, these can be resolved with the passage of time, where the role of world leader organisations will be of great importance in resolving these challenges.
Key Words: Digital pathology, Artificial intelligence, Whole slide imaging.
Virtual images or digital slides are nowadays widely used by pathologists all over the world for knowledge sharing, consultation and research purpose by using microscope connected cameras and also from mobile cameras.1 The advent of whole slide imaging (WSI) about two decades ago has provided the opportunity for pathologists to convert digitally the entire glass slides into digital or virtual slides, which gives the pathologist an opportunity to view the entire tissue section of slide in one go, which was perhaps a dream of a pathologist.1 In the last 20 years, the world has witnessed an exponential development and adoption of digital pathology (DP) techniques in various disciplines of pathology.
Integration of artificial intelligence (AI) and machine learning (ML) algorithms has further transformed the conventional norms of pathology practice, and opened a new horizon of computer-assisted diagnosis (CAD). The world observed an increasing adoption of telemedicine and telepathology. As the world grapples with the COVID-19 pandemic, increasing use of telepathology in times of lockdown, has kept the people connected and safe. Here, we briefly address the challenges of adoption of DP in developing countries including Pakistan; and discuss some solutions to overcome these challenges.
The dawn of DP has, beyond any doubt, transformed the decades-old conventional pathology practice of pathologists. The promises and results of DP are far beyond the scope of traditional microscopy. The first use of WSI was in telepathology, which allowed a pathologist to work and give consultation from any part of the world on a single click, thus reducing time and money and also the suffering of patients, who have to wait for long time for diagnosis, which is integral for their further management and treatment. This issue is more pressing in developing part of the world like Pakistan, where, there is scarcity of expert pathologists who generally prefer to live in big cities; but the bulk of population lives in scattered rural areas, where people not only suffer from malignancy and seek pathologists' opinion but also from endemic diseases; for example, tuberculosis (both pulmonary and extra-pulmonary), cutaneous leishmaniasis, malaria, typhoid etc. The role of pathologists is integral in diagnosis of these diseases. All of these endemic diseases are completely curable, but late diagnosis results in increased mortality and morbidity.
A large number of studies have validated the use of digital images for second opinion in challenging cases of surgical pathology and cytopathology with the American Telemedicine Association suggested guidelines for the adoption of telepathology.2,3 The United States' Food and Drug Administration (FDA) approved in 2017 the first use of WSI for primary diagnosis in surgical pathology.4
The continuous and increasing requirement of physical space for storage of glass slides can also be tackled with WSI and creation of digital slides, which can store the slides for indefinite time and also can maintain their quality. WSI offers an equal prospect of standardisation of pathology education across the countries, particularly in developing nations, with the same slides viewed by all trainees and pathologists regardless of their geographical boundaries. WSI also permits the specialists to conduct training in interpretation of immunohistochemistry or electron microscopy and frozen section to pathology residents in distant areas having partial or no exposure to these particular fields, thus giving them equal opportunity for learning. The WSI images can be marked and connected with relevant clinical and/or radiological data, so as to offer a comprehensive view of the diagnostic approach to the clinicians.5 WSI has also removed the need of having huge class rooms with numerous light microscopes for the residents and consultants.5
Digital slides are nowadays widely used in pathology conferences and seminars to endorse collaborative learning; and offer comfort of visualisation of many images with different stains and markers in combination with clinical information. Last, but not the least, use of AI-based medical image analysis softwares have further made the work of pathologists more standardised by accurately measuring, quantifying and even picking up the small pathological lesions, which might be missed by pathologists. We did a few pilot projects by using AI software Aiforia Oy, and got appreciable number of positive results. In one of our studies, the software detected blast cells on previously diagnosed cases of chronic lymphocytic leukemia (CLL). The slides were made digital at 40× and trained the software to annotate the blast cells as green circles and red blood cells (RBCs) as red small circles (Figures 1 and 2). After giving 1000 iteration to software, it was analysed for the results. The software was able to identify the number of blast cells and RBCs in the slide.
Figure 1: Blast cells in peripheral film at 40×. (Arrows).
Figure 2: The software was trained to annotate blast cells as green circles and red blood cells (RBCs) as red circles. When the slide was analysed for results, it diagnosed almost all the blast cells except few of them. The software was also able to identify the number of blast cells and RBCs. (Arrow).
Despite all aforementioned advantages, still, it is prudent to recognise the several unresolved concerns related to WSI. It is also essential to know the obstacles one might face in using WSIs in clinical practice across the globe, particularly in developing countries and low resource organisations.
The primary burden of obtaining, application, and working prices of WSI scanners may be unaffordable, especially for developing nations and low-resource settings. Additional obligatory unseen charges of teaching of staff and pathologists, slide storage systems, and supervisory costs are also to be considered.6
A big limitation with currently available scanners is the requirement of enormous data storage capability, principally if one is viewing at 40×. Many professional companies now provide the cloud facility on economical price, which may be able to solve this issue. Beside this, to circumvent the need of scanners which are very expensive, some cheaper solutions are also available, like stitching softwares, which take a bit longer time to scan the whole slide but can be very helpful for second and third opinion, education and research purposes.
Though United States FDA has rendered its endorsement for use of WSI in surgical pathology cases, the other sub-specialties of pathology still have a long way to go to achieve this objective.
In conclusion, WSI and AI are at our doorsteps and their adoption is now inevitable. Use of these technologies could transform the thought processes of pathologists working in developing part of the world, which contains the bulk of world disease; but is less equipped with diagnostic modalities, particularly the novel ones. Adoption of these novel methods will change the field of pathology into a highly revolutionised field, in which the role of pathologists will not be of reactionary type but they can also work on preventive health by making disease models and predict disease trends through data sciences resulting in advancement of therapeutic management of patients and personalised medicine.
It was a pilot study conducted on previously diagnosed cases of acute leukemia, thus the slides were taken from the archives. We carried out on a small number of slides.
PATIENT'S CONSENT:
As we did not use any of the patient's personal data, so patient consent is not required.
CONFLICT OF INTEREST:
AUTHORS' CONTRIBUTION:
TZ: Conceived the idea, collaborated with a software organisation, did annotation and training of cases and draft writing.
AS: Worked in draft writing, corrected the grammatical mistakes, rephrased the references and helped in analysing the results of study.
Both the authors proofread the article and approved it.
Wright AM, Smith D, Dhurandhar B, Fairley T, Scheiber-Pacht M, Chakraborty S, et al. Digital slide imaging in cervicovaginal cytology: A pilot study. Arch Pathol Lab Med 137(5):618-24, 2013. doi.org/10.5858/arpa.2012-0430-OA.
Rodriguez-Urrego PA, Cronin AM, Al-Ahmadie HA, Gopalan A, Tickoo SK, Reuter VE, et al. Interobserver and intraobserver reproducibility in digital and routine microscopic assessment of prostate needle biopsies. Hum Pathol 2011; 42(1):68-74. doi.org/10.1016/j.humpath. 2010.07.001.
Evans AJ, Krupinski EA, Weinstein RS, Pantanowitz L. 2014 American telemedicine association clinical guidelines for telepathology: Another important step in support of increased adoption of telepathology for patient care. J Pathol Inform 2015; 6:13. doi: 10.4103/2153-3539.153906.
Evans AJ, Bauer TW, Bui MM, Cornish TC, Duncan H, Glassy EF, et al. US food and drug administration approval of whole slide imaging for primary diagnosis: A key milestone is reached and new questions are raised. Arch Pathol Lab Med 2018; 142(11):1383-7. doi: 10.5858/arpa.2017-0496-CP.
Mubarak M. From digital to computational pathology and integrated diagnostics: The future of histopathology. J Coll Phys Surg Pak 2021; 31(1):2-3. doi: 10.29271/jcpsp.2021. 01.2.
Volynskaya Z, Evans AJ, Asa SL. Clinical applications of whole-slide imaging in anatomic pathology. Adv Anat Pathol 2017; 24(4):215-21. doi: 10.1097/PAP.000000000 0000153.
JCPSP Latest Articles
JCPSP Search
CPSP Website
Processing of Manuscript
Journal of the College of Physicians & Surgeons Pakistan
Copyright © 2015 - 2019 College of Physicians & Surgeons Pakistan. All Rights Reserved.
Your use of this website is subject to, and constitutes acknowledgement and acceptance of our Terms & Conditions.


WELCOME TO THE MATRIX OF PROP COLLECTING! PROPDOMAIN's Sixty SIXTH Awesome Auction! From SCREEN USED HORROR, SCI/FI PROPS used in STAR WARS, STAR TREK, STARGATE, SUPERMAN, SPIDER-MAN, AND CHUCKY, to OOAK costumes & body parts for your Haunt or Indy film! From Screen Used Props anyone can afford, to Screen Matched ICONS anyone would be proud to display as a center piece in your keeper collection.
This is a large piece of THE NOSTROMO from ALIEN! Now, before you go reminding me that it is still intact, and was recently restored, check this out!
These lots of 10 are the last of the GRANT MCCUNE ARCHIVE. What you see is what you get!
19 - CURSE OF CHUCKY GOOD GUY PUPPET FROM SUPER BOWL RADIO SHACK COMMERCIAL COMPLETE WITH WARDROBE!
This is a very cool miniature crane seen in DEEP STAR SIX! It is made of metal to be able to bend.
27 - DRACULA FRIGHT NIGHT VAMPIRE BAT SILICONE SEVERED HEAD DEATH SCENE OF UNKNOWN ORIGIN?
This the prototype of the staff weapon used in the new FINAL FANTASY video game. It may have also been used in promotion.
FINAL FANTASY UNUSED EXTRA POWER RING. These are unpainted in the black with no stone, but electroplated in real gold!
NARNIA SCREEN USED DWARF HELMET. Real leather and urethane.
41 - PIRATES OF THE CARIBBEAN HUGE HORDE OF SCREEN USED TREASURE COINS 700-800 COUNT!


Today's Karate Worms PSA was brought to you by Chris Hallbeck, of Book of Biff and Maximumble! Fact: Chris managed to get his guest strip done and sent to me despite having no power in his house right now. Thank you, Chris! You are... a Hero.
We have one last guest strip in the queue, and man, it's a doozy. Tune in tomorrow for one of the strangest and most epic Sam and Fuzzy guest strips ever crafted.


Chicken Salad Chick, a fast-casual restaurant with locations on Augusta Street and Pelham Road, will be opening its third Greenville location in spring 2016.
The new 2,600-square-foot location will be on Garlington Road at the Woodruff Road intersection, directly in front of the Entercom radio station complex.
The Auburn, Ala.-based restaurant has been rapidly expanding throughout the Southeast and features a "custom-fit" chicken salad experience, with 15 original flavors to choose from, as well as gourmet soups, side salads and freshly baked desserts.
Franchise owners Michelle Singleton and Julie Beville of Sing Bev Hospitality LLC own the two existing Greenville locations along with restaurants in Summerville, Lexington and Columbia, S.C., and two in Charlotte, N.C. The partners have purchased the rights to 18 other locations throughout the Carolinas and North Georgia.
The Woodruff Road location will feature a drive-thru similar to the Pelham Road location.


text:
China's economy grows 2.3% in 2020 as recovery quickens
Good night and good luck
Parler CEO 'confident' platform will return by month's end after weekend of positive developments
What we know so far about armed man arrested at an inauguration security checkpoint
House probes security and intelligence failures in deadly U.S. Capitol attack
PG: 'Back with vengeance' after playoff woes
How This Teen Yoga Instructor Became An Entrepreneur, Philanthropist And An Inspiration
Australia v India: fourth Test, day three – live!
ICYMI: More gadget highlights from CES 2021
CES 2021: The Laptops You'll Want To Buy This Year
The Best Apple iPhone Deals for January 2021 | Digital Trends
Report: Apple is building foldable iPhone prototypes
Hackers used 4 zero-days to infect Windows and Android devices
Here's how the Galaxy S21 stacks up against the iPhone 12
Children apologize to their dying elders for spreading COVID-19 as L.A. County reels
Telegram's popularity soaring after Capitol riots: What to know
SpaceX's Cargo Dragon spacecraft is on its way back to Earth, set to splashdown off Florida
UFC 257 McGregor vs. Poirier: Press conference, start time, how to watch and full fight card
This year, you can go to Sundance (from home). Here's how
Another armed man has been arrested at a DC security checkpoint
Phil Spector, record producer and convicted killer dead at 81
Why 'One Night in Miami' ends with Sam Cooke singing on TV
Sea shanties are your soundtrack of 2021. Seriously
Justice Department leaves decades-old music industry decrees unchanged
Feds Arrest Zip-Tie Mom, Far-Right Streamer 'Baked Alaska'
Merkel's party picks another centrist as its leader — and maybe Germany's future chancellor
We wanted to know how couples are faring under COVID-19. These are their love tales
Horoscope for Monday, Jan. 18, 2021
Why Now's The Time To Think About Your Legacy
Revolutionary step forward in global sustainable food tech | Australian Food News
L.A. Affairs: What the guy at the deli counter taught me about love
Tapping Into Health To Excel In Business
Syroco vs SP80: The race to create the world's fastest sail boat
Must Read: Tessa Thompson Covers 'Town & Country', Zimmerman Apologizes for Cultural Appropriation
Strengthening the Food Supply Chain Through Transparency and Traceability: Q&A with Infor's Marcel Koks – Food Industry Executive
'Ratatouille: The TikTok Musical' aims to cook up first-of-its kind fun
On Friday, Moss will debut "Ratatouille: The TikTok Musical," a first-of-its kind collaboration that will test the creative possibilities of the beloved app and platform.
"It's very scary," Moss said, during a call from England where she was deep in the editing phase of the project. "It's a lot of eyes and a lot of people who are very invested and very excited but also have a very specific vision of what this kind of event is going to be."
Moss explains that her great challenge is to take the vision created by those who helped turn the "Ratatouille" musical into a popular trend on TikTok and turn it into a story that still feels fresh and fun to an audience who is exhausted by nearly a years worth of virtual concerts and events.
"I feel the pressure is on to deliver something more than a Zoom reading, but also something that's cohesive and sleek and slick, which I'm not sure it's going to be," she says. "But I think it will be all part of the fun — that it's very chaotic."
To pull this off, producers have enlisted professionals at all levels — from a costume team and choreographer to actors.
Tituss Burgess will star as tiny budding chef Remy, with Wayne Brady playing his father Django and Andrew Barth Feldman as Linguini. Kevin Chamberlin (Gusteau), Tony Award winner André De Shields (Ego), Tony winner Priscilla Lopez (Mabel) and Adam Lambert (Emile) also star.
The caliber of talent behind the show, Moss says, is hopefully a message of support to the creative minds in the TikTok community. (Those users who helped create materials for the finished product will be credited and compensated, according to the official website.)
"This is sort of like Broadway being like, 'We're listening. We hear you," she said.
This final product, from executive producers Jeremy O. Harris, Michael Breslin and Patrick Foley, will also do some tangible good, with proceeds from ticket sales going to The Actor's Fund.
Since March, the organization has provided over $18 million in assistance — with help from 17 industry partners — to more than 14,700 artists across the country who've been affected by the pandemic. (In a normal year, Joseph P. Benincasa, president and CEO of The Actors Fund says, they provide about $2 million to about 1,500 people.)
"The impact of this pandemic on the performing arts and entertainment community is unprecedented. Pre-Covid, it was already challenging for arts professionals to make ends meets due to the episodic nature of the work. But today, the livelihoods for so many people who work on Broadway, in film, television, dance and music have simply vanished," Benicasa told CNN.
Moss, too, hopes "Ratatouille: The TikTok Musical" cooks up a little hope.
"It's just so important to be supporting artists right now, I think, both in terms of the actual raising money (and in) bringing hope that new work still can be created and that there's a space for innovation," she says. "Maybe, you know, this kind of work wouldn't have happened if we weren't all stuck at home."
Tickets, which start at $5, can be purchased online. Those unable to tune in to the live performance at 7 p.m. ET on January 1 can stream it until Monday, January 4.
Source by rss.cnn.com
Tags: 'Ratatouille: The TikTok Musical' aims to cook up first-of-its kind fun - CNNentertainment
Van Morrison teams with Eric Clapton for anti-lockdown song
'Zombie' greenhouse gas lurks in permafrost beneath the Arctic Ocean
Sen. Rand Paul's 'Festivus Report' claims $54B in tax dollars was 'totally wasted'
Fact check: New York Gov. Andrew Cuomo announced he would defer his annual raise
Swedish government sidelines epidemiologist who steered country's no lockdown experiment as deaths rise
Copyright © 2020 Dailyillinois.com.
Submit, Guest Post, Write For Us and Become a Contributor


text:
App For Recording Real-Time Crop Data Found Effective, Efficient
Developed by Tata Trusts' Data Driven Governance team, the app allows farmers to self-report crops sown across different stages in real time.
Outlook Web Bureau Feb 19, 2021
Maharashtra, like other states, every year goes through an extensive process of collecting, collating, and reporting data on detailing the crops that farmers have sown in their fields.
This data is extremely critical as it serves as the basis of forming government policies and welfare schemes for farmers. The task falls on the Village Revenue Officer.
This is called 'Peek Pahani' or crop reporting, which includes recording cropping patterns, acreage, seasons, dry or irrigated farming, etc.
However, it is a huge task for an individual to identify, visit – to survey and record crops sown, with acreage – all villages in a taluka. And this needs to be done during all three agricultural seasons.
Considering the thousands of visits an official will need to make in a tehsil or taluka, this method is time-consuming and not a real-time assessment, with scope for manipulation of crop reports.
Such issues have been addressed by an app introduced by the Tata Trusts' Data Driven Governance team. Called E Peek Pahani or EPP, the app allows farmers to self-report crops sown across different stages in real time.
The Trusts initiated the project in eight pilot talukas in 2018 in collaboration with Maharashtra's Revenue Department.
While around 30-40 crops were reported in a season earlier for the whole of Maharashtra, now more than 250 crops are reported from just one taluka (Phulambri), according to Tata Trusts.
An EPP lab set up by the Tata Trusts at the POCRA (Project on Climate Resilient Agriculture) office in Mumbai analyse the crop and farm infrastructure data received from the field.
There is also a dedicated helpline for the EPP app to assist the thousands of farmers and government officials.
Not only can village revenue officers now access data at the click of a mouse, it also empowers the farmers, earlier excluded from the data collection process.
Farmers are now directly involved in the process of reporting and recording crop entries in Village Form No 7/12, making them continually aware of the various decisions and advisories that are based on crop information.
The EPP app also helps them in selling their crops without delay – enabling them to avail of the authorised support price established by government.
Equipped with a geo-tagging feature, the EPP app also enables the government to ensure the veracity of the reported data.
The EPP is now used by more than 3,00,000 farmers in the eight pilot talukas. In place of the 20-30 crops usually recorded, 326 different crops, including drumstick, broccoli, blackberry, etc, were recorded to have grown for the very first time.
Launched in Sillod taluka in Aurangabad district in time for the rabi season in 2020, with overwhelming support from the local government functionaries and farmers, the app records covered thousands of hectares of crops in the taluka.
In Undangav, more than 250 farmers made use of the EPP app to sell maize to authorised price support purchase centres, added the Tata Trusts report.
In This Article: AgricultureOutlook KrishiAgri OutlookCorporate


Q: What are good wood species for exterior / front doors?
Hi, I'm interested in installing a nice wood front door. I want a stained door with a nice rich grain. What species of wood are typically used for exterior doors? What are the positives and negatives of each of these species? Lastly, any particular door manufacturers to recommend? Thanks.


text:
A charitable gift annuity is a gift vehicle that falls in the category of planned giving. It involves a contract between a donor and a charity, whereby the donor transfers cash or property to the charity in exchange for a partial tax deduction and a lifetime stream of annual income from the charity.  When the donor dies, the charity keeps the gift.

The amount of the income stream is determined by many factors including the donor's age and the policy of the charity. Most charities in the United States use payout rates defined by the American Council on Gift Annuities.

References

External links
 The American Council on Gift Annuities
 Annuity.com Charitable Gift Annuities

Charities


This page contains information on the various build services that are provided to all ASF projects for continuous integration, builds, testing, snapshots and deployment.
Projects therefore have a choice, you can choose to utilise any or all of the services provided should that make sense. See the More Information section for how to subscribe to one list that all these services are subscribed to.
Buildbot is a python based third party open source software chosen by the infrastructure team to provide extra build services to any Apache project that wants to utilise it.
For a detailed list of what Buildbot can do for your project, see the main Buildbot page for more info.
Apache Gump is a cross-project continuous integration server. It is different from "usual" CI servers in that it expects the individual project builds to succeed; its purpose is to check the integration of a project with the latest code rather than a fixed version of the project's dependencies. If you want a more traditional nightly build server Gump is not for you. Use Gump if you want to know when a change in your dependencies breaks your project or when your changes break other projects.
Gump is written in Python and supports several build tools (shell scripts, GNU make, Ant, Maven 1.x and 2.x and NAnt) and version control systems (svn, CVS, git, bzr, hg, darcs and Perforce). The Apache installation of Gump builds many ASF projects and their dependencies. It started in the Java part of the foundation but also builds projects like APR, HTTPd and log4net.
The ASF runs a Jenkins continuous-integration server at https://builds.apache.org/. The Jenkins setup consists of a master server running on an Ubuntu machine (Aegis) and several build slave servers, including five Ubuntu slaves, FreeBSD and Windows slaves, two Solaris slaves and an OSX Apple XServe. Thanks go to Apple, Yahoo! and HP for donating some of these slaves!
Any ASF project can run build and test tasks for their projects in Jenkins. See the wiki page for more information.
There is a mailing list setup to handle everything build related for all of the build service platforms mentioned above. Those involved with projects are encouraged to sign up.
Subscribe to the builds@apache.org mailing list.
There are admins from all above services signed up to the list and where applicable to them - and in their own volunteer time, will help with your queries.
Copyright © 2010-2018 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.


Sorry to keep filling my blog with laments and protestations, but I swear the world is stuffed full of bastards.
For example, I just got screwed on my second short sale offer in one week.
Way back in April, I made an offer on a beautiful condo in the Monterey Hills. It was what they call a short sale. I figured, yeah, it'll probably take a few months before they let me know if they've accepted my offer, but it's worth a shot. Meanwhile, I'll keep looking at other properties in case things don't work out.
I was pretty sure, too, that I had this in the bag. The agent was a lunatic. He was nearly impossible to get ahold of. When Agent Gal finally got ahold of him, he claimed he didn't have a key to the condo building, despite the fact that the lock box was on the condo door. He told Agent Gal that she'd have to "piggy back" on someone going into the building. (If you live in any gated building, you know how well that goes over with the residents.) Agent Gal, being awesome, managed to sneak into the condo complex and call me from the inside so that I could meet her. The place had been on the MLS for 118 days — and for good reason. No one could freaking get in!
I made an offer at asking price, figuring I was a shoe-in because the chances of someone else being so bothered were slim, seeing as how there were slightly more expensive but more accessible condos being offered in that same mega complex. As soon as we submitted the offer, the agent told Agent Gal that he submitted the offer to the bank.
I continued looking. Being open to short sales helped alleviate the heaviness of foraging through foreclosures, which are often totally depressing to look at. Agent Gal continued to call and email the Monterey Hills agent every week. Then, one day last week, I was searching a short sale/foreclosure database and not only found my property still listed, but the price had raised $10k. I told Agent Gal who called and emailed the guy with a loud WTF.
Translation: The agent was an incompetent, dishonest douchebag who either never submitted my offer or never told us it had been rejected.
Because I love the property and the agent's right to show had expired, Agent Gal is continuing to forage for details to see if we can't get our foot in the door on the foreclosure side. It's a long shot, but it's worth it.
Meanwhile, two weeks ago, I put in another offer on a condo, this time a short sale in Van Nuys. Agent Gal just spoke to the agent a few days ago, and he said that the offer was currently being considered by the bank — a very good sign that things were moving along.
Today, Agent Gal and I went to the same condo complex to see another condo — an REO (that is, a foreclosure) — and possibly check out the condo I already had an offer on. At the time I'd seen it and made the offer, it was still occupied, but the residents were doing terrific things to the interior. I wanted to see how they'd left it. Agent Gal couldn't get ahold of the agent, so we figured we'd show up and see what was going on.
When we arrived, there was a note on the door, instructing delivery men to deliver packages not on July 15, but on the 16th. The note included a phone number. There was no lock box. Agent Gal called the number on the note, and the guy who answered — the owner, as it turns out — yelled at her. "Why am I still getting calls? I told that agent I'm not doing this anymore!" he said, among other things.
I've been at this hunt since March. It's been a long, tiresome journey, where I'm learning how the banks, who got bailouts, have figured out how to screw us buyers on every front possible. I've also enjoyed first-hand experiences with real estate agents who are either insane or enormous twats.
Agent Gal sounded bummed out because I'm never excited about anything I see. The only things I get excited about are way too expensive for me. So, I don't bother working up the energy. Besides, the idea is to get my foot in the market now and take advantage of Obama's tax credit. Sure, I'd love my own place. But honestly I'm just tired of all the shenanigans.
I'll just have to keep pressing forward.
*While it's possible he suddenly came into a large amount of money and no longer wanted to give up his condo, it's more likely that he's one of those people who are in denial and would rather go into foreclosure than short sale their property. Go figure.


Description FSCN1 Full-Length MS Protein Standard (NP_003079), Labeled with [U- 13C6, 15N4]-L-Arginine and [U- 13C6, 15N2]-L-Lysine, was produced in human 293 cells (HEK293) with fully chemically defined cell culture medium to obtain incorporation efficiency at Creative-Proteomics. This gene encodes a member of the fascin family of actin-binding proteins. Fascin proteins organize F-actin into parallel bundles, and are required for the formation of actin-based cellular protrusions. The encoded protein plays a critical role in cell migration, motility, adhesion and cellular interactions. Expression of this gene is known to be regulated by several microRNAs, and overexpression of this gene may play a role in the metastasis of multiple types of cancer by increasing cell motility. Expression of this gene is also a marker for Reed-Sternberg cells in Hodgkins lymphoma. A pseudogene of this gene is located on the long arm of chromosome 15.


text:
Long Time, Wrong Time
by Sharon Jones & The Dap-Kings
Album: Give the People What They Want (2014)
This was penned by The Dap Kings baritone saxophone player, Cheme Gastelum. Sharon Jones commented to Relix magazine: "The groove reminds me almost of a cha-cha-cha. It's such a bad groove. Just hearing the music at the beginning of the song, the groove, the rhythm—I like it."
More songs from Sharon Jones & The Dap-Kings
I Will Always Love YouWhitney Houston
Dolly Parton is just fine with Whitney Houston's cover of "I Will Always Love You." Said Parton: "She can have the credit. I just want my cash."
Blank SpaceTaylor Swift
Taylor Swift became the first ever female in the history of the Hot 100 to succeed herself at #1, when "Blank Space" dethroned the songstress' previous single, "Shake It Off" from the top spot.
Master Blaster (Jammin')Stevie Wonder
"Master Blaster (Jammin')" is Stevie Wonder's tribute to Bob Marley, released less than a year before Marley died.
Piano ManBilly Joel
Billy Joel is surprised that "Piano Man" is so successful. He called it "an old, long song about a guy at a depressing piano bar."
Dancing In The DarkBruce Springsteen
Before she was famous on Friends, Courteney Cox danced on stage with Bruce Springsteen in his "Dancing In The Dark" video.
One WeekBarenaked Ladies
"One Week" by Barenaked Ladies was a #1 hit in America - for exactly one week in 1998.
Mike Scott of The WaterboysSongwriter Interviews
The stories behind "Whole Of The Moon" and "Red Army Blues," and why rock music has "outlived its era of innovation."
Sarah BrightmanSongwriter Interviews
One of the most popular classical vocalists in the land is lining up a trip to space, which is the inspiration for many of her songs.
Richie Wise (Kiss producer, Dust)Songwriter Interviews
Richie talks about producing the first two Kiss albums, recording "Brother Louie," and the newfound appreciation of his rock band, Dust.
The Girl in That SongFact or Fiction
Billie Jean, Delilah, Sara, Laura and Sharona - do you know who the girls in the songs really are?
Al Jourgensen of MinistrySongwriter Interviews
In the name of song explanation, Al talks about scoring heroin for William Burroughs, and that's not even the most shocking story in this one.
U2Fact or Fiction
How did The Edge get his name? Did they name a song after a Tolkien book? And who is "Angel of Harlem" about?


text:
Brochure (PDF)
Krista Bradford, Founder & Principal, The Good Search
The Good Search is an innovative search firm wrapped around a human capital intelligence practice that offers retained search, candidate pipelines, and custom intelligence to some of the most powerful and successful companies in the world. Ms Bradford is a noted recruiting industry expert, national speaker, and columnist.
Prior to The Good Search, Ms. Bradford was with Reed Shay where she recruited "best of breed" executives and technologists to CEO, COO, and CTO opportunities at the portfolio companies of top tier venture capital firms that include Kleiner Perkins, Sequoia Capital and Benchmark.
Ms. Bradford is a member of the International Association for Corporate & Professional Recruitment (IACPR), the Executive Search Roundtable, Association of Independent Information Professionals (AIIP), the Investigative Reporters and Editors Association (IRE).
Ms. Bradford studied at Harvard University and Columbia University.
Event Sponsor: