Stream: general

Topic: playground


Jake Goulding (Aug 23 2018 at 19:05, on Zulip):

@lqd WDYT of this wording

Please help the Rust team gauge how we're doing, what can be improved, and how we can best engage with all of you as we move forward by taking the 2018 Rust Survey!

Jake Goulding (Aug 23 2018 at 19:05, on Zulip):

feels a bit stilted to me

Jake Goulding (Aug 23 2018 at 19:11, on Zulip):

Current aesthetics

pasted image

lqd (Aug 23 2018 at 19:19, on Zulip):

maybe the wording from the blog post could work ? "Time for us to take a look at how the Rust project is doing, and what we should plan for the future"

lqd (Aug 23 2018 at 19:25, on Zulip):

"We want to know your opinions! Your responses to the 2018 State of Rust Survey will help the project understand its strengths and weaknesses and establish development priorities for the future" maybe too "stilted" here as well ?

Jake Goulding (Aug 23 2018 at 19:54, on Zulip):

Definitely want a call-to-action phrasing, your second seems reasonable

Jake Goulding (Aug 23 2018 at 21:05, on Zulip):

A little tinge of blue helps...

pasted image

lqd (Aug 24 2018 at 04:12, on Zulip):

a bit more padding inside the box maybe ? it looks a bit tight esp on the left side :)

lqd (Aug 24 2018 at 04:18, on Zulip):

oh but it's online already, then nothing to worry about

lqd (Aug 24 2018 at 08:34, on Zulip):

(maybe a target="_blank" so that the survey opens in a new tab ?)

Jake Goulding (Aug 27 2018 at 22:41, on Zulip):

Here's a wide-open call — anyone know of any good (free) metrics services?

Jake Goulding (Aug 27 2018 at 22:43, on Zulip):

I'd love to track some things like the requests to the playground and be able to break them down by parameter ("how many people are using stable / beta / nightly") and some performance stats ("building code has been trending slower")

simulacrum (Aug 28 2018 at 01:22, on Zulip):

Might be easiest to just have a JSON file with counters for that sort of thing

simulacrum (Aug 28 2018 at 01:22, on Zulip):

That's perf.r-l.o's 'simple DB' approach because I wanted to be able to edit it

Jake Goulding (Aug 28 2018 at 01:55, on Zulip):

@simulacrum I was actually thinking that I'd do that anyway since most services have a cap on retention for the free plan

Jake Goulding (Aug 28 2018 at 01:56, on Zulip):

but then I have the problem of a bunch of JSON files lying about; what's a good way to visualize them?

simulacrum (Aug 28 2018 at 01:56, on Zulip):

hm, I'd imagine you'd just have the single one based on what you've talked about so far, but maybe I misinterpreted?

simulacrum (Aug 28 2018 at 01:57, on Zulip):

that is essentially ~3 counters and maybe an array or something

Jake Goulding (Aug 28 2018 at 01:58, on Zulip):

"bunch" ~= over time

Jake Goulding (Aug 28 2018 at 01:59, on Zulip):

but in general I mean "data in a JSON file"

simulacrum (Aug 28 2018 at 01:59, on Zulip):

well, there's two ways of representing that; perf.rlo went with the approach of having all the files loaded into memory and then we draw graphs etc -- you could probably use a lot of the same infrastructure if you wanted to

simulacrum (Aug 28 2018 at 01:59, on Zulip):

graphs are drawn via Rust backend processing data and JS frontend with a charts library

simulacrum (Aug 28 2018 at 02:01, on Zulip):

Was that sort of what you wanted to ask about?

Jake Goulding (Aug 28 2018 at 02:02, on Zulip):

Would you expect very free-form schema like {path: '/api/execute', channel:'stable', mode:'debug', duration: 1.24} and then maybe {path: '/api/clippy', duration: 0.99} and {path:'/api/assemble', flavor:'intel'}

Jake Goulding (Aug 28 2018 at 02:03, on Zulip):

and all just one-data-point per line

simulacrum (Aug 28 2018 at 02:03, on Zulip):

Generally I would try and start off with asking questions -- that is, what are you interested in knowing?

I think for playground at least for me I would be interested in:
- What is the percentage of users for stable/beta/nightly?
- How many uses of compile debug vs. release?
- How many uses of the non-standard LLVM/MIR/etc?
- What crates are most used?

Maybe some more

Jake Goulding (Aug 28 2018 at 02:05, on Zulip):

start off with asking questions

I know this to be the right thing, but I'm also in fear of not having data at hand when some decision needs to be made

simulacrum (Aug 28 2018 at 02:05, on Zulip):

That's a similar format to what perf uses, yeah -- if you python -m json.tool one of the data files in rustc-timing/times then you'll quickly see the exact format. However, I'd maybe go with a different one for your purposes

simulacrum (Aug 28 2018 at 02:06, on Zulip):

start off with asking questions

I know this to be the right thing, but I'm also in fear of not having data at hand when some decision needs to be made

If you think that my proposed questions are good then I use them to figure out what data I want to collect

simulacrum (Aug 28 2018 at 02:06, on Zulip):

(Right now I get the impression that might not be entirely clear)

simulacrum (Aug 28 2018 at 02:07, on Zulip):

Anyway -- I need to run for a bit but will be back later; I'd probably get a solid idea of what data you want to collect and maybe just start with collecting it (the format you proposed seems pretty good, can be relatively easily put into some other format if necessary).

Jake Goulding (Aug 28 2018 at 02:10, on Zulip):

For example, an unnamed compiler developer (let's call them "e. b.") said the playground should switch the default assembly output format "because everyone changes that setting".

because I haven't already been collecting that usage data, I can't make any decisions now. at best I can start logging that and then wait until "enough" data has been collected

Jake Goulding (Aug 28 2018 at 02:10, on Zulip):

I don't know how long is "enough" because I also don't have that level of insight ;-) I can barely state that I know the playground is used

Jake Goulding (Aug 28 2018 at 02:15, on Zulip):

https://github.com/integer32llc/rust-playground/issues/288

Jake Goulding (Aug 28 2018 at 02:16, on Zulip):

We also had the question of "how often was the run/LLVM/ASM/MIR button" clicked when we redid the UI and everyone was like "but muh dedicated LLVM IR button"

memoryruins (Aug 28 2018 at 02:27, on Zulip):

was that before the button persisted on the last output used?

memoryruins (Aug 28 2018 at 02:27, on Zulip):

either way, love that it does it now

Jake Goulding (Aug 28 2018 at 03:07, on Zulip):

@memoryruins that question was raised when we moved from distinct top-level buttons to the menu one now. There was a vocal component of people who were aghast because now they'd have to click twice to get their MIR :wink:

Jake Goulding (Aug 28 2018 at 03:07, on Zulip):

but I agree that the sticky mode is better. It was always part of the plan when we created the menu, but it took months for anyone to actaully file an issue requesting it

Jake Goulding (Aug 28 2018 at 03:08, on Zulip):

but it would have been nice to be able to say "98% of the clicks were for run, and 0.1% for for LLVM IR, they don't both get to be top-level buttons"

memoryruins (Aug 28 2018 at 18:47, on Zulip):

the little details like "show" mir and handling when there is no main() is also appreciated :)

qmx (Aug 28 2018 at 19:54, on Zulip):

Here's a wide-open call — anyone know of any good (free) metrics services?

coming late to the discussion, but you mean metrics as in google analytics-like or just metrics, like prometheus metrics?

Jake Goulding (Aug 28 2018 at 20:33, on Zulip):

@qmx no such thing as "too late" here

Jake Goulding (Aug 28 2018 at 20:33, on Zulip):

And I think part of the problem (echoing @simulacrum's points about what questions do I want to answer) is that I'm not sure what I want

Jake Goulding (Aug 28 2018 at 20:34, on Zulip):

We've had two concrete questions that I can point to (https://github.com/integer32llc/rust-playground/issues/288)

Jake Goulding (Aug 28 2018 at 20:36, on Zulip):

1. what's the relative breakdown of run / build / test / llvm / asm / mir / rustfmt / ...
2. what options do people use (e.g. assembly flavor, channel, mode)

Jake Goulding (Aug 28 2018 at 20:36, on Zulip):

There's been back-back-burner ideas for things like "what features do people use" and "what errors arise most frequently", but that requires even deeper introspection so I'm not worried about it for now

qmx (Aug 28 2018 at 20:52, on Zulip):

for the backend, prometheus metrics are super easy to add and bring a ton of value

qmx (Aug 28 2018 at 20:52, on Zulip):

you can technically have those pushed from your frontend to your backend via side channels

qmx (Aug 28 2018 at 20:53, on Zulip):

the nice thing is being able not only to expose those as grafana dashboards, but potentially warehouse this data as you please

qmx (Aug 28 2018 at 20:53, on Zulip):

(that's literally what I'm doing at my dayjob, warehousing metrics and sprinkling data-sciency stuff on top)

Jake Goulding (Aug 28 2018 at 21:04, on Zulip):

Yeah, I'd probably start with just backend metrics. Easier to add and not as obtrusive. Doesn't help with the always relevant question "do I really need to support X browser still"

Jake Goulding (Aug 28 2018 at 21:05, on Zulip):

I'd probably want to "warehouse" to local files and periodically copy those somewhere, just to avoid setting up more servers

Jake Goulding (Aug 28 2018 at 21:07, on Zulip):

Then dump those into something local for visualization

qmx (Aug 28 2018 at 21:23, on Zulip):

the rust prometheus client is pretty decent, although I still dream of finding time to make it easier to use by providing some procedural macros

Jake Goulding (Aug 28 2018 at 22:00, on Zulip):

@qmx is it within the Prometheus conceptual model to log stats to a local file and then later (maybe weeks/months later) on actually ingest them?

qmx (Aug 28 2018 at 22:07, on Zulip):

not really, your backend app exposes counters and prometheus scrapes them

qmx (Aug 28 2018 at 22:07, on Zulip):

and you get a timeseries of all this data with a fancy querying mechanism

Jake Goulding (Aug 28 2018 at 22:11, on Zulip):

@qmx for better or worse, the playground service restarts every so often (hour? 15 min?) because Im too lazy to do better. what happens to metrics when the server restarts? it seems like all of this would be in memory until its scraped

qmx (Aug 28 2018 at 22:12, on Zulip):

theoretically you just scrape it more often so it doesn't lose that much data

qmx (Aug 28 2018 at 22:12, on Zulip):

like, every 15s prometheus makes a request to the /metrics endpoint of your app

Jake Goulding (Aug 28 2018 at 22:13, on Zulip):

what happens when the scraper doesnt scrape? infinite memory usage?

qmx (Aug 28 2018 at 22:14, on Zulip):

nope

qmx (Aug 28 2018 at 22:14, on Zulip):

we're talking about metrics, so you end up having just a few counters in memory

qmx (Aug 28 2018 at 22:14, on Zulip):

like "MIR dump requests"=3

qmx (Aug 28 2018 at 22:16, on Zulip):

it detect counter resets

Jake Goulding (Aug 28 2018 at 22:17, on Zulip):

im missing how things like "request duration" work. is aggregation done in my app?

qmx (Aug 28 2018 at 22:19, on Zulip):

it can do, yes

qmx (Aug 28 2018 at 22:19, on Zulip):

histograms, percentiles, etc

qmx (Aug 28 2018 at 22:19, on Zulip):

https://prometheus.io/docs/practices/histograms/#count-and-sum-of-observations

qmx (Aug 28 2018 at 22:20, on Zulip):

there's a lot of useful stuff there, but if you never played with it it can look kinda overwhelming

Jake Goulding (Aug 28 2018 at 22:21, on Zulip):

I've been skimming

Jake Goulding (Aug 28 2018 at 22:21, on Zulip):

part of the problem is that I'm used to newrelic and loggly

Jake Goulding (Aug 28 2018 at 22:22, on Zulip):

which both are very powerful and I can retroactively go back and dig into things

Jake Goulding (Aug 28 2018 at 22:25, on Zulip):

For example, we wanted to see if an endpoint was still in use. I could show all requests by controller / action over the last month easily with loggly

qmx (Aug 28 2018 at 22:26, on Zulip):

yea, it's just a different approach

Jake Goulding (Aug 28 2018 at 22:39, on Zulip):

It's possible something like greylog is more my speed

Jake Goulding (Aug 30 2018 at 01:53, on Zulip):

pasted image

Some data out of graylog for the last ~100 MB of access log.

Jake Goulding (Aug 30 2018 at 01:53, on Zulip):

Now I just need to start recording more fine-grained detail...

Jake Goulding (Sep 14 2018 at 13:35, on Zulip):

pasted image

Seeking design feedback /cc @lqd

Jake Goulding (Sep 14 2018 at 13:35, on Zulip):

I'm not in love with putting the versions above the description

davidtwco (Sep 14 2018 at 13:35, on Zulip):

I'd mute the version with a dark grey so they don't stand out the same.

Jake Goulding (Sep 14 2018 at 13:36, on Zulip):

Comparison with existing stuff with versions:

pasted image

davidtwco (Sep 14 2018 at 13:36, on Zulip):

It's a bit different with the Rust versions because the description is essentially the version. Whereas the tools have a description that's more separate than the version.

Jake Goulding (Sep 14 2018 at 13:37, on Zulip):

@davidtwco you'd keep the version between the name and description though?

lqd (Sep 14 2018 at 13:38, on Zulip):

maybe move the version after the description ?

davidtwco (Sep 14 2018 at 13:39, on Zulip):

pasted image

davidtwco (Sep 14 2018 at 13:39, on Zulip):

Like that, looks the same with the Rust versions so it is consistent.

memoryruins (Sep 14 2018 at 13:39, on Zulip):

placing it to the right of the names with a muted grey

memoryruins (Sep 14 2018 at 13:39, on Zulip):

might look good

memoryruins (Sep 14 2018 at 13:39, on Zulip):

the grey helps

lqd (Sep 14 2018 at 13:39, on Zulip):

to the right is probably not going to fly since keyboard shortcuts can go there

davidtwco (Sep 14 2018 at 13:39, on Zulip):

Right aligning on the same level as the title isn't a bad idea, yeah.

davidtwco (Sep 14 2018 at 13:40, on Zulip):

That's a good point too.

lqd (Sep 14 2018 at 13:40, on Zulip):

my guess is: grey + on the last line

memoryruins (Sep 14 2018 at 13:40, on Zulip):

doesnt have to be all the way to the right, even a distance of one or two spaces from the name

memoryruins (Sep 14 2018 at 13:42, on Zulip):

(i would mock up example if i wasnt on mobile)

lqd (Sep 14 2018 at 13:42, on Zulip):

pasted image

memoryruins (Sep 14 2018 at 13:47, on Zulip):

looks good ^^

Jake Goulding (Sep 14 2018 at 13:47, on Zulip):

I was also thinking about right of the name, but there's not much room for SHA + date there. Splitting it seemed silly.

lqd (Sep 14 2018 at 13:47, on Zulip):

an older example with shortcuts, and the long version strings might not fit to the right

memoryruins (Sep 14 2018 at 13:47, on Zulip):

stays out of the way

Jake Goulding (Sep 14 2018 at 13:47, on Zulip):

Lemme move that around

lqd (Sep 14 2018 at 13:48, on Zulip):

pasted image

Jake Goulding (Sep 14 2018 at 13:50, on Zulip):

pasted image

davidtwco (Sep 14 2018 at 13:51, on Zulip):

Can you detect the platform to work out what shortcut should be shown?

Jake Goulding (Sep 14 2018 at 13:54, on Zulip):

Everything is possible with zombo.com JavaScript

lqd (Sep 14 2018 at 13:55, on Zulip):

also with UB

lqd (Sep 14 2018 at 13:56, on Zulip):

(we can also prefix the string they return with "version " for extra clarity if need be)

Jake Goulding (Sep 14 2018 at 13:58, on Zulip):

I was wondering if that was on purpose in your mock. What kind of confusion do you think leaving it off might cause?

lqd (Sep 14 2018 at 14:03, on Zulip):

I don't think there will be confusion in real life; just unsure if those could be seen as random numbers, or if people don't know that those are external tools, with their own lifecycle, version, release, etc

Jake Goulding (Sep 15 2018 at 13:18, on Zulip):

@lqd I wonder if there's an easy way I can find all the "unimportant" stuff in a crate directory to delete it

Jake Goulding (Sep 15 2018 at 13:19, on Zulip):

Like, the playground doesn't need tests / examples from crates

lqd (Sep 15 2018 at 13:20, on Zulip):

interesting

lqd (Sep 15 2018 at 13:20, on Zulip):

just to save space you mean ?

Jake Goulding (Sep 15 2018 at 13:21, on Zulip):

Yeah. For example, I learned that the docs for a single toolchain take up 300MB

Jake Goulding (Sep 15 2018 at 13:21, on Zulip):

Completely unneeded

lqd (Sep 15 2018 at 13:21, on Zulip):

it's going to be tough to know for the ones with a build.rs

Jake Goulding (Sep 15 2018 at 13:22, on Zulip):
337MB cargo build --release
693MB cargo build
337MB cargo fetch
Jake Goulding (Sep 15 2018 at 13:22, on Zulip):

(amount of space taken by each step)

Jake Goulding (Sep 15 2018 at 13:25, on Zulip):

It's true that build.rs makes things complicated, but I wonder if there's easy high-level checks

Jake Goulding (Sep 15 2018 at 13:26, on Zulip):

Maybe "keep any directory that contains a .rs except /examples and /tests"

lqd (Sep 15 2018 at 13:27, on Zulip):

we might need to look around at what cargo offers API-wise, for what it looks for when it compiles a crate ?

Jake Goulding (Sep 15 2018 at 13:28, on Zulip):

course, anything like this would only affect the "cargo fetch" step, as thats the source. the build steps would be unchanged

lqd (Sep 15 2018 at 13:28, on Zulip):

cargo.toml can contain a list of examples (as we've learned with hyper) (and benchmarks)

qmx (Sep 17 2018 at 13:10, on Zulip):

so, question about playground UX - I've spent a pretty good chunk of time trying to find a "new" button to clear the editor buffer, until I got fed up, selected the text and deleted it

qmx (Sep 17 2018 at 13:10, on Zulip):

shouldn't we have a button like this?

pnkfelix (Sep 17 2018 at 13:27, on Zulip):

I dunno, I guess I too just resort to "Select All and Clear", since Ctrl-A (or Command-A on mac) seems to work quickly enough for selecting all.

Jake Goulding (Sep 17 2018 at 14:58, on Zulip):

@qmx https://github.com/integer32llc/rust-playground/issues/323

Jake Goulding (Sep 17 2018 at 15:00, on Zulip):

My own opinion is that select-all delete is more intuitive

Jake Goulding (Sep 17 2018 at 15:00, on Zulip):

for me it's usually select-all paste or select-all start typing

qmx (Sep 17 2018 at 15:00, on Zulip):

but then you have to re-type the main fn

qmx (Sep 17 2018 at 15:00, on Zulip):

which is fine for me, but for a newcomer might be a hassle

Jake Goulding (Sep 17 2018 at 15:01, on Zulip):

So you don't actually want to clear the buffer then?

qmx (Sep 17 2018 at 15:01, on Zulip):

well, I came back to the playground after two weeks and was not expecting to see the wall of text I've left there

qmx (Sep 17 2018 at 15:01, on Zulip):

so a "reset" would return it to the hello world, yes

lqd (Sep 17 2018 at 15:23, on Zulip):

or the reverse, the hello world by default, + a link "Oh, you were here before, click here to keep editing that example from July 14"

memoryruins (Sep 17 2018 at 16:31, on Zulip):

i wanted a clear button a while back for mobile since im unable to highlight or hold backspace on the playground with my device haha

but the workaround was trivial. shared the default template i wanted, then set that as the bookmark to the playground

Jake Goulding (Sep 22 2018 at 11:49, on Zulip):

How can I convince people it's the playground not the playpen? :thinking:

memoryruins (Sep 22 2018 at 14:10, on Zulip):

im convinced, who isnt :thinking_face:

memoryruins (Sep 22 2018 at 14:11, on Zulip):

why didn’t zulip emoji that :thinking:

DPC (Sep 22 2018 at 14:14, on Zulip):

because it is thinking not thinking_face :P

memoryruins (Sep 22 2018 at 14:16, on Zulip):

IMG_1039.PNG

memoryruins (Sep 22 2018 at 14:16, on Zulip):

i clicked on zulip’s suggestion lol

DPC (Sep 22 2018 at 14:45, on Zulip):

odd bug :joy:

Dale Wijnand (Sep 26 2018 at 09:17, on Zulip):

Maybe it's _way_ too late for this, but I wonder if playground (or playpen) are the best names given Rust-the-game vs Rust-the-language..

pnkfelix (Sep 26 2018 at 09:21, on Zulip):

I don't think they are injecting any additional noise in the current context

pnkfelix (Sep 26 2018 at 09:22, on Zulip):

... i was about to add "to my knowledge, the only people who are confused are the Rust Game players, who come to our channel to complain or seeking assistance"; but then I realized that I have no knowledge of the corresponding channels for the Rust Game.

pnkfelix (Sep 26 2018 at 09:22, on Zulip):

Who knows how many potential Rust programmers are logging into the Rust Game itself to seek help with borrowck errors, and then are getting sniped while their avatar looks for clothing!

Dale Wijnand (Sep 26 2018 at 09:29, on Zulip):

Now you got me wondering if the "Rust Game players" have a collective name.. :smile:

memoryruins (Sep 26 2018 at 15:18, on Zulip):

quite a few rust (the game) players don't seem to notice when they walk into the community discord (or the subreddit, although easier to mistake if you're posting a thread from reddit's homepage)

memoryruins (Sep 26 2018 at 15:18, on Zulip):

since it's only occassional, i've grown to enjoy the mistakes haha, and the similarity of r/playrust and play.rust-lang.org is the cherry on top

memoryruins (Sep 26 2018 at 15:19, on Zulip):

half a year ago it finally happened the other way around https://www.reddit.com/r/playrust/comments/880mya/some_questions_regarding_rust/

Jake Goulding (Oct 14 2018 at 14:59, on Zulip):

@lqd looks like someone is starting to work on adding stdin support to the playground

Jake Goulding (Oct 14 2018 at 15:00, on Zulip):

I'd appreciate you chiming in with any suggestions, especially on how the frontend aspect might look.

lqd (Oct 14 2018 at 16:26, on Zulip):

interesting

lqd (Oct 14 2018 at 16:27, on Zulip):

I’ll take a look at it, no problem

lqd (Oct 14 2018 at 16:27, on Zulip):

(on my phone rn so as soon as I’m back home :)

Jake Goulding (Oct 14 2018 at 17:14, on Zulip):

oh, they haven't even started a frontend, so I don't think there's any rush

lqd (Oct 17 2018 at 19:12, on Zulip):

@Jake Goulding done

lqd (Oct 17 2018 at 19:14, on Zulip):

as I don't have a lot of experience in that use case myself (read: none) I added a couple thoughts and questions; in addition to an immediate suggestion I had, but maybe is crap

Jake Goulding (Oct 17 2018 at 19:54, on Zulip):

Thank you!

Jake Goulding (Nov 19 2018 at 19:10, on Zulip):

I wonder how ostentatious I should make the notification that the Playground is switching the default to Edition 2018

Jake Goulding (Nov 19 2018 at 19:10, on Zulip):

Maybe some <blink> and <marquee>

Jake Goulding (Nov 19 2018 at 19:10, on Zulip):

Animated mouse cursors

Jake Goulding (Nov 19 2018 at 19:10, on Zulip):

fireworks

RalfJ (Nov 19 2018 at 19:11, on Zulip):

TBH I already found that notification you had recently... what was it for again?... quite somewhat annoying^^

RalfJ (Nov 19 2018 at 19:11, on Zulip):

the one one had to click an X to remove it

Jake Goulding (Nov 19 2018 at 19:13, on Zulip):

That's probably because you clear all the cookies

Jake Goulding (Nov 19 2018 at 19:14, on Zulip):

Like everything else, the fact that you've seen that was stored in localstorage

Jake Goulding (Nov 19 2018 at 19:14, on Zulip):

Everyone else saw it once per browser instance.

Jake Goulding (Nov 19 2018 at 19:15, on Zulip):

And it was for the Rust survey.

RalfJ (Nov 19 2018 at 19:15, on Zulip):

Ah it was the survey right.

RalfJ (Nov 19 2018 at 19:16, on Zulip):

Yeah I have that on godbolt as well, I get these annoying two (!) popups (well, a popup and a banner) informing me that they use cookies each time.

RalfJ (Nov 19 2018 at 19:17, on Zulip):

I find it particularily ironic when sites use cookies to store that you opted out of tracking, and ask you to enable cookies to remember that choice :P Google did that for some time

Jake Goulding (Nov 19 2018 at 19:17, on Zulip):

Ugh, I'm waiting with dread for someone to tell me that the playground needs to have a GDPR notice.

Jake Goulding (Nov 19 2018 at 19:17, on Zulip):

What other option is there to store that information?

RalfJ (Nov 19 2018 at 19:17, on Zulip):

Just don't store anything, then you are fine wrt GDPR^^

RalfJ (Nov 19 2018 at 19:18, on Zulip):

well if there was any other option it'd be used for tracking as well. in a stateless scenario inherently you cannot tell that I am a repeat customer, and once it's not stateless you can use it for tracking...

RalfJ (Nov 19 2018 at 19:19, on Zulip):

for the google cookies I think there were extensions that set these cookies each time you start, so you'd always have exactly these cookies and no other, making it "stateless but with non-tracking cookies".

RalfJ (Nov 19 2018 at 19:19, on Zulip):

but for banners, there's not really a way I think

Jake Goulding (Nov 19 2018 at 19:19, on Zulip):

To double-check, you do realize that you are somewhat unique in your desire to have the playground remember nothing?

RalfJ (Nov 19 2018 at 19:20, on Zulip):

my desire is to not be tracked

RalfJ (Nov 19 2018 at 19:20, on Zulip):

or be tracked as little as possible

RalfJ (Nov 19 2018 at 19:20, on Zulip):

I know I sadly am a minority with this desire, or with the extend to which I am willing to go to achieve this desire.

Jake Goulding (Nov 19 2018 at 19:20, on Zulip):

can you quantify "track"?

Jake Goulding (Nov 19 2018 at 19:21, on Zulip):

For example, there's information about people that I want to know and I don't collect. Knowing what browser and screen size people use helps me optimize.

RalfJ (Nov 19 2018 at 19:21, on Zulip):

hm, not sure if I have a precise definition, but certainly anything that could tell that two distinct interactions came from the same person is tracking for me

Jake Goulding (Nov 19 2018 at 19:22, on Zulip):

Knowing what people do ("build" / "miri" / "etc") also helps focus the limited development time

RalfJ (Nov 19 2018 at 19:22, on Zulip):

for practical reasons, I allow cookies for within a browser session (that's a compromise as otherwise everything is broken), so practically speaking anything that can recognize me after a browser restart is tracking

RalfJ (Nov 19 2018 at 19:22, on Zulip):

counting how many people click "miri" is not tracking

RalfJ (Nov 19 2018 at 19:23, on Zulip):

counting how many people click "miri" per-country is not tracking, at least not for countries with significant user bases. doing it per-IP is. somewhere in the middle is a large gray area.^^

RalfJ (Nov 19 2018 at 19:24, on Zulip):

(these are my personal judgements, I have no idea what GDPR has to say here^^)

RalfJ (Nov 19 2018 at 19:25, on Zulip):

basically, if the log entries can be assigned to a person -- not in the sense of "I know their name", but in the sense of "I know (or can statistically assume) these X things were done by the same person" -- that's tracking for me

RalfJ (Nov 19 2018 at 19:26, on Zulip):

not sure if that helps? I know there are legitimate needs or at least desires of web devs that are in conflict with this.

RalfJ (Nov 19 2018 at 19:28, on Zulip):

for the banner, storing "the banner was already shown" is not tracking, but there is no way I can distinguish "good" cookies from "bad" cookies so I clear them all when restarting the browser. and anyway playground is on a whitelist now so that restoring content after a restart works, and because I trust you :D

Jake Goulding (Nov 19 2018 at 19:42, on Zulip):

I wonder if I could use the do-not-track settings and then disable anything like the banner

RalfJ (Nov 19 2018 at 19:44, on Zulip):

well that'd certainly work for me^^

RalfJ (Nov 19 2018 at 19:44, on Zulip):

or maybe just make the banner go away after a second or two?

nagisa (Nov 19 2018 at 19:44, on Zulip):

IIRC those will stop being sent soonish?

nagisa (Nov 19 2018 at 19:44, on Zulip):

I don’t believe that header is there to stay

Jake Goulding (Nov 19 2018 at 20:55, on Zulip):

Yeah, I had an inkling of that. Basically some browser-provided sign that I could use to disable functionality

And wait for people to complain about lacking functionality...

RalfJ (Nov 19 2018 at 20:58, on Zulip):

;)

gnzlbg (Nov 20 2018 at 08:21, on Zulip):

I think that if we had a checkbox that said "Track me" and it is unticked by default, and when it is unticked, the playground doesn't track anything at all, then that would be ok and GDPR compliant.

gnzlbg (Nov 20 2018 at 08:22, on Zulip):

Don't know if a banner / pop-up for this is necessary, I don't think so as long as tracking is disabled by default, and is opt-in.
In the check box one can have some info bubble explaining what's tracked and what isn't.

lqd (Nov 28 2018 at 17:16, on Zulip):

wonder what happened to rustfmt, the playground can't parse its version anymore, all the meta information is empty :thinking:

lqd (Nov 30 2018 at 15:33, on Zulip):

cc @Jake Goulding

RalfJ (Nov 30 2018 at 15:37, on Zulip):

@lqd maybe report a bug at https://github.com/integer32llc/rust-playground/ ?

lqd (Nov 30 2018 at 15:37, on Zulip):

sure but I was too lazy :p

lqd (Nov 30 2018 at 15:38, on Zulip):

(and it's the sort of thing I can't easily test or fix myself)

lqd (Nov 30 2018 at 15:43, on Zulip):

@RalfJ you have made me more reasonable and I did open an issue ;)

Jake Goulding (Dec 01 2018 at 16:23, on Zulip):

For those following along at home, rustfmt itself no longer reports a version via cargo fmt --version

Jake Goulding (Dec 03 2018 at 19:09, on Zulip):

A suggestion has been made to allow loading code from an arbitrary URL in the playground (https://github.com/integer32llc/rust-playground/issues/439). Can anyone think of a reason to not implement such a thing?

Jake Goulding (Dec 03 2018 at 19:09, on Zulip):

@lqd ^

lqd (Dec 03 2018 at 19:31, on Zulip):

I'm far from being an expert on security tbh — but we're effectively already in the worst case scenario of executing random code :) so I'm not immediately seeing how this makes things obviously worse. I don't know if it may be interesting to ensure the playground server can blacklist some servers if need be ? And that targets can disallow being loaded (maybe this can happen if a site changes owners) but I assume fetch would by default do so in the browser if CORS is disallowed by the remote server (that would require making the requests to get the code client-side, whereas I think the GH support today is done by the server) — similarly maybe if some day the target server disallows requests, we can automatically add it the blacklist so that we don't bother it anymore. (that was very ramby sorry)

RalfJ (Dec 03 2018 at 19:43, on Zulip):

I assume the actual request happens from the server? so this would effectively be some form of open proxy, albeit one where the reply does not get rendered by the browser. hm.

lqd (Dec 03 2018 at 19:54, on Zulip):

IIRC it's server-side for gists, to use the github api, but this new one could arguably be done client-side in order not to have the open proxy yeah

RalfJ (Dec 03 2018 at 20:00, on Zulip):

but then don't we run against the same-origin policy?

RalfJ (Dec 03 2018 at 20:00, on Zulip):

(I know nothing about webdev so maybe that question makes so sense^^)

centril (Dec 03 2018 at 20:01, on Zulip):

I assume same-origin refers to https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy ?

lqd (Dec 03 2018 at 20:19, on Zulip):

yeah, we might indeed, unless there are some CORS header allowing us

lqd (Dec 03 2018 at 20:21, on Zulip):

it's an interesting proposition to require the website where you host the file to enable embedding the resource, but maybe prohibitive for the vast majority of sites where one doesn't have control over this kind of things

lqd (Dec 03 2018 at 20:22, on Zulip):

(but yeah my original comment made it look like cross origin would be allowed by default which is indeed surely not the case and was wrong to frame it this way)

Jake Goulding (Dec 03 2018 at 20:33, on Zulip):

The playground currently is both client-side and server-side for gists. The Gist API requires authentication, which is done server side. The client makes a request to the backend. Yes, this means that the playground can be used to circumvent GitHubs API and once someone abuses that, it's basically over.

Jake Goulding (Dec 03 2018 at 20:33, on Zulip):

And I'd expect that new thing to be only client side.

Jake Goulding (Dec 03 2018 at 20:36, on Zulip):

CORS & friends is an interesting question though.

Jake Goulding (Dec 10 2018 at 15:33, on Zulip):

@Oli The playground is using clippy-preview; I assume that's no longer being updated and I should switch to just clippy?

oli (Dec 10 2018 at 15:34, on Zulip):

Sure. And I do think it is still updated. I thought they are just renames of each other?

oli (Dec 10 2018 at 15:34, on Zulip):

we had a few days of clippy outages, maybe that's what you're seeing?

Jake Goulding (Dec 10 2018 at 15:38, on Zulip):

Oh, I didn't see anything specifically, just was passing through that section of code.

Jake Goulding (Dec 10 2018 at 15:39, on Zulip):

Also, the blog post says

Clippy is now considered 1.0,

but the version on the playground is like 0.1xx or something

Jake Goulding (Dec 10 2018 at 15:39, on Zulip):

so I figured it was different

Jake Goulding (Dec 10 2018 at 15:42, on Zulip):

@Oli clippy doesn't tag anything, I guess? Hard to tell when a commit should appear in a release

oli (Dec 10 2018 at 15:42, on Zulip):

yea we're working on that

Last update: Nov 20 2019 at 12:25UTC