Categories
Assignments Week 2: How it Works (Front End)

Code Your Own Way

(This is an incredibly late post, but in my defense – I changed my mind on some things in the process of writing this, and I just couldn’t get myself to finish any faster. Better late than never? Anyway…)

Humanities students should “learn to program” in the sense that Evan Donahue describes it: by engaging with the computer sciences with the same fundamental approaches and attitudes towards “questioning received knowledge” that scholars and researchers might use in the humanities, without swallowing this idea that computer sciences are fundamentally illegible to those without training in a very particular kind of systematic thinking.

[…] [M]y main point is that in many cases the concerns of the computer sciences and the concerns of the humanities are literally one and the same. […] The discourse divide is not between the humanities and the computer sciences, but equally much between every subfield therein. Learning to program should be no more and no less enabling than reading Derrida. 

Evan Donahue, A “Hello World” Apart

In the last several years, there’s been a big push to get people into programming – many of them aimed at young people or populations who are under-represented in the programming field in terms of demographics (Girls Who Code, Black Girls Code, Code Black, etc). Even at my local library there is a sharply growing collection of programming books aimed at children and teens – not just manuals or how-to guides, either, but graphic novels like this series which aim to, I assume, make coding more approachable for kids.

Admittedly, I’m very cynical about this. A lot of the rhetoric supporting the coding push sounds great (wanting diversity in the field, for example, not just for the principle of the thing but to make the higher-than-average salaries from the tech field accessible to groups which statistically earn less), but I’m suspicious that a large motive behind the push is simply to beef up the labor pool so that the salaries will drop. On the other hand, it’s worth pointing out here that the tech field is growing quickly, which means more positions will be created in coming years. That should keep the market from getting glutted.

On the other-other hand, I am old enough to remember Y2K and the burst of the dot-com bubble with its subsequent fallout – so part of me is waiting for the other shoe to drop. Unlimited growth is not possible; eventually the market will have expanded as far as it possibly can. And Australia is on fire, the planet is boiling alive, and we’re all going to die, so nothing matters anyway.

On yet another hand (or maybe just the original hand), there could be an inarguable benefit to these fields by being opened up to more and more people – what author James Bridle calls a “massive democratization” :

(Length 1:31) James Bridle speaking to Verso Books, 2019

As I’ve seen more and more stories in the same vein as the one James Bridle mentions – of algorithms gone wrong and spyware being the norm and so on, especially within the last 10 – 15 years – I’ve come to be disappointed and increasingly bothered. I have also been quite struck by Shosana Zuboff’s work discussing surveillance capitalism (here I go using the c- word again). A lack of oversight and unwillingness on the part of people who feel they are “non-tech” contributes to this. Getting more people and more perspectives to examine the computer sciences and investigate it would be all to the good. To quote Donahue again –

Learn to program whenever it is convenient, but start thinking about the computer sciences as relevant areas of concern right now.

Evan Donahue, A “Hello World” Apart

To be clear, I have no fundamental objection to technology in and of itself. I have been tinkering with code on-and-off for 18 years, and before coming here to Carleton I spent a couple of years at community college getting my AS in Computer Science and having a high old time. Technology should be a neutral tool whose value comes from the way it is used by people. It’s just that I feel technology has been not only misused by sincere mistake/ignorance but has also been deliberately hijacked and used as a tool to perpetuate unfairness and inequality in our flesh-and-blood world.

Anyway, in closing – and to prove that I am not entirely allergic to computers, and can fill the basic requirements for my post – have some C code to do matrix back-substitution:

void backSubstitution(matrixType *A, matrixType *b, matrixType *x)
{
	int i, j;
	
	x->m = b->m;
	x->n = 1;
	for(i = x->m-1; i >= 0; --i){
		x->M[i][0] = b->M[i][0];
		for (j = x->m-1; j > i; j--){
			x->M[i][0] = x->M[i][0] - (A->M[i][j]) * (x->M[j][0]);
		}
		x->M[i][0] = x->M[i][0] / A->M[i][i];
	}
return;
}

Leave a Reply

Your email address will not be published. Required fields are marked *

css.php