It looks like you're new here. If you want to get involved, click one of these buttons!
Before we begin code critiques, we have to find the bodies of code worth investigating. Over the past ten years, we’ve looked at a wide range of code. For example,
It turns out one of the most productive intellectual contributions you can make to critical code studies is to identify a body of code worth considering. That activity, of identifying an object worth analyzing, launches the investigation and incites exploration.
Why is this activity so important? Primarily because to call out a body of code as worthy of exploration is to say this artifact has significance. While CCS contends that all code has significance beyond what it does, for a scholar to turn a spotlight on a piece of code is like choosing a book for a book club or perhaps more significantly to present a work on on display in a museum. In the same way the Code Critiques do, that act of curation gives the rest of us a chance to walk around and consider various aspects -- and we can help find snippets worth exploring further.
Let us begin this thread with a call for codebases -- a call for you to identify programs or entire pieces of software worth exploring. These could be in repositories or merely a single file -- as long as the code is publically available for collective exploration.
So we put out the call to you? What codebases do you want to identify?
Comments
The Apple II DOS source code
Microsoft Word for Windows Source Code
bitcoin source code
oops -- moving this to our existing election thread
Scikit-learn and OpenCV
the new Beads language example code.
Beads is a fresh rethink of traditional languages. Instead of adding hundreds of syntactical features, and introducing obscure category theory derived terms like Monoids and Functors, it strips down writing graphical interactive software to the maximum degree of simplicity; by merging a graphical model and a graph database (more general and flexible than relational DB) into the language, and making it possible to live without complex frameworks and many layers, it reduces software construction to the bare minimum. The central problem with programming has been for 50 years that computers have no reverse gear; the process we euphemistically call debugging in truth is fixing our own errors, hampered by the fact that the hardware cannot go in reverse and we must thus mentally imagine why the program ended up in its current undesired state. Beads was designed from the start to be reversible, and thus present a much more human system with which to work. Few people have the time or inclination to learn a new language, and I fully expect that most people will ignore this type of development until it becomes mainstream, but it is the direction we should be headed in, a simplification of the process instead of building monuments to complexity.
https://magicmouse.github.io/beads-examples/
WaveFunctionCollapse - "Bitmap & tilemap generation from a single example with the help of ideas from quantum mechanics" -- and /or any of the many ports to other languages.
Also, Unintended Bias Analysis for Machine Learning from ConversationAI -- it is really helpful to avoid having methods for opening the black box of ML turn into yet another black box, and CCS might have a role to play in unpacking what it means concretely for code to intervene in unintended bias.
Self-driving, e.g. Tesla: https://github.com/teslamotors/linux
Vaughan, Steven J. "Tesla starts to release its cars' open-source Linux software code." ZDNet. May 30, 2018. https://www.zdnet.com/article/tesla-starts-to-release-its-cars-open-source-linux-software-code/
The source code for Terry Cavanagh's VVVVVV!
https://github.com/TerryCavanagh/vvvvvv
There's a discussion of it already here:
https://distractionware.com/blog/2020/01/vvvvvv-is-now-open-source/