AREPL stats 2019
Tags: python, vscode, datascience, applicationinsights
Published: 2020-03-09 03:43:24

See last post for 2018 [here](https://dev.to/almenon/arepl-stats-for-2018-hon)

### Q: AREPL?

Automatic-read-eval-print-loop. It's a real-time python scratchpad, currently one of the top python extensions for VSCode.

![](https://raw.githubusercontent.com/Almenon/AREPL-vscode/master/areplDemoGif2.gif)

### Q: How many people use AREPL now?
Around 140 a week. Adding a button to activate arepl about doubled the amount of uses. It's easier to remember that AREPL exists when there's a button for it rather than a command you have to memorize.

Unfortunately the number of AREPL users is not going up. The fact that is staying constant indicates that AREPL simply isn't good enough to retain users. It's hard to pinpoint the exact cause. I created a survey but that didn't help much.

![](https://i.imgur.com/rslPVlg.png)

Only one answer is any good. The next question is more helpful.

![](https://i.imgur.com/OCU5YYv.png)

I'm surprised so many people want better display of variable attributes. I thought inline display would be more popular. I should note that inline and variable display were the only two listed categories - there was the option to write in but most people chose a pre existing category. I should've had more categories to choose from. I've categorized all my enhancement issues and updated the survey with the new categories, so I should get better data going forward.

<!--The first thing that comes to mind is keeping the variables expanded each run instead of it collapsing each time, but "better display" is pretty vague. Maybe there's something else the users would want more.-->


### Q: What nationality are the users?

![](https://i.imgur.com/zJcsGqf.png)

The chart has changed a lot since last year. China used to be the majority of the users but the US has overtaken it with twice as many users as China. Japan and India also increased, in second and third place respectively. UK, the former #3, fell all the way down to #7. I'm presuming the more users I get the more the chart will resemble a chart of number of internet users by country as the numbers even out. Some positions are odd however. For example, why is japan so high? In https://www.benfrederickson.com/github-developer-locations they are #11. Maybe Japanese developers use VSCode and python more than other developers?

### Q: How often does a person use AREPL each week?

728 users total this past week.

**Heavy users**: 37 (5.1%) have used it ten or more times.

**Light users**: 304 (41.8%) have used it two to ten times.

**Once only users**: 387 (53.2%) have used it only once.

My sentence from [last year](https://dev.to/almenon/arepl-stats-for-2018-hon) came true!

> "AREPL in 2018 was still very buggy — I’m hoping to see a rise in % heavy users with my bugfixes in 2019."

Hopefully the percentage will continue to rise.

### Q: Any new uses of Application Insights?

Microsoft introduced a cool new feature to application insights called "Smart Diagnostics". Using machine learning they automatically identify unique patterns in the data. For example:

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/nvff7hugxxy796xj3ejm.png)

As you can see there is a mysterious decrease in the number of times AREPL was opened. Clicking on the first highlighted column automatically opens up the following query:

```
// The following pattern may explain the data discrepancy:
// application_Version = 1.0.8
customEvents | where timestamp < now()  and name=="almenon.arepl/closed"
| extend DiagnosticsResults = iff(application_Version == "1.0.8", 'with pattern', 'without pattern' )
| summarize opens=dcount(cloud_RoleInstance) by DiagnosticsResults,  bin(timestamp, 1day) | render timechart
```

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/ybb6wqzl8hmjpapvao7w.png)

So you can see that the number of version 1.0.8 opens went down drastically and then stopped. This indicates a new release. If we change the query to look for 1.0.9, we get this:

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/f3ck1ncoaenhf80hdkds.png)

So there were a few opens of version 1.0.9, but hardly any at all compared to before. What gives? Well, I took a look at the [1.0.10 release](https://github.com/Almenon/AREPL-vscode/milestone/28) and found out (I had totally forgotten) that the 1.0.9 release [broke telemetry](https://github.com/Almenon/AREPL-vscode/issues/190). That explains that.


### Q: Any improvements to privacy within telemetry?:
My code now obfuscates usernames[^1]!

> TypeError: Cannot read property 'setDecorations' of undefined  at PreviewContainer.updateErrorGutterIcons (c:\\Users\\**anon**\\.vscode\extensions\almenon.arepl-1.0.10\out\src\previewContainer.js:94:44)  at PreviewContainer.handleResult

I made a PR to add this to the Microsoft telemetry extension but unfortunately it [got rejected](https://github.com/microsoft/vscode-extension-telemetry/pull/32). 

### Q: Did you get any media mentions? 

Yep! 🎉

* [One interview](https://jaxenter.com/visual-studio-code-python-arepl-159032.html)
* Six tweets with arepl hashtag
* [one tutorial](https://www.mbalslow.com/blog/article/how-to-use-arepl-in-vscode-for-python-evaluation/)
* [one mention in a blog post](https://medium.com/@yemreak/vscode-%C3%BCzerinde-python-d57aed06839)

### Some final notes:

Q: Where do I install AREPL?
A: https://github.com/Almenon/AREPL-vscode

Q: How can I add application insights to my own extension?
https://medium.com/@almenon214/adding-telemetry-to-your-vscode-extension-f3d52d2e573c


[^1]: mostly. There are a few events that still have names but I have no idea why. :/