Project

Comments on Code

Char Stiles

I have always been interested in the communities around coding.

I love shader programming, I do it as a performance, but I have always felt a little outside of the largest shader coding community on the web: ShaderToy.com

ShaderToy is a shader social media where users can create and upload shaders that they make and other users can comment and like the creations. 

It looks like this:

 The individual shaders look like this: 

The main focus of this experience is not the comments, but its something I have been interested in. 

I have always figured that shader comments usually fall into 3 main categories: "This is cool", "I don't understand", and "This is wrong".

I wanted to see if this was actually true! I wrote a few python scripts that use Selenium and Beautiful Soup, tools basically allow you to write Javascript to act as a browser user, to scrape the comments, usernames, dates, and shader thumbnails. I mapped the comments out on a 2D map using UMAP. UMAP is kind of like TSNE if you are familiar with vector reduction techniques. 

If you go to consider usernames option under algorithm, and turn on labels, this is what I would say is my personal tour of the map. Here I can offer some interesting clusters I found.

Finding these little pockets of similar comments gave more insight on what values are imbued within the community. 

On the top of the map you have the most technical comments, such as suggestions for changes in code.

As you move south the topics move to more conversational, for example, asking if one could use the code in a commercial project. This stuck out to me because it is a frequent topic to discuss for a lot of programming communities, because of the tension between open source movements and commercialization of software, so I was sure I was going to find those conversations within this website.

Moving downward more, the technical corrections turn softer into technical compliments.

Here "dof" stands for depth of field, which is notoriously difficult and resource-heavy to do in a shader.

The comments circle around the code here in the center.

At the very bottom you have the most terse compliments that very well could also be on an Instagram selfie!

On the side, the UMAP algorithm clustered the comments by the creator Inigo Quilez "IQ" on this one peninsula sticking out on the right of the compliments side of the map. He is known for being gracious.

 In the center, closer to the bottom there is a clustering of folks talking about corresponding off of shadertoy.com. It'r hard to Hit but if you put your mouse over the C in "Connecting" you can find it.

 If you have any questions or comments, feel free to email me at ch4@mit.edu :)