Autosave: 2024-11-24 10:53:19

This commit is contained in:
thomasabishop 2024-11-24 10:53:19 +00:00
parent b2733424e1
commit 1f4de4e344
790 changed files with 291 additions and 39 deletions

View file

@ -0,0 +1,52 @@
---
tags: [AWS, SQS]
---
# AWS SQS
SQS ("Simple Queue Service") is a service that allows you to send, store and
receive messages between apps and software components built in AWS. It helps
with decoupling and scaling.
> Amazon SQS is a distributed queue system that enables web service applications
> to quickly and reliably queue messages that one component in the application
> generates to be consumed by another component where a queue is a temporary
> repository for messages that are awaiting processing.
As the name indicates, its operating mode is that of a [queue](Queue.md) data
structure offering first-in, first-out and other queue implementations.
## Example use case
![SQS example diagram](static/SQS-example.png)
A request is made to an [API Gateway](API_Gateway.md) endpoint with a body. The
body is then parsed and inserted into a database.
The benefit of adding SQS as a buffer between the request and the updating of
the database:
- It can better handle spikes in activity, buffering requests to the database
until it is ready to handle them. This prevents the messages getting lost if
the server is overloaded
- There is a retry mechanism built into SQS. If the database write fails, the
message stays in the queue allowing for retries
- It facilitates decoupling. Without SQS as the middleman the responsibilites of
the lambda would be compounded - it would receive requests and update the DB,
plus any additional processes such sending a message to SNS. In the solution
we have two lambdas co-ordinating actions in a decouped manner via SQS.
## Dead letters
As SQS allows for multiple retries we could end up in a situation where a
malformed message is continually processed in a loop. To avoid this you can set
a maxiumum retry limit and, when this is exceeded, shift the problematic message
to the dead letter queue (DLQ) and remove it from the main queue.
![SQS deadletter example](static/SQS-deadletter.png)
If the DLQ reaches a certain threshold this can trigger additional handling such
as raising an Alert in [CloudWatch](./AWS_CloudWatch.md) or other monitoring
tool.

View file

@ -0,0 +1,33 @@
---
tags: [javascript]
created: Sunday, November 24, 2024
---
# JavaScript module types
The following info is useful when you wish to use modern JavaScript tooling
outside of a build system.
For instance I wanted to use a bundled React application in a static website not
created using NPM.
Great account by
[Julia Evans](https://jvns.ca/blog/2024/11/18/how-to-import-a-javascript-library/).
In essence there are three main module formats:
- CommonJS
- Native Node JS module system using `require()` and `module.exports()`
- ESModules
- The defacto standard that works in both the browser and Node.js
- AMD
- A browser-friendly version of CommonJS since superseded by ESModules
Then there is UMD, _Universal Module Definition_. This is a wrapper that
combines compatibility for multiple module systems and works with AMD, CommonJS,
as well as global variables.

View file

@ -0,0 +1,19 @@
---
tags: [AWS]
---
# AWS Messaging services
## SNS
> SNS: Simple Notification Service
Similar to SQS but the focus is on notifications rather than messages, i.e
events that fire when something specific happens, not just a message-send event.
It can be used for passing notifications between applications or to persons
through SMS, text, push notifications and email.
**SNS pushes messages out to subscribers while SQS stores the messages until
someone reads them.**
Relation between SNS and SQS - typically paired aren't they.

View file

@ -0,0 +1,72 @@
---
tags: [ecopolsoc, internet]
created: Friday, November 22, 2024
---
# a771a6d9_defining_internet_enclosure
## Defining _enclosure_
The attempt by capital interests to encircle, control and contain networked
digital communication with the object of extracting financial value from the
exchanges and the community from which they arise.
This constitutes the commodification of a human-constituted resource, like
labour rather than a natural resource, like oil.
## Main characteristics
### Strategic denial of alternative communication media
Where there is a _multiplicity_ of media and within media, a multiplicity of
channels, capital steers communication toward a _single_ entity.
In a "democratic free-market society", capital cannot simply ban alternative
media, it can however work to diminish the influence of alternatives through the
strategic denial of interoperability and the aquisition and subsumption of
rivals into its system.
### Tyrannical control of the rules of communication
Where the standards of communication are elective and established organically
and collaboratively between peers (possibly even democratically), capital
enforces rules derived externally and applied in an authoritarian manner. These
rules are mutable but changes are enacted unilaterally and arbitrarily by the
owners of the medium, not its users. Hence, tyranny in its technical political
sense.
### Total control of information and content
Where individuals share information freely in collaborative enterprise with
diminished concern for ownership (typically favouring citation and iteration as
models), capital takes full possession of the information generated such that it
can be removed and destroyed at will without consultation.
### Surveillance
Where communication is anonymised (loosly or strictly (i.e. through
cryptographic means)), capital _surveils_ all exchanges and the behaviour of
community members.
Typically this is not _personal_ in the sense of being interested in the
specific user's identity, rather it is abstracted into a composite of the
person's preferences which may or may not disclose their legal identity (i.e
metadata).
This characteristic is both an _attribute_ of internet enclosure and its
ultimate reason for existence. It is critical to the mechanism of extraction
since it provides both data that can be sold to other capital interests and
content that can be used to sell to community members as consumers.
### Artificial promotion of commercial content and prolongation of engagement
Where engagement with media is idiosyncratic and organic, capital circumscribes
the field. This is done to prolong engagement.
At one pole this is achieved through the excitation of visceral responses by
artificially favouring content that titillates, disgusts or angers the user. At
the other, it is achieved through mollification and the coddling of the user.
The user encounters only like-minded fellows who affirm and repeat his existing
beliefs and values, creating community and a sense of safety through the
othering of contrary viewpoints. Both techniques are demagogic in nature
familiar from the control mechanisms of cults and extreme political ideologies.

View file

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

View file

@ -13,12 +13,16 @@ computer science.
![not-by-ai-badge](static/not-by-ai-alternative--light.svg)
**Build ID:** e74b7b2d-cac4-4437-99e5-f94adaa32c60
**Build ID:** 6bd22abe-1c26-4082-9ee1-2e98738d9784
**Published:** Thu 21 Nov 2024 18:26:01
**Published:** Sun 24 Nov 2024 10:53:17
### Recent edits
- [[a771a6d9_attributes_of_internet_enclosure]]
- [[JavaScript_module_types]]
- [[AWS_SQS]]
- [[Messaging_services]]
- [[0716531c_rewilding_the_internet]]
- [[f6564af9_AOL_and_early_internet_enclosure]]
- [[Bauman_quote]]
@ -27,13 +31,9 @@ computer science.
- [[Passing_arguments_and_options_to_Bash_scripts]]
- [[Functions_in_Bash]]
- [[Bash_file_exists]]
- [[Bash_store_status_of_command_execution]]
- [[Bash_colour_output]]
- [[Terraform]]
- [[Classes_in_Python]]
### All notes (495)
### All notes (498)
- [[0716531c_rewilding_the_internet]]
- [[241fe1a3_the_Web_versus_modem_BBSs]]
@ -48,6 +48,7 @@ computer science.
- [[AWS_CLI]]
- [[AWS_CloudWatch]]
- [[AWS_SAM_and_Docker]]
- [[AWS_SQS]]
- [[AWS_architecture_hierarchy]]
- [[Accessing_metadata_about_SQL_database]]
- [[Accessing_secrets_from_a_Lambda]]
@ -255,6 +256,7 @@ computer science.
- [[Invoking_the_shell_in_Python]]
- [[Iterating_in_React]]
- [[Iterating_through_complex_data_structures_in_Python]]
- [[JavaScript_module_types]]
- [[Joins_in_SQL]]
- [[Journey_of_GraphQL_query]]
- [[Key_characteristics_of_GraphQL]]
@ -513,6 +515,7 @@ computer science.
- [[Writing_to_files_in_Python]]
- [[Zero_property_of_multiplication]]
- [[Zip_function_in_Python]]
- [[a771a6d9_attributes_of_internet_enclosure]]
- [[c301a0b3-1d8_Mosaic_Netscape_and_Browser_Wars]]
- [[c8173d17_TIMPs]]
- [[cfbef1c4_web_precursors]]

View file

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

View file

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 145 KiB

View file

Before

Width:  |  Height:  |  Size: 289 KiB

After

Width:  |  Height:  |  Size: 289 KiB

View file

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View file

Before

Width:  |  Height:  |  Size: 6.9 MiB

After

Width:  |  Height:  |  Size: 6.9 MiB

View file

Before

Width:  |  Height:  |  Size: 224 KiB

After

Width:  |  Height:  |  Size: 224 KiB

View file

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

View file

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View file

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View file

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View file

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View file

Before

Width:  |  Height:  |  Size: 204 KiB

After

Width:  |  Height:  |  Size: 204 KiB

View file

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 49 KiB

View file

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View file

Before

Width:  |  Height:  |  Size: 165 KiB

After

Width:  |  Height:  |  Size: 165 KiB

View file

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

View file

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 91 KiB

View file

Before

Width:  |  Height:  |  Size: 133 KiB

After

Width:  |  Height:  |  Size: 133 KiB

View file

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View file

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

View file

Before

Width:  |  Height:  |  Size: 4 KiB

After

Width:  |  Height:  |  Size: 4 KiB

View file

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View file

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View file

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2 KiB

After

Width:  |  Height:  |  Size: 2 KiB

View file

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View file

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View file

Before

Width:  |  Height:  |  Size: 148 KiB

After

Width:  |  Height:  |  Size: 148 KiB

View file

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

View file

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View file

Before

Width:  |  Height:  |  Size: 121 KiB

After

Width:  |  Height:  |  Size: 121 KiB

View file

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View file

Before

Width:  |  Height:  |  Size: 470 KiB

After

Width:  |  Height:  |  Size: 470 KiB

View file

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View file

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View file

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View file

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View file

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View file

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 99 KiB

View file

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View file

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View file

Before

Width:  |  Height:  |  Size: 848 KiB

After

Width:  |  Height:  |  Size: 848 KiB

View file

Before

Width:  |  Height:  |  Size: 194 KiB

After

Width:  |  Height:  |  Size: 194 KiB

View file

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View file

Before

Width:  |  Height:  |  Size: 130 KiB

After

Width:  |  Height:  |  Size: 130 KiB

View file

Before

Width:  |  Height:  |  Size: 171 KiB

After

Width:  |  Height:  |  Size: 171 KiB

View file

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View file

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View file

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

View file

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View file

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 79 KiB

View file

Before

Width:  |  Height:  |  Size: 157 KiB

After

Width:  |  Height:  |  Size: 157 KiB

View file

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 72 KiB

View file

Before

Width:  |  Height:  |  Size: 153 KiB

After

Width:  |  Height:  |  Size: 153 KiB

View file

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View file

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 87 KiB

View file

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 118 KiB

View file

Before

Width:  |  Height:  |  Size: 414 KiB

After

Width:  |  Height:  |  Size: 414 KiB

View file

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View file

Before

Width:  |  Height:  |  Size: 174 KiB

After

Width:  |  Height:  |  Size: 174 KiB

View file

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View file

Before

Width:  |  Height:  |  Size: 167 KiB

After

Width:  |  Height:  |  Size: 167 KiB

View file

Before

Width:  |  Height:  |  Size: 150 KiB

After

Width:  |  Height:  |  Size: 150 KiB

View file

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

View file

Before

Width:  |  Height:  |  Size: 140 KiB

After

Width:  |  Height:  |  Size: 140 KiB

View file

Before

Width:  |  Height:  |  Size: 190 KiB

After

Width:  |  Height:  |  Size: 190 KiB

View file

Before

Width:  |  Height:  |  Size: 374 KiB

After

Width:  |  Height:  |  Size: 374 KiB

View file

Before

Width:  |  Height:  |  Size: 9 KiB

After

Width:  |  Height:  |  Size: 9 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

View file

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

View file

Before

Width:  |  Height:  |  Size: 448 KiB

After

Width:  |  Height:  |  Size: 448 KiB

View file

Before

Width:  |  Height:  |  Size: 122 KiB

After

Width:  |  Height:  |  Size: 122 KiB

View file

Before

Width:  |  Height:  |  Size: 668 KiB

After

Width:  |  Height:  |  Size: 668 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View file

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View file

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View file

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View file

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View file

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 41 KiB

View file

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 108 KiB

View file

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

View file

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View file

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View file

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View file

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View file

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View file

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 66 KiB

View file

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View file

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View file

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View file

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View file

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View file

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View file

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View file

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

View file

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View file

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View file

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

View file

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

View file

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View file

Before

Width:  |  Height:  |  Size: 146 KiB

After

Width:  |  Height:  |  Size: 146 KiB

View file

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View file

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View file

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 63 KiB

View file

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View file

Before

Width:  |  Height:  |  Size: 94 KiB

After

Width:  |  Height:  |  Size: 94 KiB

View file

@ -1,32 +0,0 @@
---
tags: [AWS]
---
# AWS Messaging services
## SQS
> SQS: Simple Queue Service
SQS is a service that allows you to send, store and receive messages between
apps and software components built in AWS, with automatic encryption. It helps
with decoupling and scaling.
As the name indicates, its operating mode is that of a
[queue](Queue.md) data structure offering first-in, first-out
and other queue implementations.
An example application of this would be to set up an SQS queue that receives
messages and triggers a lambda whenever a new message is added.
## SNS
> SNS: Simple Notification Service
Similar to SQS but the focus is on notifications rather than messages, i.e
events that fire when something specific happens, not just a message-send event.
It can be used for passing notifications between applications or to persons
through SMS, text, push notifications and email.
**SNS pushes messages out to subscribers while SQS stores the messages until
someone reads them.**

Binary file not shown.

View file

@ -0,0 +1,33 @@
---
tags: [javascript]
created: Sunday, November 24, 2024
---
# JavaScript module types
The following info is useful when you wish to use modern JavaScript tooling
outside of a build system.
For instance I wanted to use a bundled React application in a static website not
created using NPM.
Great account by
[Julia Evans](https://jvns.ca/blog/2024/11/18/how-to-import-a-javascript-library/).
In essence there are three main module formats:
- CommonJS
- Native Node JS module system using `require()` and `module.exports()`
- ESModules
- The defacto standard that works in both the browser and Node.js
- AMD
- A browser-friendly version of CommonJS since superseded by ESModules
Then there is UMD, _Universal Module Definition_. This is a wrapper that
combines compatibility for multiple module systems and works with AMD, CommonJS,
as well as global variables.

View file

@ -0,0 +1,72 @@
---
tags: [ecopolsoc, internet]
created: Friday, November 22, 2024
---
# a771a6d9_defining_internet_enclosure
## Defining _enclosure_
The attempt by capital interests to encircle, control and contain networked
digital communication with the object of extracting financial value from the
exchanges and the community from which they arise.
This constitutes the commodification of a human-constituted resource, like
labour rather than a natural resource, like oil.
## Main characteristics
### Strategic denial of alternative communication media
Where there is a _multiplicity_ of media and within media, a multiplicity of
channels, capital steers communication toward a _single_ entity.
In a "democratic free-market society", capital cannot simply ban alternative
media, it can however work to diminish the influence of alternatives through the
strategic denial of interoperability and the aquisition and subsumption of
rivals into its system.
### Tyrannical control of the rules of communication
Where the standards of communication are elective and established organically
and collaboratively between peers (possibly even democratically), capital
enforces rules derived externally and applied in an authoritarian manner. These
rules are mutable but changes are enacted unilaterally and arbitrarily by the
owners of the medium, not its users. Hence, tyranny in its technical political
sense.
### Total control of information and content
Where individuals share information freely in collaborative enterprise with
diminished concern for ownership (typically favouring citation and iteration as
models), capital takes full possession of the information generated such that it
can be removed and destroyed at will without consultation.
### Surveillance
Where communication is anonymised (loosly or strictly (i.e. through
cryptographic means)), capital _surveils_ all exchanges and the behaviour of
community members.
Typically this is not _personal_ in the sense of being interested in the
specific user's identity, rather it is abstracted into a composite of the
person's preferences which may or may not disclose their legal identity (i.e
metadata).
This characteristic is both an _attribute_ of internet enclosure and its
ultimate reason for existence. It is critical to the mechanism of extraction
since it provides both data that can be sold to other capital interests and
content that can be used to sell to community members as consumers.
### Artificial promotion of commercial content and prolongation of engagement
Where engagement with media is idiosyncratic and organic, capital circumscribes
the field. This is done to prolong engagement.
At one pole this is achieved through the excitation of visceral responses by
artificially favouring content that titillates, disgusts or angers the user. At
the other, it is achieved through mollification and the coddling of the user.
The user encounters only like-minded fellows who affirm and repeat his existing
beliefs and values, creating community and a sense of safety through the
othering of contrary viewpoints. Both techniques are demagogic in nature
familiar from the control mechanisms of cults and extreme political ideologies.