R is the easiest language to speak badly

I am amazed by the number of comments I received on my recent blog entry about "by", "apply" and friends. I had started my post by pointing out that R is a language. Well indeed, I have come to the conclusion, that it is a language with lots of irregular expressions and dialects. It feels a bit like German or French where you have to learn and memorise the different articles. The Germans have three singular definite articles: der (male), die (female) and das (neutral), the French have two: le (male) and la (female). Of course there is no mapping between them, and how do you explain that a girl in German is neutral (das Mädchen), while manhood is female (die Männlichkeit)?

Back to R. As I found out, there are lots of different ways to calculate the means on subsets of data. I begin to wonder, why so many different interfaces and functions have been developed over the years, and also why I didn't use the aggregate function more often in the past?

Can we blame internet search engines? Why should I learn a programming language properly, when I can find approximate answers to my problem online. I may not end up with the best answer, but with something which will work after all: Don't know why, but it works.

And sometimes the help files can be more difficult to understand than the code in the examples. Hence, I end up playing around with the example code until it works, and only then I try to figure out how it works. That was my experience with reshape.

Maybe this is a bit harsh. It is always up to the individual to improve his language skills, but you can get drunk in a pub as well, by only being able to order beer. I think it was George Bernard Shaw, who said: "R is the easiest language to speak badly." No, actually he said: "English is the easiest language to speak badly." Maybe that explains the success of English and R?

Reading helps. More and more books have been published on R over the last years, and not only in English. But which should you pick? Xi'an's review on the Art of R Programming suggests that it might be a good start.

Back to aggregate. Has anyone noticed, that the formula interface of aggregate is different to summaryBy?

aggregate(cbind(Sepal.Width, Petal.Width) ~ Species, data=iris, FUN=mean)
Species Sepal.Width Petal.Width
1 setosa 3.428 0.246
2 versicolor 2.770 1.326
3 virginica 2.974 2.026

versus

library(doBy)
summaryBy(Sepal.Width + Petal.Width ~ Species, data=iris, FUN=mean)
Species Sepal.Width.mean Petal.Width.mean
1 setosa 3.428 0.246
2 versicolor 2.770 1.326
3 virginica 2.974 2.026

And another slightly more complex example:
aggregate(cbind(ncases, ncontrols) ~ alcgp + tobgp, data = esoph, FUN=sum)
summaryBy(ncases + ncontrols ~ alcgp + tobgp, data = esoph, FUN=sum)


Non-profit health insurer surplus legislation advances in WA legislature

A bill we requested, Senate Bill 5247, was approved by a key state Senate committee last night.

The bill would allow us, when considering premium rates proposed by non-profit health insurers, to take into account the large surpluses that the companies have built up in recent years. (Surpluses are not the same thing as reserves. Theres' been some confusion out there on this point.)

These surpluses have grown dramatically over the past decade. The state's three major nonprofit health insurers together now have more than $2.4 billion in surplus.

Meanwhile, the cost of individual health policies more than doubled from 2005 to 2011.

At least 11 other states, including neighboring Oregon, have the authority to consider surpluses when reviewing rates. We think it's time Washington did the same.

What's a health care exchange?

Stateline, a news service that covers state government, put together a story summarizing the new health care exchanges scheduled to launch in 2014, how they work, and the status of the efforts to create them at the state level. From the article:

Considered the engines of the national health law, state exchanges are online marketplaces designed to make it easier for individuals and small businesses to shop for insurance policies. They will also be one-stop enrollment centers for low-income people who qualify for Medicaid and moderate income individuals who qualify for federal tax credits.

There's a tremendous amount of behind-the-scenes work taking place in Olympia in preparation for these exchanges. Again, from Stateline's article:

One small group of states — led by Maryland, Washington, Oregon, Rhode Island and California — is running significantly ahead of the rest. Statutes have been enacted to create the exchanges and the basic decisions about how to run them have already been made.
Our office and Gov. Chris Gregoire have also requested additional exchange legislation in Washington this year.

Tacoma insurance agent sentenced for stealing from clients

An insurance agent in Tacoma has pleaded guilty to second-degree theft for misappropriating checks from dozens of policyholders.

Michel Anthony James, an independent contractor who was working for State Farm, is believed to have deposited checks from more than 40 policyholders into his own business bank account. State Farm discovered the problems when it audited James' accounts. It subsequently terminated its contract with James.

Based on a subsequent iinvestigation by Insurance Commissioner Mike Kreidler's Special Investigations Unit, James:
• failed to apply premiums to policies,

•wrongly withdrew cash from his premium fund account (which is where those policyholder checks were supposed to go),

•failed to refund overpayments to policyholders,

•and violated contractual agreements with State Farm.

The theft added up to $23,926.87.

On Jan. 13 in Pierce County Superior Court, he pleaded guilty to second-degree theft. He was sentenced to community service, electronic home monitoring and $1,800 in costs and assessments. He has also paid back the misappropriated money.

(Updated Feb. 1 to note that James no longer works for State Farm.)

Say it in R with "by", "apply" and friends

Iris versicolor 
By Danielle Langlois
License: CC-BY-SA

R is a language, as Luis Apiolaza pointed out in his recent post. This is absolutely true, and learning a programming language is not much different from learning a foreign language. It takes time and a lot of practice to be proficient in it. I started using R when I moved to the UK and I wonder, if I have a better understanding of English or R by now.

Languages are full of surprises, in particular for non-native speakers. The other day I learned that there is courtesy and curtsey. Both words sounded very similar to me, but of course created some laughter when I mixed them up in an email.

With languages you can get into habits of using certain words and phrases, but sometimes you see or hear something, which shakes you up again. So did the following two lines in R with me:


f <- function(x) x^2
sapply(1:10, f)
[1] 1 4 9 16 25 36 49 64 81 100
Read more »

Tacoma man pleads guilty to forgery and insurance fraud

A Tacoma man has pleaded guilty to two counts of forgery and one count of felony insurance fraud for filing a false auto insurance claim.
Cash B. Knott, 46, pleaded guilty Jan. 13 in Pierce County Superior Court.
On Nov. 6th, less than a month after getting coverage from Progressive Direct Insurance Co. for his 1992 Ford Ranger pickup, Knott filed a $5,674 insurance claim with Progressive. He said someone had scratched the paint, stolen his chrome wheels and tires, and stolen his navigation and entertainment system, 1,000 watt amplifier and other electronic components.

He provided Progressive with a Sept. 2 stereo shop invoice for $4,547.84 worth of stereo equipment, a copy of his check, and a bank statement showing the withdrawal from his checking account.
The problem: When contacted by an insurance adjuster, the stereo shop said it had no record of such a purchase. All they could find was that Knott had bought an amplifier -- for $109 -- on Sept. 2.
Insurance Commissioner Mike Kreidler's Special Investigations Unit obtained a search warrant for Knott's bank records. The bank found no checks written to the stereo shop, and none whatsoever for $4,547.84.
He's slated for sentencing on Feb. 17th. The standard range for the charges are 22 to 29 months in prison.

What are my odds of dying from...?

The Insurance Information Institute has released some interesting data about the odds of dying in a wide variety of accidental (or sometimes not-so-accidental) injuries.

According to the III, your odds of dying from:

  • A car accident: 1 in 303.
  • Being shot: 1 in 306.
  • Falling down the stairs: 1 in 2,018.
  • An airplane crash: 1 in 7,032.
  • Falling off a ladder: 1 in 8,912
  • A lightning strike: 1 in 84,079.

See the link above for more examples.

Anti-fraud group releases its "Hall of Shame" for 2011

The Coalition Against Insurance Fraud has compiled its annual "Insurance Fraud Hall of Shame" list. And this batch is pretty horrifying:


  • A Rhode Island radio DJ who wanted to upgrade her home and pool had several friends simulate storm damage to her home -- smashing a hole in her roof with a tree limb, messing up the pool, etc. The problem: The weather was fair and in the 70s that day. And one of the DJ's accomplices was caught on an unrelated federal wiretap bragging about the job.

  • Another home-arson case involved a California couple who hired a man to burn down their home. The man used a lot of gasoline, leading to a blast that left him horribly burned. He died later that day. The couple went to prison.

  • There are several others, but we'll end with what's probably the strangest case. A mortuary workers and medical worker faked the death of a man who'd never existed. There was even a grave. And a funeral service. Using forged documents, the workers and accomplices had taken out $950,000 in life insurance policies on the fictitious man.
When one company had doubts, the workers exhumed the coffin, filling it with a mannequin, cow meat, and bones before hauling it to a crematorium. But when they tried to bribe a doctor to forge medical records, he instead cooperated with investigators and recorded the conversations. One of the workers was sentenced to two years in prison, the other other is awaiting sentencing.

Long-term care insurance: Is it right for you?

Kaiser Health News and the Washington Post have an article today on the pros and cons of long term care insurance. From the article:
The question of whether to get long-term care insurance bedevils consumers and their advisers. Unlike medical insurance, it is intended primarily to cover people who need assistance with so-called activities of daily living -- for example, the care of a dementia patient or someone recovering from a broken hip. It can be expensive: Premiums range from $1,000 to $5,000 a year, depending on the age, sex and health of the purchaser as well as the extent of the coverage. And policy details can be confusing.
Even advocates acknowledge that it isn't for everyone. Jesse Slome, executive director of the American Association for Long-Term Care Insurance, an industry group, sums it up well: "Long-term care is a universal issue facing all Americans who are getting older. But long-term-care insurance is not a universal solution."
Many people think that their health insurance will cover long term care, but most don't. Nor do Medicare or Medicare supplemental policies. Medicaid will pay, but to qualify for Medicaid, your assets must dwindle away to almost nothing.

In recent years, we've received numerous complaints about the cost of the policies. Long term care insurance is a fairly new product, with many companies not offering it until the early 1990s. As a result, they had little experience to base their prices on, and early policies were priced significantly lower than they should have been, based on how the cost of claims and the fact that -- unlike life insurance, for example -- few people cancel the policies.

As a result, most long-term care insurers have bumped up their premiums sharply in the past few years -- in some cases 40 percent or more -- angering customers who signed up for policies at relatively low cost years ago. This is a problem across the country. Again, from the article:
"It's probably the most frequent complaint I hear," says (Kansas Insurance Commissioner Sandy) Praeger, who heads the National Association of Insurance Commissioners' health and managed care committee. "The problem is, the older policies weren't priced right to begin with. Companies expected about 8 percent of customers to stop paying their premiums, when, in fact the lapse rate is closer to 2 percent." That meant the insurers had to cover more beneficiaries than they expected at a time when the economic downturn has meant less returnon their investments.

Praeger acknowledges that rate increase requests have posed a dilemma for insurance commissioners. "If we don't give them the rate increase they need, the insurance carriers could become financially impaired, and that doesn't help people," she says. In fact, in recent years, a number of companies have stopped selling policies. As a result, she adds, it's hard to turn the increases down.

Insurer fined $100,000

A company that issued thousands of medical insurance policies to college students has been fined $100,000 for charging unapproved rates, as well as other violations.

Indiana-based Unicare Life and Health Insurance Co. has agreed to pay the fine.

Between mid-2004 and mid-2009, Unicare sold thousands of medical insurance policies to students at community colleges, technical schools, colleges and universities across Washington state. Insurance Commissioner Mike Kreidler’s office later determined that there were substantial problems with the coverage. Among them:

• For more than six years, the company used unapproved methods to set its rates.

• Unicare continued to wrongly cite a policy exclusion for 5 years after the law had changed to ban insurers from using the exclusion.

• Unicare allowed unlicensed insurance agents to market and sell the policies. The primary company marketing the policies was not licensed to do business in Washington until June 2009. At that point, it had been selling the policies for four years.

The company was unable to respond to Kreidler’s requests for supporting documentation on rates at specific colleges, saying that the documents were prepared by employees who no longer worked there.

Fines collected by the insurance commissioner’s office do not go to the agency. The money is deposited in the state’s general fund to pay for other state services.

The policies included international students at the University of Washington, Washington State University, Bellevue Community College, Seattle Pacific University, Shoreline Community College, Tacoma Community College and South Puget Sound Community College, among others.

Tips on winter storm-related insurance claims


As this week's snowstorm turns into an ice storm, we figured that it would be a good time for a Q&A re: winter storms and insurance claims. For more, please see our winter weather page.

My neighbor’s tree fell on my house. Who pays?
Usually your insurance, even if it was the neighbor's tree. And you’ll be responsible for the deductible.
Sometimes your insurer can prove the neighbor was at fault (diseased tree, etc.) and make their insurer pay. But that can be hard to prove.
If possible, take steps to prevent further damage. For example, you might try to cover holes in walls or the roof, but only if it's safe to do so. Beware of snow, ice, and falling limbs.
And save your receipts: Your insurer may reimburse you for those costs.

A tree fell on my car or carport. Am I covered?
Car: Yes, if you have comprehensive coverage.
Carport: Yes, usually your homeowners coverage will usually cover the damage. But unattached buildings – like a garden shed – are often not covered.

Lots of limbs fell in my yard. Will an insurance company pay for cleanup?
Usually not. Homeowners insurance is mainly for the home.

Lost power and freezer thawed. Am I covered?
Most homeowners policies cover this, but it may not be worth filing a claim, esp. if you have a high deductible.

I’m concerned about flooding. Will I be covered?
Probably not. A standard homeowners insurance policy doesn't cover floods. You have to buy a separate policy, usually through the National Flood Insurance Program (NFIP).

My television set was ruined when the power came back on. Am I covered?
Most homeowner policies do cover appliances ruined by power surges. But consider your deductible -- in many cases, it may be more than the cost of simply replacing the damaged equipment.

Tips on auto insurance claims

After this week's record-setting snowstorm, it seemed like a good time to post some tips on auto- and homeowners claims. We'll start with auto, and then put up a second post specifically about homeowners claims. For more, please see our auto claims web page.


Claims process
Get the name, contact info and insurance info of the other driver.
Get the names and contact info of anyone in the other car. We've seen fraud cases in which friends of a car's sole occupant claim that they were in the car, too, so they can file claims.
Call your agent or the company. They’ll walk you through the process.
That said, if it’s just your car and the damage is minor, you may want to just pay for repair yourself., especially if you have a high deductible.

Repairs
In Washington state, you can generally choose which shop to take your car to, but the shop and the insurer must agree on price. If they can't agree, you may be stuck paying the difference.

Who pays
If you have collision coverage, the fastest thing may be to file a claim to your own insurer.
•      There’s often disagreement over who’s at fault. Unfortunately, these disputes fall outside our administrative authority. Work with the person processing the claim. In major disagreements, you may want to seek legal advice.
But if you’re confident that another person was at fault, you may want to wait for their insurance to pay. That way you won’t have a claim on your record
If the other person’s at fault, your insurer can also recover its costs from their insurer. This is called subrogation. If you file the claim against your insurer and they get the other driver's insurer to pay, you may get your deductible back.

Rental car?
If other person was at fault, their insurer will negotiate with you to pay for a rental car.
Or your policy might pay it for you.
Pay attention to the limitations, though: Rental car coverage is often limited to a short period of time. We often get complaints from people about this.

Diminished value
This is the difference in value between a repaired car and one that was never damaged. See if your policy covers this.
If you're making claim to other driver’s insurance, you need to prove that the value is diminished. This can be tough to do.

Our offices will remain closed today

Our Thurston County and Seattle locations will remain closed today due to the the road conditions as the yesterday's snowstorm became today's ice storm. Sorry for the inconvenience; we just want to keep our staff safe today. 


All online services are still available at our website at http://www.insurance.wa.gov.


We expect to be fully operational during regular business hours starting tomorrow morning. We'll let you know here. Be safe!

OIC closes offices in Thurston County due to snow and ice

We've had to close our Thurston County offices this morning due to lots of snow and ice on the roads (and more coming down). This includes our office in the Insurance Building on the state capitol campus and our largest office, which is in Tumwater. We're sorry for the inconvenience, but conditions are pretty bad out there right now.

The good news: You can still:

Credit rating by country

The financial crisis has put a lot of pressure on countries' long-term foreign currency credit ratings, with France recently being downgraded by S&P. Wikipedia provides a list of countries by credit ratings as report by US rating agencies S&P, Fitch, Moody's and Dagong, a Chinese rating agency.

So, what does the world look like today through the eyes of those rating agencies?

I use the R packages XML and googleVis to read and display the data from Wikipedia with just a few lines.
Read more »

The Great Great Contest

The new president of the Ohio Jaycees, back in the early 1980’s, was a good old boy from the southern part of our state. We’ll call him Bubba. I was a state level officer and had been very involved in the other guy’s campaign.

Bubba was a nice enough guy who was incapable of stringing four words together without saying the word “great”. No other superlative, just “great”.

The Ohio Jaycees were holding a state-wide meeting and Bubba was going to give a fifteen minute presentation. I created the Great Great Contest. I divided an oversized sheet of cardboard into a thousand numbered squares and allowed the guys to predict how many times Bubba would say “Great”. Each block cost $1. Half would go to the winner. Half to charity. You could hear the crowd counting throughout Bubba’s speech.

Bubba isn’t running for President, but I think about him every time I watch the Republican hopefuls debate. Which candidate will be the first to say that he will “Repeal Obamacare”? It is a race. I half expect Mitt Romney to be mouthing the words as the cameras focus on him during the introduction.

There are two more debates this week. Get out a sheet a paper and keep score. Who gets to be the first to promise to “Repeal Obamacare”? Who says it the most? How many times are Obamacare, and its orphaned cousin, Romneycare, decried in each debate? You may need a large piece of paper.

Now grab a post-it note to score how many times any of these candidates propose an alternative. My prediction – ZERO.

This blog has been clear. The Patient Protection and Affordable Care Act (PPACA) is a terrible overreach and a badly written bill. The numbers don’t add up. The stated goal, the motivation for this whole endeavor, was to cover the uninsured. The PPACA has not solved that problem. But, what does repealing it accomplish?

The PPACA is almost two years old. Businesses and insurance companies have spent millions of dollars to comply with the ever-changing regulations. President Obama was clear, prior to the bill’s passage, that “if you like your current health insurance plan, you can keep it”. That didn’t happen. The cost to maintain a separate series of “grandfathered” contracts compliant with the contradictory regulations emanating from Katherine Sebelius’s Health and Human Services was beyond reason. One by one, the insurers eliminated all of their old contracts. If you repeal the PPACA, do you have to go through the expense of changing the majority of the group and individual health policies in our country?

The PPACA made preventive care a mandatory benefit. Does that stay or go?

The PPACA allows children to stay on their parents’ insurance until age 26. How many pregnant 24 year olds would lose coverage if you suddenly repealed the PPACA?

Would the repeal of the Patient Protection and Affordable Care Act eliminate the health policies that were created for the chronically uninsured?

You get the idea. The PPACA may be a mess, but it, just like the problems it purported to fix, exists. Repealing the Presidents’ health care plan without having a well-crafted replacement might be worse than retaining it.

This blog has consistently doubted the Republican’s sincerity about repealing the PPACA. I view it as a safe fundraising ploy. It would take way too much effort to create a viable alternative. There is no risk to denigrating legislation disliked by over half of our populace. Creating an alternative would expose them to the same type of scrutiny and probably the same results. Even modifying the law was more effort than the Republican House could muster.

Bubba said “Great” 123 times. The winner received $140. Bubba isn’t running for President, but I am convinced that he was one of Michele Bachmann’s speechwriters.

DAVE

www.bcandb.com

Managing change

Why the old and the new need to share time together

It takes time to appreciate the new. Even if the new is much better than the old. It is easy to forget when you yourself created the exciting new.

At the end of August 2011 Google announced a new Blogger interface. The new interface offered about the same functionality, but had a different look and feel. At first I was reluctant to use it. I just wanted to get my job done. I knew the old interface, so why disturbe me with something else which does just the same?


Old Blogger interface

I was relieved to see that there was a button, which allowed me to switch back to the old interface. So I continued to use the old interface, although occasionally Google would offer me the new interface after login. Eventually I started to play around with the new interface. At times when I was bored and looking for a good excuse to waste my time. After a while I started to like the new interface and used it more often and then I stopped switching back to the old when Google offered me the new on login. It appeared cleaner, more contemporary and organised than the old. Now I have switched completely to the new interface. After a four months transition period!


New Blogger interface

There is something to be learned from this experience

Suppose you write analysis reports for others, e.g. colleagues, clients, friends, students, etc. and you have a new idea, which will make your report so much better. Maybe a better structure, a new R package, a new plot, something really sophisticated. You are excited about this, you implement it and send your report out to your readers.

Then: No feedback.

Appreciating change takes time.

Here is a suggestion: Implement your next great idea to improve your analysis report. Just because it is so much fun and your are really excited about the new. However, continue to produce the old style report and send it out with the new. Hopefully your excitement will sparkle over to the reader. But acknowledge that not all of them will have time to embrace the new immediately. They read the report for a specific purpose, e.g. table X on page Y. Hence give your reader the space to find his own time to review the new report, eventually he will listen and hopefully switch. But do listen to the reader as well and value his feedback. Easier said than done.

There is another aspect to it. Sending out the new with the old allows you to fail. You have a safety net. Some of your ideas might actually be not that great after all. I believe, we can only learn and succeed by making lots of small failures.

PS:

  • Producing the old and the new at the same time is of course only possible, if you have a slick automated reporting system. You find plenty of ideas on R-Bloggers.
  • I wonder, what would have happened if the transition period between the old national coins and notes and the Euro would have been longer than two months in 2002?




Having some phone system problems this morning

Just fyi: We're having some trouble with our telephone network this morning. Callers may get just a steady busy signal or will hear the phone ringing but the call won't go to voicemail.

This affects many of our lines, including our consumer hotline (1-800-562-6900) and our main number (360-725-7000).

The folks who maintain the network are aware of the problem and are working to fix it now.

Update (11:30 a.m.) We believe everything's fixed and working now. Thanks for your patience.

Sensible Home Warranty ordered to stop selling insurance in WA

A New York-based home warranty company has been ordered to stop selling insurance in Washington state.

Sensible Home Warranty LLC, formerly known as CHW, LLC, sold Washington consumers approximately 142 home warranty service contracts since 2009. The contracts were for parts and labor necessary to fix major systems and appliances that failed in a consumer's home. The company solicits customers through telemarketing and through a website: http://www.sensiblehomewarranty.com/.

In Washington, service contracts like the ones sold by Sensible Home Warranty are considered insurance. But neither the company nor its principals, Harrison Gindi and Elliot Dabah, are authorized to transact insurance in Washington state. Nor are they registered as service contract providers.

Nothing in the order, which took effect immediately Jan. 6, 2012,  prevents the company from fulfilling the terms of its contracts or providing a refund to Washington consumers who ask for one.

The company has the right to demand a hearing.

Note: The company's registered office address is in Sparks, Nev., but its principal place of business and sales office is 1724 E. 12th St., Brooklyn, NY.

Kreidler on nonprofit health insurer surpluses: "How much is enough?"

Commissioner Kreidler recently had an op-ed in the Seattle Times, talking about the large surpluses that have been built up by non-profit health insurers in recent years. From it:
In Washington, the three major health insurers — Premera Blue Cross, Regence BlueShield and Group Health Cooperative — are sitting on a total of more than $2.4 billion above and beyond what they expect to ever pay out in claims. All of them are not-for-profits. And they continue to propose substantial rate increases.
He is proposing legislation that would give the insurance commissioner's office explicit authority to consider those surpluses when reviewing rate requests.

We're working on a web page that explains this issue in more detail, and includes charts of the major insurers' surpluses over the past decade. Stay tuned...

Feedback from vignette survey

Many thanks to all who participated in the survey about writing R package vignettes.

Following my post last Thursday the responses came in quickly in the evening and all day on Friday. Since Saturday the response rate has been decreasing constantly and I think it is time for a summary based on the 56 responses received.

Summary - How to write a good vignette

  • Length: Trust yourself, but aim for about 20 pages.
  • Language: Don't use language which assumes that the reader is an R and/or subject expert.
  • Structure: Include at least the following sections:
    • Examples
    • Introduction
    • Case studies
    • References
      It would be nice to include also sections on:
      • Support
      • Motivation
      • Road map
      • Examples: Use lots of examples and don't repeat just the examples from the help pages.
      • Get inspiration from: Rcpp, reshape, plyr, vegan, and see below for more.
      • Secrets of good vignettes:
        • Provide an introduction with a clear purpose of the package.
        • Work with case studies, walk the reader through a task from start to finish.
        • Demonstrate the non-default arguments of the package functions, highlight why and when you want to change them.
        • Write briefly and concisely, but provide reference/footnotes to relevant literature and further help.
        • Provide dummy data to play with.
        • Discuss limitations.
        • What else: Potentially split the vignette into several documents, see Rcpp for an example.

Read more »

Survey: Writing package vignette

I am currently co-writing the vignette for the ChainLadder package and wonder what I should be focusing on. I have co-written the vignette of the googleVis package in the past and based it purely and what I thought would work. So, this is an experiment to find out, if user feedback will help me to write a better vignette. Let's see how it develops. I will make the data available once I have at least 10 submission.


Thanks!