Wednesday, 6 October 2021

Ethical Dilemmas - Fubar 2021 talk

 

Presentation for Fubar 2021


Ethical dilemmas ( burning down the house)


Skinner box Andreas1, CC BY-SA 3.0 <http://creativecommons.org/licenses/by-sa/3.0/>, via Wikimedia Commons

My working name is crash-stop, those who know me will know my given name,  I’m an artist working with digital media with an emphasis on Glitch art , creative commons and open-source software .

The theme for this years Fubar https://fubar.space/ is sustainability and in that spirit this talk comes out of my experiences over the last six months having decided to leave Glitch artists collective, Facebook and Instagram and to go on a search and destroy of most of my social media accounts and to take on a pseudonym ie Crash-Stop as a buffer between me and the world of social media its also about my exploration of sustainable and more socially equitable alternatives to big corporate social networks, the dilemmas I faced in that search and ideas around nfts and their sustainability or otherwise , ecologically and socially, plus a look at the ethical dilemmas of software and hardware and a look at what social media might actually be and its effects on us as artists and thus the effects we contribute to by our use of it.

Why did that happen and why would I want to in effect destroy whatever presence or influence I had In the online space?

One of the problems with social media ( and its primary strength) is its ability to reach everywhere, we are constantly asked Follow me on Instagram/Facebook/YouTube etc. etc. etc., if you become well enough known your work can be shared and re-shared multiple times across groups and even across platforms ( for example Reddit to Tumblr or Instagram to Facebook ) there is a kind of critical mass you reach which draws in more and more likes and re-posts , so far so obvious, one post can spawn a thousand re-shares ( apologies for the Helen of Troy analogy).

Online communities can be supportive inspiring and sustaining, I’ve certainly learnt as much as I’ve shared technique and idea wise.

But also people are mean. Things can go downhill very quickly, for me, literally over the space of making breakfast on a quiet Saturday morning.

The argument in Glitch artists collective that fateful morning was about the burgeoning gold-rush around Nfts ( Beeple had just sold his work for a gazillion dollars) and someone had started an interesting thread on what people thought about this, it got heated fairly quickly and I answered from my personal perspectives and then I got stomped on by a bunch of nft-bros.

 


So all of this happened in the time it took to open Facebook on my laptop , make breakfast and ultimately deciding to leave Facebook, Instagram, LinkedIn ( yes I managed to delete a LinkedIn account ), Quora, Ello, Pinterest and pretty much any account I’d connected with Via Facebook . And started looking for other places to post my work and reform my social network, mainly in the Fediverse but also in places like Reddit or Tumblr, realising that going completely underground might be total career suicide but basically looking for the least evil alternative.


Your account will be deleted Instagram

Your account will be deleted Facebook

Accusations were levelled at me in that moment as being both against artists earning money , telling people what to think and do , being a poser and also being an artist who didn't know how to market themselves. To this day I still don’t know who the guy was or what I did other than point out inconsistencies in their argument to make them mad , they treated the whole thing as a joke with a certain amount of cruelty, this was a group of randomers that I’d never seen post in glitch artists collective before who basically jumped me and at that point in the pandemic I was spending a lot of time there so I knew that they weren’t regular posters. 

Given the things that had been happening online during the pandemic and witnessing otherwise sane people suddenly turn into gibbering conspiracy spouting mental cases, and after a run in with an artist I previously had great respect for with them accusing me of lifting their work ( a common danger of using readily available sources from archive.org) an accusation they retracted and apologised for after a very heated exchange, some of it in plain view some via messenger I decided that as reason seemed to have left the room, as the room itself had suddenly become darker and more sinister, to leave the room myself.

But where to go , part of the solution was obviously to investigate the possibilities of the Fediverse.




Map of the fediverse

I spent a good while exploring this network and looking for places to sign up to , for each big tech social network there is an alternative within the Fediverse, some of them good , some of them not quite ready yet, or lacking in users.

What is the Fediverse ? ( Wikipedia article on the fediverse here https://en.wikipedia.org/wiki/Fediverse )

Essentially the fediverse is a group of social media platforms which attempt to replace the big social media platforms in a decentralised way . There is no one big organisation – anyone who wants to set up their own video platform (instance as they are called) just download the software from github or wherever its hosted, for free and run your own server. The Fediverse is tied together by using protocols which allow each instance of whatever platform you are using to federate with others so user names and identities can be used cross platforms and instances . The downside to taking back that control over your content, avoiding advertising and also to some degree being tracked via cookies and your data harvested and sold and profiled is that at some point it has to be paid for , the model is completely different to that that Google et al admit to you either pay for it or you are the product – there are some , well actually many instances that allow open sign ups such as Mastodon.online , pretty much the poster child for what a decentralised open source network can be ,


Mastodon.online

If you don’t know what it is , its a bit like twitter but better . There is no algorithm pushing up posts with the most likes, its possible to sign up with an anonymous username ( unlike Facebook and Instagram ) and it still has pictures of cats !

But if I want my work to be visible I need to have it where people can see it , Mastodon in particular is a good place for general hanging out and making connections, pretty much where I hang out these days and I’ve found some good connections there especially the scanlines people. Interestingly, a a lot of the analog glitch people involved with scanlines seem to hang out and organise on Mastodon as an alternative to twitter . Mastodon good artistic communities of various shapes and sizes. Like Twitter it can be used from the desktop as well as mobile via the Tusky app. One of the frustrating things about apps like Instagram is that they are mobile only, whereas Mastodon and to a greater degree Tumblr are both, so whereas Instagram will only allow posting from a mobile device Tumblr allows both. In the end to replace the functinality of Instagram and Facebook I settled on Mastodon and Tumblr as after my experiences on Facebook I didn’t want the intense pressure I’d come to feel to like updates , share and follow , it had become exhausting.


Scanlines.xyz

YouTube wants to monetise your work .

Links to article here - https://www.forbes.com/sites/johnkoetsier/2020/11/18/youtube-will-now-show-ads-on-all-videos-even-if-creators-dont-want-them/?sh=2aec45d24913

peer-tube video on this subject https://tube.tchncs.de/w/toW6Bwc7fyveB4fVkXvijB

Around the same time as I’d decided to nuke all my mainstream social media accounts and try and move to the Fediverse YouTube decided that it would also announce a change in terms and conditions that meant they would now be able to monetize any account which wasn’t signed up for their partner program, no matter how small regardless of purpose so now anyone watching my work without an ad-blocker was going to be subjected to adverts without my or their consent.

It’s not that I don’t want to earn money from my channel, I don’t monetize because I don’t have enough followers, its more that I wanted to have a channel which showed my work as I intended it to be seen , and that I could link back to my blog and have a channel that I could direct galleries or interested parties too, without interruptions or associations with morally reprehensible advertisements for mortgages and suchlike. This was actually one of my biggest dilemmas because it is the best platform by far for hosting work other than Vimeo ( I have an account there as well ) but it was until this point free and pretty useful or was it free is any of this free ?

In other words what hit me constantly through out this process was the phrase ‘If you aren’t paying for it you are the product.’

You are the product 

As it says in this article about Facebook by Edward Morrissey from 2018 in theweek.com here https://theweek.com/articles/761830/youre-not-facebooks-customer-youre-facebooks-product

The key point is this: When the service is free, you're not the customer. You're the product. If you don't want to be the product, don't sign up in the first place, or short of that, don't load a bunch of personal data in the expectations that it will be kept private.’ -

So I set up a PeerTube account and removed something like 300 odd videos from YouTube which I’ve started reposting on PeerTube and elsewhere. Choosing an instance was tricky, as the content on some is a little dodgy, again you don’t have to join or follow that instance I’d advise checking out instances you are interested in before joining , each instance also has its own policies such as the instance I joined (https://tube.tchncs.de)

Policies  from https://tube.tchncs.de policies page 

Base rules for everybody:

    Be nice to each other

    Do not publish advertisements

    Do not publish conspiracy myths

    Do not publish content illegal in Germany and/or France, such as holocaust denial or Nazi symbolism

    Do not publish content promoting the ideology of National Socialism

    Do not publish content that is hateful towards specific individuals or groups, or intended to cause or        incite harm

from https://tube.tchncs.de/about/instance

As I said if you want to you can set up your own instance with your own policies and thats what Scanlines have done and its worth checking out , theres some incredible stuff on there find that here -


https://videos.scanlines.xyz/


How scanlines did it ( a good guide for implementing your own instance ) https://github.com/langolierz/scanlines-technical-details/blob/master/experimenting-with-video-hosting.md

Eventually I Settled here


https://tube.tchncs.de


But then I was hit with an even bigger dilemma in that if I wanted to completely move everything from YouTube, there would be some sort of financial cost, in that although the PeerTube instance I signed up to allows unlimited uploads and doesn’t ask for costs upfront ( there is a link to make contributions to upkeep) , someone at some point has to pay for that and I feel kind of guilty uploading large files to a place that is essentially run on a voluntary basis funded by people who do it for altruistic and philosophical/political reasons. In one sense I’m making a statement against YouTube and its algorithms that push conspiracy theories and ultra right wing views because in the feedback loop that is social media the loudest voice gets heard the most or pays the most to be heard, but until I’m financially able to contribute to PeerTube I feel guilt in some ways that I’m using it.

The consequences for visibility are not so cut and dried, yes nearly everyone uses YouTube but with the right links from the right places that can be overcome, and, unlike Blogger or Instagram, Tumblr and Mastodon are fairly Peer-Tube friendly in that they support embedding of thumbnails etc. Tumblr seems to have a fairly decent reputation in places like Diaspora and Friendica ( sites which seek to replicate some of the possibilities of Facebook ) as well which is a bonus, thankfully the new owners seems to be more honorable than the previous owners. I should also mention that I investigated the ownership and policies behind each Online space that I looked at and that in itself can be illuminating , I settled on spaces that are either owned by a single organisation like Tumblr is now or operates within the Fediverse.

I’m not going to talk about Friendica and Diaspora here because I don’t really use them , part of my process was trying to refine how much I wanted to expose myself to various social media platforms, and how much time I wanted to spend searching out connections and reputation mining and to be honest I wasn’t that taken with Diaspora as there wasn’t much of a glitch art community to be found there, for other things they work really well and it was actually a pleasure not to be confined to an Anglo-American kind of ghetto with people confident ( as they are on Mastodon) to post in their own languages which meant reaching for google translate a lot ( see how hard it is to escape their clutches) but that was kind of refreshing.

Another problem that I encountered was that as my blog is also hosted via Google on blogger and a lot of embedded video on my blog is linked back to YouTube , and my blog is quite important to me as a point of visibility and showing people what I’m doing and thinking in my work, I would have to download a lot of unlisted videos, tutorials and examples and then reupload those to blogger in preparation for removing a lot of content from YouTube and getting ready if need be if I decided to move my blog .

 Pluses and minuses = compromises we make

Should I Move My Blog or not ?

But YouTube allows embedding Video to Blogger.

Blogger is free and un-monetized so no ads - 

Blogger has features I need and is free

Visibility vs ethical considerations

One of the things that I was surprised to discover about YouTube and Blogger is that you can actually rename your blogs and YouTube channel without loosing the content, so Initially they were both under my own given name but I could change them to my new pseudonym – and keep all the content that was there. But If i wanted the same functionality as Blogger gave me I’d have to look elsewhere if I wanted to also ditch Google and just use Peer-tube and another host. And that's kind of where I hit a brick wall and had to start compromising changing the name of my blog was fine , it would just make it less visible until I could direct people to the new name but I needed something that I could also embed video into in the same way , but WordPress, Wix and everywhere else I looked limited what I could do depending on what I paid ( with the money that I don’t have) , and that's a recurring thing, as I am, like most of you out there, financially challenged, so my current position is a bit of a stand off between affordability and compromise. Just as with operating systems there is often a pay off between fully libre systems and usability . Though this presentation was written and composed on a fully libre OS ( Pure OS, a fully libre software Debian derivative)

There is an alternative in the Fediverse to Blogger called Plume and initially I did set up my new blog there and eventually will probably move there entirely , unfortunately as far as I could tell Plume does not allow embedding of video, linking is easy but for a tutorial or example I need video. But in its favour Plume allows anonymous sign up , is federated and does allow picture embedding. Might return there again.

Plume , federated blogging



Looking for alternatives

The Fediverse offers alternatives

But

Users users users

We are by our nature social beings, we crave connection. Big corporate Social media offers us an illusion of connection without inherent control of our data at great cost socially ( disinformation and manipulation) and dis-empowerment, we become users and consumers rather than creators and administrators. The Fediverse and its various offshoots offer a way out but needs users who are prepared to go back to the original optimism and idealism of the web and early computer hobbyists – its not for everyone but it is a model for the future and one which I think will become more and more important to us. Without going into the details there are things such as beaker browser and retro-share which goes back to ideas of p2p sharing and distributed networks sidestepping big data and the centralised control structure of the web now. More info on beaker browser here https://beakerbrowser.com/ 

 

I did look at decentralised blockchain solutions like Lbry https://lbry.com/ ( which runs on steem blockchain https://steem.com/ ) and Dtube https://d.tube/ but the problem is not decentralisation but blockchain and these really don’t inspire me with confidence having read about them. Steem advertises itself as a social blockchain that we can make money from rather than big corporations making money from us and it seems less power intensive using proof of stake rather than proof of work, but its still blockchain and there's still that air of zealotry and get rich quick schemes and language around them that puts me off.

 Consequences

To sum up this section The choices we make as artists working primarily online have consequences, from how and where we source materials, to the places and platforms on which we show and sell our work, down to the choice of software and hardware we use, every choice we make has some kind of real-world consequence and those choices in turn can be influenced by external factors depending on where we spend our time or post our work.

Reputation mining

What happens when you deliberately burn down your account on Facebook or Instagram ( given the one month grace period for you to reconsider the error of your ways?).

Essentially you start at the bottom again, doubly so if you decide to take on another persona to distance yourself from what you were before. You become a stranger to new platforms with no reputation or exposure points and even more you miss the community you were part but as everyone stays in their silos that reach only extends as long as you remain in that silo.

You are never more alone when you leave a place and you have to mine for reputation points again, on some sites you can literally see and hear the hollow as you move around.

If we consider social media in terms of gamification and in games to level up you sometimes have to do repetitive things before you get the shiny things that make it worthwhile then that is exactly what leaving one platform for another entails.

Then of course there is ideology to consider do I go open source/ Fediverse and accept the hit on possible connections and shares, in exchange for better quality of connections and less feeding into the military industrial surveillance state or swap one walled garden for another given that the platform you show your work on says a lot about you creatively and ideologically, the choices we make social media wise have consequences in real life. Choose surveillance state because its easy or build something better outside of that state given that its harder and more difficult for reputation mining.

Or alternatively just shut down the computer and walk away.



Nothing that can be reproduced is unique

Money masquerading as art

At first sight Nfts would seem to answer the question from John Barlows’ ‘economy of ideas’ essay from 1994 ‘How are we going to get paid for the work we do with our minds?’

In his words :

Throughout the time I've been groping around cyberspace, an immense, unsolved conundrum has remained at the root of nearly every legal, ethical, governmental, and social vexation to be found in the Virtual World. I refer to the problem of digitized property. The enigma is this: If our property can be infinitely reproduced and instantaneously distributed all over the planet without cost, without our knowledge, without its even leaving our possession, how can we protect it? How are we going to get paid for the work we do with our minds? And, if we can't get paid, what will assure the continued creation and distribution of such work?

Since we don't have a solution to what is a profoundly new kind of challenge, and are apparently unable to delay the galloping digitization of everything not obstinately physical, we are sailing into the future on a sinking ship.

This vessel, the accumulated canon of copyright and patent law, was developed to convey forms and methods of expression entirely different from the vaporous cargo it is now being asked to carry. It is leaking as much from within as from without’

Full text can be found here https://www.wired.com/1994/03/economy-ideas/

It seemed to me at the time of the argument on Glitch artists collective around Nfts and the clamor amongst fellow artists for more information and introductions to marketplaces was contrary to what I felt as an artist publishing work under a creative commons licence I could sign up for, and that this was a schism that was only going to get wider between those who drank the Kool aid and those who didn’t, indeed looking at the language used in posts by those who have taken up Nfts there is a distinct before and after difference . I began looking at a lot of the technology behind Nfts ( ie blockchain etc) and found a lot of information about wastefulness and the sheer cost of minting a single nft .

Proof of work vs proof of stake

Essentially there are two models of minting , one, proof of work is incredibly wasteful and the other proof of stake ( as used by hiceetnunc) very much less so.

and the side show of stolen art being minted to make money while the goldrush continues see this article on https://www.abc.net.au/news/science/2021-03-16/nfts-artists-report-their-work-is-being-stolen-and-sold/13249408



And this is just what we know of , and doubly ironic given the topic of Rosa Menkmans’ talk at Fubar last year in which she talked about images and their unauthorized reuse. And it is such a problem that the people behind hicetnunc talk about in this thread https://github.com/hicetnunc2000/hicetnunc/issues/433 in April of 2021

To quote from that particular thread With hic et nunc being an open platform that has no gatekeepers or vetting process we can observe that there is a small minority of people who abuse the trust by minting and trying to sell works that are not theirs. This is annoying and some find it even sheds a negative light on the platform. Personally I think it is a price to pay for the freedom we enjoy and would not like to limit that freedom for everyone because less than 1% of all minters are showing anti-social behavior. But of course we should not make it too easy for them and here is a proposal that I think could prevent or at least further minimize this phenomenon.’

So the people behind the platform recognise the problem and offer a solution. Well thats good but then what about something like Tokenized tweets ? Again from the previous article :

https://www.abc.net.au/news/science/2021-03-16/nfts-artists-report-their-work-is-being-stolen-and-sold/13249408

Tokenized tweets

What  ? An automated NFT tweet-minting bot with the name @tokenizedtweets.

The bot creates NFTs of tweets without alerting the owner of the tweet. A Twitter user simply has to mention the bot below a tweet, for that tweet to be made into an NFT. I have actually seen something like this in other places on vimeo though I could never track down anything that might have been taken . 

A good article on the origins of Nfts and how they’ve gone against the ethos originally intended ie to quote from the article

The idea behind NFTs was, and is, profound. Technology should be enabling artists to exercise control over their work, to more easily sell it, to more strongly protect against others appropriating it without permission. ‘

Full article here and its well worth the read https://www.theatlantic.com/ideas/archive/2021/04/nfts-werent-supposed-end-like/618488/ 

A really good follow up read to the above article is this article from Rhizome which talks about cryptokitties , licensing strategies, ownership and copyright of nfts in a very detailed way https://rhizome.org/editorial/2021/mar/03/another-new-world/

We can never guard against bad actors , the web as it is is relatively open but plain stealing and profiting from other peoples work or posts ? Furthermore , a lot of artists in the wake of this started to move their work or hide it from view in case this exact thing happened to them, so Nfts are also changing the way people feel about posting their work online, it also goes directly against my creative commons ethos which is basically share and share alike with permission to make derivative works from whatever I post ( non commercially) ie the basis of remix culture and what we do a lot of the time as glitch artists in taking sources with attribution and remaking them, I didn’t feel that that basic licence was going to be adhered to leading to the possibility that work I had made might be profited from even though the licence I publish under is explicitly non-commercial, in the same way that YouTube had announced monetizing channels that had not, didn’t want to or were not able to monetize. So to reiterate what I said before, everything we do as artists has consequences , with that in mind lets talk about environmental cost.

 Burning down the house

articles here - https://www.applydigital.com/insights/the-environmental-cost-of-nfts-3-steps-forward-many-more-to-go/

and here https://earth.org/nfts-environmental-impact/

Current blockchain technology ( other than hictenunc as far as I know ) is based on proof of work which is ruinously computationally expensive and thus resource intensive as well.

From the earth.org article

It is difficult to estimate the carbon footprint of minting an NFT because many steps in the process do not have a known carbon footprint, and there are few scientific peer-reviewed studies on this topic. Digiconomist estimates a single Ethereum transaction’s carbon footprint at 33.4kg CO2, while artist and programmer Memo Akten estimates that an average transaction specifically for NFTs has a carbon footprint of about 48kg CO2. Bear in mind that each time an NFT is minted or sold, that’s another transaction. These estimates tell us that one NFT transaction is likely to have a carbon footprint more than 14 times that of mailing an art print, which Quartz estimates at 2.3kg CO2. Despite uncertainties in the calculations, this is enough for one to judge whether a carbon footprint of this scale is acceptable for the act of selling art.’

and this from the same article

Blockchains like Ethereum and Bitcoin run using a system called Proof-of-Work (PoW), which is the main reason behind their high energy intensity. One alternative is to use a blockchain running with a different system, such as Proof-of-Stake (PoS). PoS blockchains like Tezos, Symbol or Polygon (all three support NFTs) do not rely on massive computing power, and thus consume much less electricity. According to Tezos, the estimated annual energy consumption of its blockchain is 0.00006Twh, compared to 33.57Twh for Ethereum.

Just to put that in perspective my computer has a 300w power supply, no add on graphics card, which would raise its’ energy consumption, I live in Ireland ( which has the fourth highest energy costs in Europe) a kilowatt hour is currently 15.29c so to run my desktop for 10 hours a day for a year would use 1096 kwh or around 167 euros per year . to mint one nft would cost according to

https://www.supercryptonews.com/how-much-does-it-cost-to-mint-an-nft/

on Rarible us$677 or on opensea $100 ( prices as of 19/03/2021)

Medium published an article https://medium.com/geekculture/how-much-it-actually-cost-to-sell-an-nft-1e190a3fb3ce

which runs through the costs in a more detailed way. And to clarify there a a lot of computers running high end gpus running to keep the blockchain that all these transactions are recorded on , that's a lot of electricity

 https://powercompare.co.uk/bitcoin/


power usage of bit coin from https://powercompare.co.uk/bitcoin/

or if we look to this article https://digiconomist.net/bitcoin-energy-consumption

the implications become incredibly stark , a single bitcoin transaction creates 819.04 kgCO2 , uses 1724.29 kWh and leaves behind 93.30 grams of electronic waste , and this is just bitcoin , this doesn’t include etheruem , monero, doge coin and all the other coins you can think of . To refer back to my own humble desktop pc that costs 169 euros a year to run for ten hours a day at current prices in Ireland of 15.29 c per kwh that would be 263.18 euros in electricity for just one bit coin transcation ! At a time of climate crisis why are we even going anywhere near this ?

The ultimate article on this is here, if you read nothing else  read this https://everestpipkin.medium.com/but-the-environmental-issues-with-cryptoart-1128ef72e6a3

And then consider the idea that Nfts aren’t about the art they are really vehicles of speculation and as such have the same problems inherent in the stockmarket . This is not a brave new world where artists finally get paid this is just old world speculation with the artists at the bottom and investors at the top playing their same old games :

Insider trading

This Is from slashdot via theblockcrypto.com https://www.theblockcrypto.com/post/117751/opensea-confirms-executive-used-insider-knowledge-when-buying-nfts

Twitter users last night accused Nate Chastain, head of product at OpenSea, of using secret Ethereum wallets to snap up the platform's front-page NFT drops before general release. Citing transactional data on Etherscan, Twitter user Zuwu said that Chastain seems to be selling these pieces "shortly after the front-page-hype spike for profits." His actions have been likened to frontrunning or insider trading, which in regulated financial markets refers to dealing on information that is not yet public.

On September 15, OpenSea published a blog post acknowledging Chastain's actions. "Yesterday we learned that one of our employees purchased items that they knew were set to display on our front page before they appeared there publicly," said OpenSea. "This is incredibly disappointing. We want to be clear that this behavior does not represent our values as a team. We are taking this very seriously and are conducting an immediate and thorough review of this incident so that we have a full understanding of the facts and additional steps we need to take." The company has rolled out new policies specifying that team members may not buy or sell from collections while they are being promoted, and cannot use confidential information to purchase or sell NFTs.

more on that from slashdot here https://slashdot.org/story/21/09/16/1848258/openseas-product-chief-is-out-after-insider-nft-flipping-accusations so not only was he insider trading ie profiting through insider knowledge before the release of art works for sale now he is being sacked .

Or we could fight like apes ( this is a story that has broken in the last day or two ). Just take the money and run https://www.dailymail.co.uk/news/article-10062361/Mysterious-NFT-developer-known-Evil-Ape-disappears-2-7million.html

The hardware arms race

Replacing hardware frequently to keep bitcoin mining economical increases waste

Shortage of graphics cards due to mining and general chip shortage

Chia ( poof of space ) leading to hard-drive shortages

More on the environmental cost here https://www.theguardian.com/technology/2021/sep/17/waste-from-one-bitcoin-transaction-like-binning-two-iphones There is a race for more and efficient hardware to make the bitcoin mining process more economic so hardware is constantly upgraded and replaced –

The lifespan of bitcoin mining devices remains limited to just 1.29 years,” write the researchers Alex de Vries and Christian Still in the paper, Bitcoin’s growing e-waste problem, published in the journal Resources, Conservation and Recycling.

By comparison if we look at the lifetime of computers in office environments (according to this article on https://community.spiceworks.com/blog/3103-data-snapshot-the-lifespan-of-computers-and-other-tech-in-the-workplace) ‘ 70 percent of companies use desktops for 5 or more years before decommissioning or replacing them ‘ with ‘ with 24 percent of organizations using them for 7 or more years ... pushing the use of these devices in many organizations far past warranty expiration dates.’ There’s a lot of difference between 5 or 7 years of use and 1.29 years

The previous article reported in the Guardian then goes on to say

As a result, we estimate that the whole bitcoin network currently cycles through 30.7 metric kilotons of equipment per year. This number is comparable to the amount of small IT and telecommunication equipment waste produced by a country like the Netherlands.”

and this is not to mention mention chia ie proof of space which has led to hard drive shortages. And the general shortage of graphics cards for gamers due to bit coin mining in a time of chip shortages with graphics cards going for stupid money and older cards being reintroduced to plug the gap.

From a resource and ecological perspective this is just not sustainable.

The art is irrelevant.

1) An nft is a speculative financial instrument therefore the art is irrelevant

2) They are (in current form) environmentally  and socially ruinous


My views on Nfts are my views , some of you may agree, some of you who have bought into this might not, but for what its worth I think nfts are snake oil The idea of a unique one of a kind artwork that you can own in the digital space is a laughable naivety given the inherent reproducibility of any given digital image what is it exactly you are owning, as a blockchain record is essentially a digital certificate of ownership , not the work itself as the blockchain is technically incapable of storing a work its the equivalent of buying a car on Ebay thinking that its a full size car and receiving a dinky toy in return. What is happening here is more akin to market speculation the kind that we see in the stock-markets or the traditional art market where works by big name artists are used as hedges against inflation and as investments hidden away in bank vaults, and I think that’s my favourite way to look at this , the thing that makes the Nft unique is not the artwork, but the speculative value, the art is just a pretty decoration on the face of a coin . 

 

Altruism 

The wealth of networks , 

Creative Commons, vs copyright, 

Open source vs closed source.


I’ve always strived to share what I make and how I make it as openly as possible subscribing to something similar to what Benkler describes in his book ‘The wealth of networks’ this is a paraphrase from the wikimedia article on the book

Benkler argues that the networked society allows for the emergence of non-hierarchical groups that are committed to information production. Open software is one of the ways we can view the emergence of this new form of information production. "Commons-based" peer production eschews traditional rational choice models offered by economists. Benkler details some of the key components of this new economy based not on financial remuneration but on user-involvement, accreditation, and tools that promote collaboration between individuals.’

My emphasis would be placed on this phrase based not on financial remuneration but on user-involvement which is what made groups like GAC so special in the first place in spite of the knowledge over time of what Facebook actually was or is. And why I’m more veering towards the fediverse and strangely Tumblr ( now its changed hands again) as a solution to the main dilemma I face.

Or even better the libreplanet mission statement ie from here https://libreplanet.org/wiki/LibrePlanet:About/Mission_Statement

libreplanet mission statement

As media and technology mediates how we experience and interact with the world, the private owners of software, knowledge, and culture have control over us. With a strong commitment to free software and free cultural works, we work against the exploitation, domination, and oppression enabled by private ownership of technology, media, and communication. While free software and free culture are radical stances against one form of oppression, we acknowledge that there are systemic structures of control embedded in our society which permeate our movement. Therefore, we maintain a Code of Conduct which takes those into account.

Our vision is to free the world from technological and legal barriers for all software and cultural works to be free as defined by the GNU Project and Definition of Free Cultural Works.'

But also in the golden rule referenced by John Perry Barlow in his ‘A Declaration of the Independence of Cyberspace’ of 1996

THE GOLDEN RULE – ‘do unto others as you would have done unto yourself’

to realize that what we do online also has real world consequences rather than it being a space that is separate with different rules being online doesn't divorce us from the need to be basically decent to each other ( remember the human as it says in various Reddit forums ) so being online doesn't divorce us from ideas of decent conduct and ethical behaviour towards others.

A question

how many here have installed their own operating system , know the ins and outs of compiling or writing programs or even basic things like command-line use , bash scripting or even using ffmpeg from the command line I suppose what I'm asking is  is their a difference between users / consumers and creatives.

 User or administrator

In old multi-user computer systems back at the dawn of computing their were users of systems and administrators , users used a system to carry out a task like data entry and had pretty limited privileges , administrators controlled the programs that were allowed to run and could do pretty much whatever they wanted , that paradigm spilled over into operating systems like Linux or mac os and to a limited degree Windows UAC ( more so from windows 7 on and very much so in windows 10 as it converges with the Linux way of doing things) but back to the past, administrators had to know how to install and often compile and troubleshoot programs and the os itself and often times how to troubleshoot or fix hardware problems, users did not.

As computers became more personal there was a moment in time, somewhere between the mid 70’s Altair 8800 in kit form and the release of the macintosh and its gui in 1984 when computer owners were both user and administrator and in the case of computer hobbyists builders as well , which instilled a deeper understanding and insight into the tools being used. Something lost post 1984’s macintosh gui interface and further lost after the appearance of Windows 95 , we became users , customers of an ecosystem built up on selling us things that 'Just worked' rather than explorers working out how to do things for ourselves. This is no more obvious than in the desktop paradigm of Win 95, mac os and later Android and ios where everything sits within virtual folders, a simulacrum of a real office environment which is in effect what the computing paradigm became, a virtual cubicle to contain and constrain our thoughts and ideas.

This desktop as virtual cubicle paradigm can trap us within a way of working and thinking , yes I can change the desktop theme or the shape of the icons and cursors but what If I want to strip away layers of the Gui and say work without a taskbar or redesign the default font completely what if I want to step outside of my cubicle and do something different , something more exploratory.

This is something that open-source tools and operating systems redress to a great degree by being a useful mixture of both GUI and command line.

preset vs process

How much does the interface we use govern or guide the work we make ?

Knowing the intricacies or even flaws of a program or piece of hardware enables us as artists to leverage that into art – using a program on its own such as an app puts us in the realm of user where our actions are constrained and thus our work is constrained as well as we have no way of reaching outside the presets available to us or a way of understanding or altering what the presets do or even the process that led to that preset – if as others have contended glitch art is primarily a process making work with presets denies the innovative , instead making work which reflects an idea of an aesthetic rather than actively working on and innovating and moving on that aesthetic.

I’m not going to rehash the argument that raged for a few years in GAC about the difference between those who actively create their work by investigating software and hardware and those who uses apps or software like Photoshop ,Gitche, or A.E which are one plug-in away from making the glitch art you can afford to make but it is somewhat central to the dilemmas we are faced with as artists, apps and presets are a great way into glitch art and I’ve begun to see them as a gateway drug but they are limiting, reducing glitch art to a look or an aesthetic that can be applied to advertising and as decoration rather than a thing in itself – if glitch art is a process and that process involves searching for new ways to do things then apps are not the way forward, merely the way in, we become users of effects rather than creators of new ideas and new ways of working.

 The social Dilemma , we want connection but at what cost ?

In using social media am I in fact feeding in to a system of unseen exploitation that turns all of us into product to be sold on in return for what is in essence a data mining operation and behaviour modification by design. I recently rejoined Instagram after much debate with myself as I wanted to see other peoples work and one of the consequences of social media as it is now is that people tend to gravitate towards one platform cos that’s where you get seen and so that’s where they post their work.


Facebook is what is wrong with America

slashdot article via cnn https://edition.cnn.com/2021/09/23/tech/facebook-benioff-disinformation/index.html

To quote Salesforce CEO Marc Benioff from the CNN article "Look at how it is affecting the world. You can talk about the political process. You can talk about climate. You can talk about the pandemic," Benioff said. "In each and every major topic, it gets connected back to the mistrust that is happening and especially the amount of it being seeded by the social networks. It must stop now."

And a view from Edward Snowden from a 2019 article in Vox here https://www.vox.com/recode/2019/10/31/20940532/edward-snowden-facebook-nsa-whistleblower

Facebook’s internal purpose, whether they state it publicly or not, is to compile perfect records of private lives to the maximum extent of their capability, and then exploit that for their own corporate enrichment. And damn the consequences,” Snowden told Swisher. “This is actually precisely the same as what the NSA does. Google ... has a very similar model. They go, ‘Oh, we’re connecting people.’ They go, ‘Oh, we’re organizing data.’”

and on an even more sinister level from the verge reporting on a (pay walled ) wall street Journal article ( but alos reported in the Guardian)

https://www.theverge.com/2021/9/15/22675130/facebook-instagram-teens-mental-health-damage-internal-research

To quote from the verge article talking about the effect on Teenage girls of using Instagram :

For this latter group, Instagram is a powerful engine for “social comparison” — when one judges one’s own value, attractiveness, and success based on comparisons with others. Teenage girls are often blasted with images of idealized bodies on Instagram, appearing as adverts, images in their feeds, and content in the app’s Explore page. This often has a negative affect on these users’ mental health. As one slide from an internal Facebook presentation put it: “We make body image issues worse for one in three teen girls.” (The figure referred to teenagers who already reported body image issues of some type.)

And yet we continue to use these places. As I said earlier I’ve recently rejoined Instagram for the purpose of being more visible and to reconnect with people I knew on Facebook and Instagram before to see what work people are making now. Which leads to the question why do we continue to use these or similar platforms even though we know the harm and bad intentions they are capable of ?


Skinner box Andreas1, CC BY-SA 3.0 <http://creativecommons.org/licenses/by-sa/3.0/>, via Wikimedia Commons

I would suggest that another constraint of the user/consumer paradigm is the skinner box that is social media, our work is posted within groups that reflect our tastes ( or are suggested to us by our reward and reinforcement algorithms) and subconsciously we start to alter what we make and how it looks to gain more likes or more reach thus the work becomes shaped by the environment it is made in as we constantly strive for more rewards, just as that which is suggested to us reflects the biases and mindset of those who run the systems we interact with. I thought about this a lot as I left mainstream social media and sought other places which were less suggestive – that in turn had consequences.

So what is a skinner box ? from here https://www.verywellmind.com/what-is-a-skinner-box-2795875 this

A Skinner box is an enclosed apparatus that contains a bar or key that an animal subject can manipulate in order to obtain reinforcement. Developed by B. F. Skinner and also known as an operant conditioning chamber, this box also has a device that records each response provided by the animal as well as the unique schedule of reinforcement that the animal was assigned. ‘

And this is about as accurate a description as I’ve come across for where we are now – social media as skinner box conditioning us to crave likes and reinforcement and exposure points .

In Jaron Laniers’ Ted talk ‘How we need to remake the internet’ ( find that here https://www.ted.com/talks/jaron_lanier_how_we_need_to_remake_the_internet)

he discusses Norbert Wieners 1950's book "The Human Use of Human Beings."

' one could imagine a global computer system where everybody has devices on them all the time, and the devices are giving them feedback based on what they did, and the whole population is subject to a degree of behaviour modification. And such a society would be insane, could not survive, could not face its problems.'

To sum, up every choice matters, as everything is interrelated. It’s hard or impossible to show which dilemma is worse or needs addressing first, some are hard some are easy, each choice adds to a chink in the armour of each problem , the choices you make matter.

* This entire talk was researched and written using completely libre software ( libre-office writer and impress) and mainly a fully libre operating system Pure Os ( as endorsed by the fsf) on systems which are recycled or second hand .





Monday, 20 September 2021

Software and links for upcoming workshops

 Software and links for upcoming workshops

 

Watch this space for updates



These are links to free and open source software to be used in these upcoming workshops see here https://formatc.hr/fubar-2021-workshop/ 

( Note though these are primarily recommended for these workshops it will give you a good toolkit generally for making glitch art on Windows machines without the need for paying for or obtaining cracked versions of proprietry software which restricts your freedom to do with the hardware you own  what you will , and its also a  basis for starting to move away from closed source operating systems in general )

 The aim of these workshops is to show  the use of open source tools and copyleft, creative commons or public domain video to act as an introduction to basic and advanced glitch art techniques and the language and philosophy of error in video art.

Hardware requirements for this workshop - I believe in recycling and reusing old equipment  as much as possible , my most modern desktop is a third gen i5 with 8gb of ram using the built in graphics from that chip , I've succesfully created and edited video on older equipment though having said that the minimum to achieve anything useful would be a late gen core2duo with 4gb of ram , one of my laptops ( I call it a potato) that I use for testing rocks an elderly celeron N2840 ( essentially a souped up atom processor)  and that can be used to edit and render very short videos and run hex editing programs in real time quite successfully  running Linux and batch scripts and such like with Windows 10 . Know your architecture are you running 32 bit or 64 bit ? I make no judgements but all the links I've given are generally for 64bit software , there are 32bit versions available and pages will give you links for both mostly so remember to check before you download and get frustrated that some software won't install.

For both Windows and Linux users it would be helpful to have access to either a built in webcam or an external webcam 

For windows 10 when installing software be aware that a recent update to Windows 10 means some software may trigger a software from unknown source alert in a dark blue box and you will have to allow the software to be installed by clicking through that message even though the software is from a trustworthy source. That being said the first piece of software to install is 

1)Notepad++ which is useful for reading readmes and for creating bash scripts though my preferred windows and linux editor is geany , this is installed in the usual windows way get it here http://notepad-plus-plus.org/ 

2)After that install git for windows which will give us the bash like terminal  Git-Bash which we will be using to manipulate video with hex editing ffmpeg and ffglitch/ffgac from the command line as its better than windows powershell and includes some of of the basic linux/unix command line applications we will need - get git bash here - https://www.atlassian.com/git/tutorials/git-bash

3) Windows , unlike Linux  doesn't really come with a package manager  so for things like ffmpeg its easier to install a third party package manager like Chocolatey . To install chocolatey you will need to open windows powershell as administrator ( quick guide here https://www.howtogeek.com/662611/9-ways-to-open-powershell-in-windows-10/ ) - so go to win icon in bottom left hand corner click on it and in search bar to the right type powershell it comes out top of list , right click and open as administrator then go here https://chocolatey.org/install and follow the install instructions carefully. ( you can copy and paste the commands from there into windows powershell) read prompts during installation carefully and answer Y when it asks. Keep powershell open as we are now going to install more interesting stuff

4) Having installed that keep powershell open and go https://community.chocolatey.org/packages and search for ffmpeg ( unless you already have it installed , in which case make sure you have it added to path of which more in a moment) find the command to install ffmpeg ( I chose the first which is ffmpeg 4.4 ) then copy and past that into powershell opened as administrator which should be ' choco install ffmpeg ' ( without the quotemarks)  follow the prompts and answer 'y' when asked 

5)  After ffmpeg search for and install using chocolatey and powershell imagemagick 'choco install imagemagick', and shotcut 'choco install shotcut' and python 'choco install python' ( Shotuct is an open-source video editor, which has some interesting filters and rendering profiles  but we I decided that we will be using kdenlive to edit and render the videos we make as its a better program for our purposes, python is a programming language which we need to run Tomato a datamoshing tool by Kaspar Ravel).  For the section on sound it will be useful to have sox audio editor installed so again use chocloatey and do ' choco install sox.portable' . Most of these applications  have their own installers but its easier to download and install them via chocolatey, but for completeness sake their websites are 
Imagemagick image editor - https://imagemagick.org/index.php
shotcut video editor - https://www.shotcut.org/
 
A word on paths , if you already have python and ffmpeg installed via their own discreet installers and not chocolatey  then make sure you have them added to your system path so we can access them anywhere via the terminal shell git-bash,  this is easily done - this is a good guide here https://medium.com/@kevinmarkvi/how-to-add-executables-to-your-path-in-windows-5ffa4ce61a53
 
4a) Video editing software   

If you've read through this previously you will notice I've excluded openshot from the list of software to install , openshot though good is particularly buggy on Windows and crashes a lot  instead for video editing download Kdenlive from here https://kdenlive.org/en/ its also available for Linux so means we can standardize around that. A good introduction to completely libre and opensource video editors for Linux , Windows and MacOS can be found here https://itsfoss.com/open-source-video-editors/  personally on Linux I use flowblade , and I'd recommend that for Linux users as its the most stable I've found and copes with larger files really well , having said that Kdenlive is pretty darned good as well.

6) Close powershell and Install in the normal windows way The gimp from here and audacity from here
and Handbrake from here ( handbrake is a really handy gui for re-encoding and transcoding video it may ask you to install a .net library when you first go to start it - just say yes and follow the links to the download you need - ie .net to run desktop apps)   and Transmission bittorrent client from here
On first running Transmission on windows a windows defender pop up will appear , press the allow access button with shield to allow transmission to connect to the internet - transmission is a safe bittorrent client we will use to download video from our source of choice if needed . 
(I'm a little wary of recommending Audacity because of certain controversy's over its management and direction over the last year but it is still open source for now and until a stable fork is created it will do .)
 
addenda - Audacity 

There is a known problem with Audacity in windows in that to import certain files like ogg audio or m4a we need to have ffmpeg installed , unfortunately the version it requires is older and slightly different to the one we installed using chocolatey so we will have to download and install a different version for audacity to reference . Issue and links here https://manual.audacityteam.org/man/installing_ffmpeg_for_windows.html. Installer is here https://lame.buanzo.org/ffmpeg64audacity.php

 
7) Download and install obs-studio from here  https://obsproject.com/
We will be using obs-studio to record desktop videos and for capturing the ephemeral glitches we get when hex editing video and playing it back live using ffplay 

8) If you don't already have Vlc video player installed do so find that here useful for video playback and screenshots. If you dont like using vlc and want something simpler you could try mpv , one i use by default on linux these days as vlc doesn't work on linux that well for some reason ( in the desktop environments I choose to use like mate or gnome-flashback). You can install mpv via chocolatey ie 'choco install mpv' or go to their website and follow the links ( but chocolatey is easier and you don't have to mess with adding it to path ) https://mpv.io/

9) I might cover using processing during the workshops , its one of the tools i use a lot so download that here but make sure to download version 3.54 not the newer 4.0 beta 1 . Processing does not come with an installer but instead comes packaged as a zip file so when downloaded unzip it and look for the exe file to start it, you can either pin that to your taskbar or as a shortcut on your desktop once started you will need to install several libraries (I will explain how to later on.)  There is a difference in how processing stores sketchbook files in Windows compared to Linux , this is important as on Linux processing creates a folder called sketchbook and that is stored in the top directory of your home folder, on Windows sketches that you create are saved and stored in your home folder here /c/Users/yourusername/Documents/Processing/

10) Finally go here and download ffglitch/ffgac , once its downloaded, unzip it and leave it there until needed as its a standalone binary which doesn't need installing ( you might need to install 7zip to unzip it as the binary is zipped using that 7zip here https://www.7-zip.org/  and while we're at it grab Kaspar Ravels tomato as well , download it from here https://github.com/itsKaspar/tomato
( click on the green window on the right hand side which says code and click Download Zip)


 Linux in many ways is so much simpler and already has much of what we need installed, such as bash and the basic gnu coreutils that installing git-bash on windows gives us more info on gnu-coreutils here its an altogether more flexible environment for making glitch art  given that the core of glitch art is about  finding error through the misuse of tools , or rather using tools in a way in which they were not intended. 

Anyways Linux has diverse distributions and package managers but chief amongst those are either debian based or arch based systems . On Ubuntu, Debian and linuxmint my main method of installing software is from the command-line so fire up a terminal and do ( depending on what you do or dont have installed)  presuming you are running Debian 10 or 11, Ubuntu 18.04 and above   and Linuxmint 19.3 and above ( should also hold true for MXlinux and Devuan and derivatives) issue this command from any terminal:

Sudo apt install ffmpeg imagemagick vlc mpv handbrake audacity kdenlive flowblade obs-studio transmission
 
type in your password when asked and hit enter and that's pretty much it . 

I've added mpv video player to the list for Linux as I've noticed of late especially in Linuxmint 19.3 and above vlc has become very unreliable in use.

Shotcut is generally not available via Linux package managers and rather than trying to install from source or adding cumbersome ppas its probably easier just to install via flatpak find that here https://flathub.org/apps/details/org.shotcut.Shotcut
 
If you are using arch based distros you probably don't need any instructions on how to install programs or use package managers  . On parabola Linux I generally use a simple 'sudo pacman -S packagename' command or run octopi package manager and search for whatever package it is that I want. I install flatpaks manually from the command line a good guide from the arch wiki can be found here
 

Installing processing on Linux is actually pretty similar to that on windows in some ways, except when its unpacked you can then run the install.sh file by either right clicking and opening a terminal in the folder that has  just been unpacked or opening a terminal and cd-ing to that folder and issuing this command './install.sh' which will install processing for the current user and leave a shortcut on your desktop and an entry in the programming section of your applications list - you can start processing by clicking on either link.

Once you have processing on either windows or Linux installed and started you will need to install certain libraries. Find tools in the menu running from left to right at the top of the blank sketch window that has opened after startup and find tools, click on that and  from that drop down menu after clicking choose add tool, another window will open titled ' Contribution manager ' click on the tab that says ' Libraries' scroll down and find the entry that says 'Video | GStreamer-based video library for Processing ' click on that then find the button that says install, click on that and wait for the library to install, then click on entry just below it titled ' Video Export | Simple video file exporter ' then click on install again - this should give you the ability with the right script to initialize and use a webcam for input . To test that use the script below by cutting and pasting it into the open blank sketch making sure you have a webcam attached to your desktop pc or laptop then pressing the start button above the test window shaped like a cassette players start button . All being well after a short delay you should see video playback and a little glitchiness ! This is the basic sketch we will use in one of the sessions. 
 
import processing.video.*;
  
    Capture video;                  
                    
    void captureEvent(Capture video) {
    video.read();
    }
   
    void setup() {
       size(640, 480);
       video = new Capture(this, width, height);
        video.start();
    
    }

    void draw() {
  
  video.get();
      //background(0);
     video.loadPixels();
      for (int y = 0; y<height; y++) {
        for (int x = 0; x<width; x++) {
          int loc = x + y*video.width;
         
          float r = red (video.pixels[loc]);
          float g = green (video.pixels[loc]);
          float b = blue (video.pixels[loc]);
          float av = ((r+g+b)/3);

         pushMatrix();
        translate(x,y);
      
          stroke(r,g,b);
          float n = (av+r)/360;
          if (r > 100 && r < 250)
          {
            square(0,0,0);
         
         
          }
       
        popMatrix();
         
        }
      }
 
    } 
 
 
* You might also want to go to  the contribution manager and install from the examples tab the first set of examples ' The coding Book' and also ' The nature of code' by Daniel Shiffman , The coding book gives examples of fun things like slit scan and time displacement which are a good basis for starting points for code for glitch art in processing.

Mac OS - I have no real  experience of using macs or any apple products, and as inclusive as I wish to be software wise I can't help finding Apples walled garden approach to hardware and software a big turn off and contrary to a lot of my views on open source and software and hardware freedom in general, that being said MAC OS being unix based it has some similarities with linux and there is a package installer which should help you install some of the programs outlined above find that here https://brew.sh/

It might also be helpful to look at and understand the concepts behind bash scripting for which an earlier Blog post of mine was written in response to a question from a user on Reddit on how I make some of my still images and specifically if it could be done on Windows find that here ( though it does repeat some of the information above for software requirements the parts on bash scripting and permissions hold true for Linux as well ) https://crash-stop.blogspot.com/2021/05/quick-and-dirty-guide-to-using-shell.html  and the next blog post on from that which illustrates the script itself https://crash-stop.blogspot.com/2021/05/bash-script-for-sonification-images.html
 
 
**** Note - in preparation for the workshops I installed all of these on a fresh install of windows 10 on my trusty Thinkpad X200 with 4gb of ram built in 2012 it took around an hour to install everything in one go . ****

 


Tuesday, 24 August 2021

But what is a desktop ?

 But what is a desktop ?


 
A lot of what I do at the moment is based around online collaborations with Format C ( https://formatc.hr/about/ ) Of which I am an associate member and specifically around a sub-project of Format C - medialab which at the moment is focused on a project called Suda https://formatc.hr/medialab-2021-diwo/ 

The previous post was about a script I've been working on called Mantissa which itself came out of ideas and discussions in Medialab which then fed back into the work we are doing in Medialab which led me back to discussions I've been having with myself about the nature of the computer desktop and what it actually is. So the process of making the script and showing the script in operation became a feedback loop in itself.

Mantissa itself doesn't do anything that other scripts and programs don't, what I perceive as broken when mantissa is running isn't broken, the scripts work mostly as I intended , as a self perpetuating feed back loop using the 'desktop' space as input via two cameras that act as observers of what is going on in a perpetually changing and evolving glitch via ffmpeg displacement. But it is very rigid , far more fun to start to interact with the process and move windows about and create feedback windows which follow the mouse around say by using ffplay in this way 

ffplay -f x11grab -follow_mouse centered -framerate 10 -video_size 640x480 -i :0.0

Which leads me to this:


Why ? Feedback loops are essentially generative and what they create is often unexpected , depending on the elements I bring up or delete, open or close. It escapes the trap of looking for material to make glitch art from by becoming the process through which glitch is created in real time. And more than that it becomes an arena to play within outside the formal office space bounds of the gui based operating system or what we expect from video play back. If i use what i would usually consider to be a finished work as the basis for experimenting in this way I can stretch the work beyond the bounds of where I would have left it before ( this is an excerpt from a longer work):


 

Obviously we have, as an audience and as artists , been here before in different ways and I would be remiss if I did not mention or link to Jodis 'my%desktop' from 2002 here https://www.youtube.com/watch?v=CPpUQQ7vMBk  and further information here and here

 


 

 


Wednesday, 28 July 2021

Mantissa - Self capturing displacement shell-script

 This a shell-script I've been working on for a few days , it still needs a lot of tweaking so as presented this is just the rough version , but it does work , I'll post a video of it working on my peertube channel today and add a link later. And its later so heres the link https://tube.tchncs.de/w/1jrcqpHKgzg2AdafJ6upzz

What does it do ? The script first calls two web cams via stub scripts, the first at 1280x720 the second at 960x540 , placed in the centre of the screen. Its important to state that this is customised for a 1600x900 resolution widescreen monitor , and I've customised where terminals etc pop up and stay resident on that basis to leave the 1280x720 window in the middle of the screen clear for display and capture , you'll notice there's a third terminal called which runs the recording script which I use in conjunction with xdotool to maintain its focus. 

Once all that is running the cameras run continuously , both have a maximum resolution of 640x480 but running them via ffplay allows me to change that and that process gives some nice glitchy effects . The capturing section of the script first creates a seed file then moves to a loop until halted which takes the seed file and applies it in a loop to the video captured in real time , but always a step behind and using the real time capture as an input for a displacement function , so the displacement map created becomes more and more glitched out as the script continues , it also saves the files it creates to a secondary folder , so if you attempt to use this script you will need to change some values to reflect that and the size of your screen - xwininfo is your friend

All this on parabola running on a Dell 9010 with built in graphics , a 250gb ssd, 8gb ram and two playstation 3 cameras with no modifications ( though it runs with my circuit bent cameras quite well ) .

( you need the main script and two sub scripts in the same folder for this to run correctly )

Main script (mantissa.sh)

#! /bin/bash
# Note this works on 1600x900 res screen adjust win geometries by grabbing with xwininfo
i=0

lxterminal --geometry=17x24+0-32 -e ./mantissacam0.sh
sleep 10
lxterminal --geometry=17x24+0+0 -e ./mantissacam1.sh
lxterminal --geometry=17x24-0+0
sleep 30

# Grab seed file
xdotool mousemove 1525 6
xdotool mousedown 1
sleep 1
xdotool type "recordmydesktop -x 161 -y 112 --width 1280 --height 720 --v_quality 30 --overwrite --no-sound --on-the-fly-encoding -o mantissa-$i.ogv"
sleep 5
xdotool key Return
sleep 30
xdotool key ctrl+c
sleep 1

#save seed file
ffmpeg -i mantissa-$i.ogv -c:v libxvid -q 23 /home/crash-stop/mantissa/mantissa-seed.mp4

#main loop

while true
do
((i++))

#sleep 2
#get window corners and window size with xwininfo
xdotool mousemove 1525 6
xdotool mousedown 1
sleep 1
xdotool type "recordmydesktop -x 161 -y 112 --width 1280 --height 720 --v_quality 30 --overwrite --no-sound --on-the-fly-encoding -o mantissa-$i.ogv"
sleep 5
xdotool key Return
sleep 30
xdotool key ctrl+c
sleep 1

#ffmpeg -i mantissa-$i.ogv -c:v libxvid -q 23 /home/crash-stop/mantissa/mantissa-$i.mp4
ffmpeg -i mantissa-$i.ogv -i /home/crash-stop/mantissa/mantissa-seed.mp4 -lavfi '[1]split[x][y],[0][x][y]displace' /home/crash-stop/mantissa/mantissa-$i.mp4
mpv --geometry=1280x720+161+112 /home/crash-stop/mantissa/mantissa-$i.mp4
cp /home/crash-stop/mantissa/mantissa-$i.mp4 /home/crash-stop/mantissa/mantissa-seed.mp4
done

Subscript 1 (mantissacam0.sh)

#! /bin/bash

ffmpeg -i /dev/video1 -f rawvideo -vcodec rawvideo -pix_fmt yuv420p -s 960x540 - | sed 's/f/18/g' | ffplay -f rawvideo -vcodec rawvideo -pix_fmt yuv420p -s 1280x720 -

Subscript 2 (mantissacam1.sh)  

#! /bin/bash
ffmpeg -i /dev/video0 -f rawvideo -vcodec rawvideo -pix_fmt yuv420p -s 960x540 - | sed 's/f/18/g' | ffplay -f rawvideo -vcodec rawvideo -pix_fmt yuv420p -s 960x540 -


( Notice that the two subscripts also glitch the output of the two webcams using sed - obviously you can either remove that or change the values to alter effects )

Tuesday, 6 July 2021

Install your freedom


TWM running on Parabola 


 
* April 2022. Note this guide is now woefully out of date. Recent changes to Parabolas install media , including the removal of the Lxde systemd iso image ( which was published in 2019) mean that the best way to install Parabola now is via the command line installer images on the parabola website which is more akin to doing a simple Arch Linux install. I will update this page once I've written a fresh guide. It is possible to use the guide I wrote below pre April  to get a fully running updated system but you end up with a system which has a few quirks that needs a lot of attention and removing a lot of out of date packages. 
 
The install guide I followed was the one on Parabolas own wiki here https://wiki.parabola.nu/Installation_Guide  but you will hit snags along the way due to keyring issues which I suggest you update before you get into the main installation proper - I used this as a guide to what was going on ( though its a discussion about the openrc version which is what I wanted to use but ended up for sanitys sake starting with the systemd version though I'm kind of opposed to systemd on philosophical grounds) https://labs.parabola.nu/boards/10/topics/1034
this is the important bit which updates the keyrings which seems to be the constant problem Parabola ( and Arch seems to have )
 
pacman -Sy archlinux-keyring parabola-keyring
and as it says lower down the same thread you may want to edit our old friend /etc/pacman.conf to 
SigLevel = Never 
 

Which should iron out any other errors - but as it doesn't say in the guide you will also want to do pacstrap /mnt nano to install nano so when we finally get to altering that file and later on in the chroot environment during the installation phase we have something to use. 

Installing everything will only give you a basic system without working networks or a graphical login or desktop environment so I would suggest before chrooting to the final stage   use pacstrap /mnt to install networkmanager network-manager-applet dhclient lxde lxdm wpa_supplicant sudo ( cos you don't want to have to keep using the root account ) and a few other file tools like ntfs-3g udisks2 pmount ( for that handy usb stick mounting routine ) and maybe just look at a few of the arch install documents to see if there's anything you might have missed this is the official arch wiki https://wiki.archlinux.org/title/Installation_guide you might be able to use this helper script but I didn't so I can't speak to its efficacy https://wiki.archlinux.org/title/Archinstall . And finally maybe after install add your user to the sudoers group via this guide - https://wiki.archlinux.org/title/Sudo and remember if you mess up and find something missing which stops you moving on to getting a fully working system you can always boot from the install medium and chroot into your installation ( the install medium includes networking so thats nice) and add in what you've missed .

Also take note that by default it seems none of the system services like networking or graphical login which are controlled via systemd are turned on by default so you will have to turn those on via the command line ie 'systemctl enable NetworkManager.service' for instance for the network manager to run at boot - handy if you want to say update your system or install packages, why isn't this on  by default, only the arch linux people can say, again it just seems like wilful perversity - it was so much easier using the live lxde iso .
 
As I say this is a quick guide to some of what I had to do to get the system up and running - I used a lot of the arch linux guides and made a lot of missteps because frankly speaking the Arch linux way of doing things is, coming from a Debian based distro  user perspective , perverse and once this project is over I'll be swapping to using Gnuinos which although on the fsf waiting list and not endorsed yet is way better and easier to use and by default doesnt use systemd. find Gnuinos here https://gnuinos.org/
 
 
* Note updated November 2021 as recent changes have led to a slight alteration in methodology described below for installation.
 
One of the many things lost after the release of Win 95 and earlier mac os versions was the focus on understanding computers rather than merely using them , we became users , customers of an ecosystem built up on selling us things that 'Just worked' rather than explorers working out how to do things for ourselves. This is no more  obvious than in the desktop paradigm of Win 95, mac os and later Android and ios where  everything sits within virtual folders, a simulacrum of a real office environment which is in effect what the computing paradigm became, a virtual cubicle to contain and constrain our thoughts and ideas.     This desktop as virtual cubicle paradigm can trap us within a way of working and thinking , yes I can change the desktop theme or the shape of the icons and cursors but what If I want to strip away layers of the Gui and say work without a taskbar or redesign the default font completely what if I want to step outside of my cubicle and do something different , something more exploratory.

 Over the last week to maintain compatibility with a project I'm collaborating on with Medialab , a project of Hacklab01 (more info here https://hacklab01.org/medialab ) I had to install a version of Linux that I hadn't used before - Parabola . Why Parabola? A lot of what I do and a lot of what Medialab works around are 'critical digital art creation' which naturally leads to the   ideas of open source software and the possibilities that it has.  Primary amongst that becomes the idea of libre-software as opposed to just open-source software. The difference is important , as the FSF states :

"As our society grows more dependent on computers, the software we run is of critical importance to securing the future of a free society. Free software is about having control over the technology we use in our homes, schools and businesses, where computers work for our individual and communal benefit, not for proprietary software companies or governments who might seek to restrict and monitor us." 

I've talked before about how the software I choose to use, and the uses I put it to are inherently political, but its not just the software I use it's also the operating system and the hardware I run that operating system on. 

Libre-software is fully free of licensing impediments or proprietary blobs. In the case of an operating system, which might require blobs to run things like wifi cards or graphics cards which are non-free - Parabola includes none of those things.  The FSF ( free software foundation here ) definition of what a libre operating system is :

" Free distributions (or “distros”) of the GNU/Linux system only include and only propose free software. They reject non-free applications, non-free programming platforms, non-free drivers, non-free firmware “blobs”, and any other non-free software and documentation. If they discover that by mistake some had been included, they remove it. "

Why is that important? If we want to work together its easier if we all speak the same language ie use the same or similar tools and the opportunity cost for anyone wanting to replicate or expand on what we do to be the same or similar ie as low as possible - art should be inclusive regardless of economic circumstances and  one of the mains ways to keep this inclusivity is to only use Libre software and as close as possible to Libre hardware or at least hardware that is serviceable. The point of Libre software is that it gives back our sense of the exploratory and control over what and how we produce   .

So lets download and install Parabola then install TWM , a desktop environment that  is unlike most of what we are familiar with today . The following guide is not my work , most of it was worked out By Vedran Gligo and the idea of using the TWM window manager comes from Dina Karadzic , one of the things that using libre software fosters is collaboration and so this a collaborative effort along with ideas taken from the Parabola community on reddit. 

NOTE - this is not a beginners guide , it assumes a working knowledge of Linux usage , hard drive partitioning, familiarity with using a command line   and a basic knowledge of the hardware you are using , though linux is free and libre-linux doubly so it requires you are willing to get your hands dirty .  If you haven't used linux yet I'd advise starting with Linuxmint, Debian or Manjaro just to gain a working familiarity with installing and using a linux desktop.

Download Parabola here - https://www.parabola.nu/ then read the installation guide here https://wiki.parabola.nu/Installation_Guide , its essential to read the installation guide and for beginners new to this I'd recommend downloading the Lxde image here as it gives a live distro to boot into and an easy installer program called calamares - I'd choose this one which is for 64 bit computers https://wiki.parabola.nu/Get_Parabola#Parabola_SystemD_LXDE_ISO, don't choose anything but that as the openrc images are known to be broken at this time and the cli net-installers involve a lot more specific knowledge ( if you can install arch via command-line you might get by but the issue that strikes is trickier to deal with from the command-line unless you really know what you are doing) 

Just as a by the by , I've installed this on a couple of Thinkpads , a T61 and an X200, both have had the bios whitelists removed , which is important as you will probably need to change out or source a libre distro  compatible wifi card, this isn't kansas anymore and some hardware that doesn't have opensource or libre drivers just won't work ( to get parabola to work on my dell optiplex 9010 I had to remove the Radeon graphics card and just rely on the inbuilt Intel one ) you can find a list of such things online but this is a guide to some of the issues you might encounter and what to look out for when deciding to use libre distros https://h-node.org/

So I'm going to assume you've downloaded and burnt parabola to cd or usb and are booting up the distro , you've followed and read the installation guide you've got to the lxde desktop and hit the installer button and have managed to follow it through and installed it to your computer , rebooted and logged in to your user account - this is where I hit the snag that took a couple of days to work out and without Vedran Gligos' help I would have given up or gone completely mad , as I said this ain't Kansas anymore . 

The first thing I do when I'm trying out a new distro is hit the package manager ( in Parabolas case the very fetching octopi and the command-line default pacman ) and that's what I did , to be met with some seriously scary error messages about keyservers and such like , which even using parabolas own troubleshooting guide  I could not get around. For what its worth the troubleshooting guide which in normal circumstances would have been all I needed is here - https://wiki.parabola.nu/Pacman_troubleshooting

Parabola like archlinux ( on which parabola is based )  validates its packages with pgp keys , and uses keyservers to check that these keys are still valid , so in parabolas case the keyserver that validates everything has gone offline and thus you have to do a bit of hacking around to update and install anything new not provided by the initial install which involves altering configuration files with root or superuser  privileges .

Step 1 ) open a terminal and do either ( depending on preference)

sudo leafpad /etc/pacman.conf

or 

sudo nano /etc/pacman.conf 

look for the line  'SigLevel    = Required DatabaseOptional'

comment that out and add in  a line saying 'SigLevel = TrustAll'

save and close that file then do 

sudo leafpad ( or nano) /etc/pacman.d/gnupg/gpg.conf

and add this line 'keyserver hkp://keyserver.ubuntu.com'

save and exit 

This is the important bit as this changes the default keyserver that the parabola package manager pacman looks to to validate keys .

step 2) Then from a terminal run these commands in sequence:

sudo pacman -Scc
sudo pacman -Syy archlinux-keyring archlinux32-keyring archlinuxarm-keyring parabola-keyring
sudo pacman-key --init
sudo pacman-key --populate archlinux archlinux32 archlinuxarm parabola
sudo pacman-key --refresh-keys

After the last command above you still get an error message but press on , all is well .  

* this is the first change to original guide - previously I had recommended that you 're-open /etc/pacman.conf and uncomment the line you commented out and comment out the line you added in ( you might need it at a later date !)' , leave the alteration to /etc/pacman.conf in place until AFTER doing step 3.

Step 3) Then from the terminal again type in 

'sudo pacman -Syu' - hit enter and watch your computer automagically retrieve packages and update itself 

Step 4)  Once that's all finished panic again as you will still get error messages  but all is not lost , you just have to open octopi and in the search bar type in linux-libre which pulls up the kernel , and re-install that. 

*Alteration to original guide . At this point Had recommended rebooting at this stage - but now we have to as well as reinstalling linux-libre we must also search octopi for parabola-keyrings and reinstall those ( its an updated keyring from October of 2021 which  might have led to the error I encountered which led to the rewrite of this guide ) 

after doing all that succesfully we can now go back  and 're-open /etc/pacman.conf and uncomment the line you commented out and comment out the line you added in ( you might need it at a later date !)'

So now with fingers crossed reboot and your computer should bring you back to the login screen . Ive done this at least three or four times in the last week and each time its worked , so I think we are golden. You should now have a fully functioning parabola linux system. 

Why step 4 ? the package manager installed and updated linux-libre kernel when I did 'sudo pacman -Syu '  - wellll It was explained to me that the update process above breaks the hooks the kernel needs to do things like updating grub etc so to avoid having to reboot from an emergency disk and chroot into the system if we re-install the kernel using octopi before rebooting it repairs the errors created by the initial update which fixes the keyserver issue - hopefully you won't have to do this again , even if the kernel is updated at a later stage .

This took a few days for Vedran to work out by which time I'd almost forgotten why I was wanting to use this system in the first place. 

Was all of this heartache and hair pulling worth it ? I'd have to say yes , because now I have system which is lean, powerful and actually useful plus now I can try out ideas before committing them to the main project ( which runs on an online version of Parabola )  knowing that if they work on this computer without breaking it they will work on the remote computer , and that's the point - compatibility and reproducibility all from free and libre software .

So with that out of the way I can now install what I came here for which is a window manager called TWM and compared to the above installation is a breeze. But why TWM ? Its low on resource usage ( I have this whole distro running on my T61 which was built in 2009 and it just works well ) aaaand it looks and behaves unlike Windows xx or Mac os xx or ios or android - its easily customizable from a small and simple configuration script , one of the great things about linux is that it gives you back the power to alter scripts and files easily, and in my case explore the edges of what can be done such as these :

Twm running before starting xsetroot

Twm after running xsetroot below !




Just by adding a few simple programs like xsetroot and running them the desktop becomes a visual environment or paintbox leaving trails after opened windows and composing itself as I use and open windows .

How to install TWM ? theres a good guide here https://wiki.archlinux.org/title/Twm and there some good guides to basic .twmrc configurations here http://www.xwinman.org/








 

Monday, 14 June 2021

Quick and dirty guide to using ffglitch/ffgac in Windows 10




This post is in response to a question posted in r/glitch_art about using FFglitch in windows 10 . Now I generally use linux exclusively but I've become aware over the last few months that I have to be a bit more inclusive, not everyone wants to run linux for one reason or another and I'm trying to port some of my examples to windows for that reason. 

What is FFglitch? Ramiro Polla's FFglitch is basically the best tool for datamoshing there is, Kaspar Ravels tomato v2 is a beautiful and simple tool but it has limits , FFglitch is more complicated to use but gives much more fine grained control of the process. Where to get it - here https://ffglitch.org/ it comes in Linux , Mac and Windows flavors Download it and unpack it, there's no need to install it, as its a standalone binary, but to use it we will need to take a few steps first.

First things first, download notepad ++  to alter scripts and settings with ffglitch its easier if you have a good editor - I recommend either geany or notepad++ so download and install that first if you havent got it installed already https://notepad-plus-plus.org/

FFglitch is essentially a command line tool , and this is where windows sucks , powershell is okay but we need a bit more power and some unix like tools which is where the git bash terminal comes in ( I've written about that before in a previous post ) you want to install this from here https://gitforwindows.org/  and follow the onscreen prompts carefully , generally its okay to go with the default prompts except where it asks for your default editor  - I recommend you tick the box that says notepad++ . Once its installed you will notice if you right click in a folder you now have an option which says 'gitbash here' - and this is what we are after, bash is a terminal like powershell but way more powerful, more of that later.

Optional - if you want to use python scripts, though the developer Ramiro Polla states he is moving away from those in favor of js there's a lot you can do with those scripts ( see Jo Grys posts in the facebook group glitch artists collective - tooltime  and also Kaspar Ravel and Thomas Collets work on implementing the game of life as motion vectors  with ffglitch )  . Sooo download and install chocolatey from here https://community.chocolatey.org/ then after that open powershell as adminstrator and do this to install python - choco install python --pre

so all of that out of the way I'm going to walk through the example I was actually asked about - the move sink and rise example that Ramiro Polla has on his website . First things first we need to change the format of any file we are using so it suits ffgac ( the new version is called ffgac not ffglitch ) which handily there is an example script to do just that - now one of the misconceptions people have on using ffglitch / ffgac is that they can use standard ffmpeg to prep their files and this leads to a further misconception which leads to trying and failing to use ffglitch / ffgac - and I think that explains the renaming - ffgac is a standalone version of ffmpeg designed to be used with this set of tools , all the scripts reference it and not any other version you may have installed - this is why we work within the ffgac / ffglitch directory . 

so prep your file with the script Ramiro Polla has on his website but modified for use with windows - open notepad++ and copy pasta what is  below  from  #!/bin/bash to done , save that script in the folder where you have ffgac as ffgacprep.sh 

#!/bin/bash
mkdir mpeg2

#change mp4 below to whatever the file extension your source file has
for I in *.mp4;
  do
             ./ffgac.exe -i "$I" \
             -an -vcodec mpeg2video -f rawvideo \
             -mpv_flags +nopimb \
             -qscale:v 6 \
             -r 30 \
             -g 90 \
             -s 1280x720 \
             -y mpeg2/"${I/.mp4/.mpg}";
  done
 

open git bash terminal in that folder ie right click and click on Git bash here - the terminal window will appear - before we can use that script we have to make it executable so in the terminal type in exactly this  ( without quote marks) '  chmod u+x ffgacprep.sh  '  - if all goes well there will be no error messages and the command line returns . so to prep your file now type in exactly in the terminal :

 ./ffgacprep.sh 

The script will create a folder within that folder called mpeg2 and output your file all ready for the next stage move it into the main ffglitch folder .

You could also use the command line commands shown on the website. So in git bash terminal and with your video in the ffglitch folder copy and paste that command into git bash terminal ( to paste into git bash terminal press shift and ins ) - change where it says input file to the name of your file - leave temp_file.mpg as your output file name unless your working on a lot of files and alter the first part of the script from ffgac to ./ffgac.exe ( cos we are working on windows and not linux ) so it will look like this ( but as one long line) - using the left and right arrow keys to navigate through the command and change it .

./ffgac.exe -i input_file -an -mpv_flags +nopimb+forcemv -qscale:v 0 -g 1000 
-vcodec mpeg2video -f rawvideo -y temp_file.mpg

Go back to the ffglitch website and go here https://ffglitch.org/2020/07/mv.html look for the section about halfways down where he says ' With all that being said, here’s the script that we will be using' open notepad++ and copy the script and save it in the ffglitch folder as  'mv_sink_and_rise.js' (without the quotes ) .

Now for the magic run the command he has on his website but for windows we change it to ;

./ffedit.exe -i temp_file.mpg -f mv -s mv_sink_and_rise.js -o glitched_file.mpg

copy and paste ( or type !) the above into git bash terminal and press enter :

Once that has run succesfully look for the file in the ffglitch folder and play it!

Once we have this running and you are happy with this process go back to Ramiro Polla's tutorials and start messing about with values in the mv_sink_and_rise.js script.


  

 

 

 


 



 

 

 


Friday, 11 June 2021

Black and white ( The future is 1 bit)


  A while back I became interested in dithering - an early technique used for creating grey scale images in the days when computer monitors, and sometimes computers, were only black and white - think early Macintosh or that portable black and white TV you used for your ZX81 or any of the early home computers. Very similar to newspapers grid of dots dithering has a certain aesthetic appeal - there's a wonderful article here on its roots and links to modern processing sketches https://www.evilmadscientist.com/2012/dithering/ but that doesn't fill my requirements these are great but what if I want to turn a whole video into black and white ( not greyscale) rather than just capture it live . Something like this :

 


There's a simple way to do this in ffmpeg using this command - 'ffmpeg -i Input_1280x720.mp4 -f lavfi -i color=gray:s=1280x720 -f lavfi -i color=black:s=1280x720 -f lavfi -i color=white:s=1280x720 -filter_complex threshold output.mp4' - which gives us this:


Although I like this - its not quite what I was looking for . So I looked for some alternative way using ffmpeg to create dither but none of the methods I found gave me that look and feel . Then I thought well could I just convert the video to stills and use an old format like pbm and researching this I found that the netpbm library ( find netpbm page and links here ) has a function for creating atkinson like dither.

 Most linux distros come with the netpbm library and that gives us  different ways of dithering an image but the one I was most interested in - pamditherbw ( which has the setting for Atkinson dithering) didn't seem to be included which sent me down a rabbit hole of finding out why . To get this function you have to uninstall the netpbm that comes with your distro then download the deb file from here and carefully follow error messages that the installing with gdebi process throws up ( there are a couple of packages that need to be uninstalled and another that needs to be installed as well as the netpbm package ) - I know this sounds a little vaguer than I usually write but its easy enough when you see the process and follow the prompts. 

So having that installed I could now run the script I wanted to run which gives me this, best viewed full screen ( I'll post the script at the end )


This is the script : caveats - you must remember to add file extension when answering 'what do you want to name the output file' ie mp4 - if using a different codec other than h264 you may wish to alter the ffmpeg statement at the end . It creates a lot of files when its working , so you might want to use a scratch disk ( I did a fifty minute video which created 80000 plus files here but it does clean up after itself ie removes the stills before exiting.

#!/bin/bash
#to get pam ditherbw to work uninstall pkgmanagers version of netpbm and download and from here https://sourceforge.net/projects/netpbm/files/
#more info on pamditherbw here http://netpbm.sourceforge.net/doc/pamditherbw.html

echo -n "File to work on ? : "
read n

echo -n "What do you want to name output file ? : "
read z

echo -n "Framerate as a number between 1 and 30 ? : "
read m

echo -n "crf value for final video ? : "
read o




# convert to pgm

ffmpeg -i $n -vf fps=$m image-%05d.pgm

i=0
find . -type f -name '*.pgm'|while read filename; do echo ${filename} ;
((i++))
# try different random seeds
  pamditherbw -atkinson -randomseed 8  ${filename} > $i.pam ;
  mogrify -format pbm $i.pam
  mv "$i.pbm" "$(basename "${filename}" .pgm).pbm"
  rm $i.pam
 
  done
 
 
 
  rm *.pam
  rm *.pgm
 




ffmpeg -i image-%05d.pbm -vcodec libx264 -r $m -crf $o  -pix_fmt yuv420p $z
#ffmpeg -i image-%05d.pbm -r $m -c:v hevc -b:v 2M  $z

rm *.pbm


#ffmpeg -r $m -i %d.jpg -i $n -map 0:0 -map 1:1 -c:a copy -c:v libx264 -tune stillimage -crf $o -r 24 lol.mp4





Slowgram

* This is the text of a talk I gave online as part of a day long online / offline  session presented as part of the 'Falling from the sh...