27b35b1af3f41d7d40c009f1ab1071ade8c86d99 — Matt Arnold 2 months ago 6f1223c
Hello Darkness my old friend
1 files changed, 0 insertions(+), 242 deletions(-)

D content/blog/2024-03-01-techphil.md
D content/blog/2024-03-01-techphil.md => content/blog/2024-03-01-techphil.md +0 -242
@@ 1,242 0,0 @@
title = "Toward a Anarchist Philosophy of Techonlogy"
date = "2024-02-29"
## Toward a Anarchist Philosophy of Techonlogy

 a friend sent me an  email  recently, and told me that my ideas intrigued  them, and inquired whether I had a newsletter she could subscribe to. This blog is the  closest thing I have, and I hardly ever use it.  I want to change that.  let's give shape to one of my more intriguing ideas.  As a matter of fact  let's be radical together.  I think the current western philosophy of technology sucks. And I want to change it.
##  What has silicon valley to do with Athens.

 When I start  talking about the philosophy of technology people often get confused. They will shay things like "aren't computers  just there to assist us", or "more efficiency is good",  or in this is my favorite " it's just computer software, it's not worth getting all twisted and knots over."  As it turns out the premise of the questions/thoughts  si deeply rooted in american attitudes toward technology. In the US  we tend to see all new technologies, especially those that increase so called "productivity",  or "individual freedom"  as good in themselves. Even further we tend to see "technological progress"  as inevitable, almost divinely preordained. The techno deterministic attitude is so diffused within our culture, that trying to point it out and explain it can sometimes seem like explaining water to a fish.

  But technological determinism as a philosophy only dates back about a hundred and fifty years. It was not always thus. In fact there is something of an urban legend, among students of Technology and Culture, that goes a little something like this.
  A village on the periphery of the roman empire wanted to build a waterwheel to power its mill. At the time,  construction of water wheels needed to be approved by the imperial court itself. The village leaders  dutifully wrote to the  imperial court, and were surprised when they got a reply from the Emperor himself. Much to their dismay however permission was denied. In his letter the emperor explained, that one of his duties as the emperor was to ensure all imperial subjects had a job. The village in question, was too small for a waterwheel, and therefore  producing too much too fast would  surely put too many people out of work.
   I had a professor once  swear to me that there was archaeological evidence to back this story up,  but a time of writing I can't find anything to back it up. So for now we'll just put it as an urban legend.  The historical veracity of the story is very much beside the point. For it demonstrates, that there are other ways to conceive of technology.  rather than just blindly buying what  the industry and marketers, say we need. We can be and in my view we should be more intentional and community oriented in our technological practice.

   In fact history is replete with examples, of  capitalists driving our technical development in directions that are demonstrably deleterious to society. At the turn of  twentieth century  for example, America had one of the best and the most well developed system of trains and public transit in the world. The problem however was that it was privately owned, and thus  when the  internal combustion engine automobile  began to be mass marketed. Car companies such as  principally General Motars began buying up streetcar companies, and in some cases railroad lines in order to destroy them.  Worse  in the post  World War Two such companies used  the capital they acquired from US  taxpayers as a result of the war. To advocate for exclusively car centric public infrastructure. Not only was this not resisted by the public of the time, it was in most cases cheered. The car was seen as an icon of individual freedom, and efficiency. It mattered very little that this public perception was largely a result of automobile industry propaganda.
   I feel like the detrimental effects of the automobile, at least in its internal combustion form are so well known to  the audience of this blog. That I need not restate them here, and this is not an essay about  capitalism or cars. For more information I would direct the interested reader to 99% Invisible episode 76. And the book _Down the Asphalt Path_  by Clay Mcshane. Honestly the source page for the Adam Ruins Everything episode about cars, has most of the sources I would cite here. But this topic has provided ample fodder for more than one  doctoral dissertation, in technological history so be careful it is a rabbit hole.

{{ conversation(creature="Greg", message="It is worth noting that a substantial number of recent Historians of Technology have begun to question the validity of The General Motars Street Car Conspiracy. In fact most of the results which surface in a Search for information about it are skeptic/revisionist, on this point. Nonetheless it is beyond questioning that the auto industry, had an outsized, and some would say undue influnace over United States policy. From at least the Eisenhower Administration, until the late 1980s  ")}}

Automotive history, is but one example of the point I wish to illustrate. Which is simply this, rather than being an inevitable force from on high technological progress is driven by  collective societal choice.  Which is often shaped by forces within the culture in which the technology arises or is practiced.   The reciprocal nature of the relationship between technology and culture  is the foundational assumption, of both the modern history of technology, and an academic discipline, in its own right. In which I have 2/3rds  of a degree. 

{{conversation(creature="Evanna", message="It is rather boringly called Technology and Culture, or sometimes Science, Technology, and Sociey Studies")}}

 I hope to have demonstrated in this brief aside that philosophy has a lot to do with technology, because if I  failed in this endeavor nothing which follows in the remainder of this  post will make any sense.
## The dominant philosophy of technology
  Assuming you are convinced that  technology is a reflection of culture, and doesn't just progress as the result of some semi divine force.  This then begs the question. What is the dominant  philosophy of technology today?  I would argue that it is some form of Frederick Winslow Taylor's  concept of scientific management, combined with a heavy dose of technological determinism, and not  and insignificant dash of neoliberal/capitalist realist nostrums. Which when combined  form a philosophical milieu that encourages  numb acquiescence in whatever technological *innovation* that our venture capitalist overlords, suggest.
  In Taylor's 1911 book _Principles of Scientific Management_  he opens with  the startling  thesis, 
  " in the past man was first, in the future the system must be first".  While he states in the very next sentence that this does not and should not imply that great men are not needed. He sees the development of human beings as subordinate to an "scientific management system". Whose central object, and overriding goal is to increase productivity and thus profit for business owners. Ask any MBA " scientific management"  was a groundbreaking concept in the field of  business management. And its modern descendants, most  infamously,  algorithmic scheduling  are still almost ubiquitous across industry today.
   The 1933   world's fair had a far more dystopian slogan for the same concept. " Science discovers, industry applies,  mankind conforms".
{{conversation(creature="Evanna", message="Some people would dispute my human's lumping of Taylor in with Technological Determinist. Some including the wikipedia page on it call technological determinism a Marxist philosophy.  But his thesis, in his seminal work, stated above is shockingly close to the marxist conception of determinism. Even if Taylor himself comes at it from a decidedly capitalist perspective ")}}
  this idea  that humanity is subject, and moreover ought to be subject,  to and inevitable force be it "science"  or " the market",  tor something else altogether is pervasive in our society regardless of political, or religious perspective.
   Moreover occasionally the assumptions of the  our socioeconomic system, are so unquestioned  htat they are often held up as  good of themselves, needing no explanation or defense.
 Think for instance of one of the principal arguments of the  so called returned to the office movement. The one that  goes as such. If no one returns to the office than  the commercial real estate industry will be destroyed.
  The mere fact that some would cite the potential disruption and loss of  money  of a change in business model, as a reason  that ordinary working people should be compelled to give up the benefits of work from home. Shows the pervasiveness  of individual subordination to the economic system.
   In our own industry, everyone bemoans the rise of so called browser monoculture. kvetches  about the shocking amount of machine resources needed to run modern websites. And sometimes if one is really lucky  or self aware. There will  be moralizing sermons, about the environmental effects of so much  electronic waste.
   But it is worth asking how the hell did we get here? After all one could implement, and can still implement the first complete version of the HTML spec, rather confusingly called  version "2.01"  in less than three thousand lines of code. And javascript is famously one of those  deadline driven hacks that was mostly powered by caffeine and prayer.
 And there is still at least one javascript interpreter MuJs  that can run in ms dos.
 I would argue I think  without much opposition,  that the rise in the complexity of  web browsers to a point where it would take more then ten human lifetimes, to make a new one. And the fact that it is almost impossible to make one that is efficient enough so that a computer from fifteen years ago can run on the modern internet. Is directly related to the discovery that  the features is used for client side interactivity can be used to offload heavy computation onto the user's machine.  thus saving on server costs. In other words the modern internet has become nothing more than a  semi voluntary botnet for our venture capitalist overlords.
  Software bloat is profitable, there is no other reason that it continues.  There is no respect in our industry for  the sanctity of the individual's  data, so why on earth would there be any respect for the sanctity of the individual's machine. But this is nothing new.
   Nearly every technological innovation of the last two hundred years or so, from factories, to mechanical combine harvesters, radios, to computers, and internet to AI has been sold to us as a great win for either individuals or the progress of the species of the whole. Indeed some have been, more often than not however these  innovations are coopted to create wealth for a few  while leaving a vast majority in poverty.  But as I hope to demonstrate in the next section, it need not  necessarily be this way. And indeed we in the technology professions are perhaps best positioned  to write a new ending to this story.

## An Anarchist TechnoPhilosphy 

>  Does it have to start with a broken heart
> Broken dreams and bleeding parts?
> We were young and the world was clear
> Young ambitions disappear
> I swore, it would never come to this
> The average, the obvious
> I'm still discontented down here
> I'm still discontented..

-- Switchfoot, Burn out Bright from Oh! Gravity! Sparrow Records 2007

 Perhaps I didn't need to convince you of the predicament we find ourselves in. Maybe it was even unnecessary to point out that Said predicament was brought about by  collective societal choices, which favour  moneyed interests in our  culture.  However if I know you, the question in your mind right now  is what can I do about it‽ 
 Well, I have a unique perspective on that question because I am, on the margins of the mainstream  technology industry, to put it mildly.
## Computers, Midas, and Myself
  Allow me to introduce myself for those who don't know me, I am "Pius Q Bird". The principal fursona  of a multiply disabled creator, and software developer. By the name of Matt Arnold.  My disabilities include   cerebral palsy, bipolar disorder, autism, and last but not least visual impairments. My  disabilities have profoundly shaped the course of my life  and my own concept of identity as you might expect.
   There is a reason I play a bird on the internet,  after all.
  my condition,  or more accurately its social and economic effects on me. Have shaped my relationship with technology in profound ways.  I have never bought a computer that was new in my life. All my machines, have been at the least four years old at the time I bought them or at the most extreme ten years old. Although the latter one I had to throw away because a single  core Celeron machine in 2022  was a bit too low and even for me. At the same time I have requirements,  principally speech input and output, which make the demands upon my computing devices  more hefty than average.
   This is not by choice I have lived below the poverty line for almost all of my adult life. Even the fortune one hundred company I worked for briefly five years ago. Quickly found a way to get rid of me, after they found complying with the americans with disabilities act a bet too onerous for their tastes.
   I switched to Linux in 2006  more is a survival mechanism than anything else. There was no upgrade path for my Pentium III running windows me. And a new computer wouldn't come for well over a year and a half.
   I even managed  to make a few contributions here and there back to the open source community, principally debian packaging.  Between 2007  and 2011. I also made some contributions to slackbuilds.org  and a few other places. But my principal work in open source has been as a situated software upstream for myself and other similarly disabled users. My software is not used by tens of thousands of people let alone hundreds. If I get ten regular users of my software I consider that to be "doing numbers"  it is important work that I enjoy doing, although my favourite days are when the users actually donate. I love it when that happens. All digressions aside I have had to learn about efficiency, and proper  stewardship of computing resources  almost since the beginning of my software development career.  So  I think I can say with confidence, that it need not be this way.
   But also in my experience, it is hard for software engineers trained in a more mainstream environment to grasp how I achieve   the remarkable performance numbers that I get.
   indeed, this is why I think I was hired at above mentioned megacorporation in the first place. They assumed I was a 10x  superstar  who had somehow gone undiscovered.   and that I had some secret sauce that they could exploit to improve they're very unremarkable to django app. But alas there is only so much I can do when you're moving your internal  line of business application to a React  based  single page deal,  Client rendered API driven. requiring the latest version of chrome. All the while the machines that sit on your users desks are in fact single core Celerons.
   There are not enough algorithmic optimizations in the world to fix that.
{{conversation(creature="Greg", message=" My humam will state categorically and for the whole world to see that I am not a 10x engineer at all.  they do exist although they're rarer than you think and most don't brag about being one. Most people  that claim they are a  the mythical 10x engineer,  get there with epic amounts of substance abuse, or corner cutting  so monumental that the result is practically ovoid.") }}

 My point is my background and constraints how forced me to question industry orthodoxy. And to come to a  completely different philosophy of technology then is mainstream.  Only to discover that there was  an entire nascent community forming around what I took to be, my own  original thought.   Indeed   I have been sprinkling this essay with certain terms of art, that a careful reader might use to jump ahead.
  This philosophy has no name, yet.  the combination of these ideas might in fact be unique to me.  but the ideas I am about to present are not new some of them even go back decades. Or in some cases centuries.  one first appeared in literature in 2019.  so as with all philosophies it is a giant  remix of previous work.  I call it Techno Anarchism.  the next section  will set out principles. and our final section  I will attempt to give some resources for further study and practice.

##  a primer on techno anarchism 

 before we start slinging around terms like local first software, and critiquing the work of Drew Devault. I think it would be helpful if we first explained what anarchism is, because it is one of those things in life which nine and ten people hate what they perceive it to be. But not one in ten would hate what it actually is, if they understood it.
  Anarchism simply put is a philosophy that is  highly suspicious of all forms of  human hierarchy.  be it political, economic, religious, or indeed  technologically established.
   Anarchy seeks  identify those forms of hierarchy which are unnecessary to  individual human flourishing,  or the common good of all, and eliminate them.
   Anarchists do not seek to eliminate *all forms*  of organization or government, however we do assert that societal organization need not involve  some people being on top, and others the bottom.  we seek a society,  where power is as evenly distributed as possible.
   But what has this to do with  information  technology or the software industry.  the answer should be obvious if you're paying attention.  it is the  choices of the software industry, which perpetuates hierarchy.
   by choosing to make websites but only render efficiently, on a browser which requires eight gigabytes of ram as  a modern chromium based browser, inevitably needs. At a minimum we put a gate in front of those people and institutions who can't afford  newer hardware.  
   let's say you're a victim of domestic violence, and were able to escape your abuser with only your government provided safe link phone. this is 2024, so it is at least a smartphone. Unlike the one I  was issued back in 2015   which didn't even have a camera or texting capabilities as those were considered luxuries back then.
   But the smartphone you received is only a single core model running android 4.4, and has four gigabytes of ram if we're lucky. Here's the thought experiment can you call an uber from such a device.  The answer is kind of if  you know what you're doing. Btu I don't know how long that will be the case.
   Now assume you have the technical knowledge of the average member of the public, could you still do it. The answer I think would be no.
   By practicing software engineering in the way we do, we say to that domestic violence victim you don't matter. We say to  the mother of th enoeb tlanriuastvic child working two jobs on welfare. Your child can't have a voice.   We as software engineers were raised on dreams of  computer technology liberating the world and bringing it closer.  But we still practice software like capitalists.
   Understand I am not talking about open source or free software, they are necessary minimums. But only that,  and as we have seen all too often foss  gets exploited for capitalist ends.  How then does an anarchist design software.

##  First principle,  don't tap markets build communities

 the first principle is perhaps the simplest. In  software we think that the more users we have, be they paying customers, or users of your Linux distribution the more successful you are.  but is any maintainer of a popular project can tell you this leads to burnout, because all your users will have different use cases.  therefore the scope of the project will increase over time. And this scope creep will inevitably lead to a project that is too large for a maintainer to handle. At this point some projects get lucky, and  can gather a community around them to sustain them. 
  And some projects  are required to have a large  ever evolving scope. Think the Linux kernel for example. Most projects aren't this way and just end up as archives on GitHub.  more users will not make you happy.
   What do we do instead, build the community first. Or seek out a community before you write code.
   Or if you can't do that ta least seek out a community  which can at least act as your cheering section.
 ideally do both because in most cases your users will be less technical than you are, and you will need knowledgeable people to talk shop with.
  whatever you do in this regard recognize that community is destiny. The communities you join  will have and almost irresistible effect on shaping your beliefs and future practice. You are not alone choose wisely.

## second principle, servant leadership

 now that you have situated yourself within a community, either created for the purpose or found and chosen. Recognize that highly skilled people such as yourself, are often leaders in such communities. And in the case you built it yourself you will automatically and ipsos facto be  the leader, this has a lot of privileges with it. You can now lol kick somebody for instance. Recognize however that the people who come to you are doing so out of a place of need and trust.
  Very few people seek out new software just for the fun of it, Videogames being the one obvious exception of course.   the users are here not because they like you, although that may be true, for come to be true in time. But the user wouldn't be here with you if they didn't have a need which wasn't being fulfilled anywhere else. therefore they are placing a lot of trust in you.
  you should aspire to be worthy of that trust, and conduct yourself as if you were already worthy of it. This is the essence of servant leadership.  The most admirable leaders are those who don't seek to accumulate power for its own sake, but to use it to  bring up those lower than them.
##  third principle respect the user's  stuff

 this one is a little more concrete, but it flows naturally from the second one respect the users stuff. This means in large part placing the user's needs above your needs as a developer. Do you really need to render that documentation client side, yes it would be cool and up to date. But who are you excluding with that decision. Your users might have significantly more constrained hardware requirements than you do, or accessibility requirements you are unaware of.  
 I am not saying that you can't do things to make your own life easier. This principle only requires that you exercise due care and caution

 As an example of this in action there was once a coding session which I had. I believe it was even caught on video. Where I spent three hours tracing down  commit histories going back ten years, because I didn't want to accidentally bump the minimum python version on a particular project.
  Now I later found out that  the user for whom I was taking this extra step, had already upgraded their equipment. So I could've just bumped python version.  However I consider this effort to success as it reminded me of the discipline required when developing software in this manner. yes  in this particular case the effort proved unnecessary,  but the exercise itself allowed me time and space to refine my techniques.
##  Fourth principle, respect yourself
   this may seem to run counter to the third principle. But remember you are valuable too. My particular brand of anarchy asserts that every human being is  equally and infinitely valuable and worthy of life and love.
   Balancing the third and fourth principle can be tough at times. I think another example is an order.
   there is a certain project, that I've wanted to do for years and my community groups seem to be excited about this one. The problem however is I have determined that I can only do this particular project in Rust, it's the only language that I am comfortable in with the library support required. However  I have concerns about the rust compiler's  ability to run in resource constraint environments. This is being worked on, on multiple fronts, but for now no one will see that project.
   Because promising that which i cannot deliver would be stressful on both myself, and the community

## Fifth Princpal, code it how you want to...

 Beyond the principles of respect. Keep in mind that there  there are no rules, for how you should code it. So do it in a way that makes you happy.
  Therefore if you  want to code your reminder app using functional programming techniques, in Lua based game engine. Or  writing  your  custom pastebin in Haskell for the lulz.   There is absolutely nothing  stopping you from doing so.  Software is art treat it as such. Just remember to have respect for the users.

##  Sixth principal  empathetic testing

 when we test our code, we do so on an environment either  identical to our development environment, or so similar as makes no difference. This can lead to assumptions about the user's environment. Which become hard dependencies over time.
   try to build the most absurd testing environments you can think of. QEMU is the thing,  and we have mountains of abandoned or obscure software on the internet  just to download away.

   for example do you know if your latest webapp is able to run, in the fork of firefox which is maintained for legacy powerpc macs. You can test  that  semi trivially these days. And you should, or do something similar as a pure intellectual exercise. Even if you eventually opt not to support that use case. You will have gained valuable insight into what your dependencies truly are, and you might discover that you don't really want some of those hidden dependencies. 
   If you want a lower commitment way of testing web applications in particular. I would suggest the Seamonkey Web Browser, it is still updated  as of this writing, is just modern enough to be interesting. 
 Yet it's update cadence, when compared to mainstream firefox is just slow enough to cause interesting bugs for the unwary. If your app can run Seamonkey without problem, you are likely to gain a lot of support for other low end browsers for free
 My favorite testing platform is a Pentium 4  with just under a gig of ram, running OpenBSD.  this forces the use of a lot of strange and obscure browsers, and I find the exercise of getting load times on such devices to  acceptable levels stimulating. 
  Remember though that this exercise has a deadly purpose, validating your code has acceptable performance in these challenging environments,  is an act of rebellion against the  socioeconomic gatekeeping which currently controls the industry.  and you aide in the fight for climate justice at the same time.
##   seventh principle:  he who creates the data owns the data

  we're getting towards the end here, but  this set of principles wouldb e incomplete without this. As the creator of service, the user's data is not for you to monetize.  if you need money to run the service ask for it, start a patreon or kofi. We have all seen what free services, such is Facebook really cost.
   Be open and honest with your users about this, don't offer a service for a price that is unsustainable. And then turn to the data which you are  cusotdian and protector of as a revenue stream.
   if you ever think you might  exploit the user's data for your gain, be upfront and honest about that.  make sure all such exploitation meets the standards of informed concent. Which means at a minimum such exploitation is opt in, not opt out. And that before a user is allowed to opt in, an explanation of the benefits and risks must be given in plain and clear language.
   Standard industry practice  falls far short of this, and is only beginning to change thanks to activism at the federal trade commission, and other regulatory bodies.
   A corollary to this principle is that you should not collect or retain data you don't actually need.   Unsurprisingly minimal data collection and retention keeps cost down.  So there's that benefit to consider.
  Remember  in this model you are a servant leader, not a founder, not a king, not a businesswoman.  you  Take care of the community, and in return the community we'll take care of you in time.
##  conclusion

 there are more principles yet to be formulated.  if you practice this way, I am sure you will encounter your own ethical dilemmas, and formulate your own principles to add to these. 
  But always remember principal zero. Be aware of the hierarchies you are creating, and participating in with your practice.  please don't create new hierarchies. Also do your best to  dismantle old ones. Peter Kropotkin  said it best in the Conquest of Bread.
>  Every machine has had the same history—a long record of sleepless nights and of poverty, of disillusions and of joys, of partial improvements discovered by several generations of nameless workers, who have added to the original invention these little nothings, without which the most fertile idea would remain fruitless. More than that: every new invention is a synthesis, the resultant of innumerable inventions which have preceded it in the vast field of mechanics and industry.

> Science and industry, knowledge and application, discovery and practical realization leading to new discoveries, cunning of brain and of hand, toil of mind and muscle—all work together. Each discovery, each advance, each increase in the sum of human riches, owes its being to the physical and mental travail of the past and the present.

> By what right then can any one whatever appropriate the least morsel of this immense whole and say—This is mine, not yours?

## further reading

 we've covered a lot here, but I want to provide links  to  two or three other sources, which talk about some of these principles in a more concrete way. As well as pointers to some already existing communities, that practice technology in a similar way to what I have laid out.
   for anarchism in general, peter kropotkin's  __The Conquest of Bread_  is currently the most popular  introduction to it that I know of. True there are more modern introductions  that are less daunting on the reader. But there is just something about kropotkin's language and style that is timeless and captivating.
   for a general introduction to   techno cultural studies, I'd recommend McClellan  and Dorn _scincee and technology and world history an introduction_. This is an introductory level college textbook so  it can get a bit dry and academic at times but is ultimately worth the read. Because  the authors try to  push back on the dominant Cultural narrative.  they take a global perspective as well not a eurocentric one. The section on the Mayans and their contributions  to astronomy in other fields is utterly fascinating, and completely justifies the price on its own.
   For a more science focused history, written in a popular style Clifford D Connor's  _A People's History of Science: Miners, Midwives, and "Low Mechanicks"_