diff --git a/.gitignore b/.gitignore index d5f19d8..b9f63d2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,6 @@ -node_modules +# Dependency folder +node_modules/ +# logs package-lock.json +# Operating system files +.DS_Store \ No newline at end of file diff --git a/README.md b/README.md index 6fe25c1..352f015 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,39 @@ +# Introduction +[![](https://img.shields.io/badge/license-MIT-green)](https://opensource.org/licenses/MIT) +[![](https://img.shields.io/badge/project-machu----picchu-brightgreen)](https://github.com/Machu-Pichu/general.git) +[![](https://img.shields.io/badge/usage-tutorial-lightgreen)](https://github.com/Machu-Pichu/general.git) + +*(Written in June 2021)* + +This is a fork of the repository of [Vaibhav Saini](https://github.com/vasa-develop/ultimate-ipfs-series) +The contribution is to update the code at the latest versions of the npm packages as of June 2021. The snippets have all been executed and are working. Only the first 4 articles have been updated. The last 2 articles require a Medium account to read that I don't have. + +The licensing status of the original code of Vasa is unknown. But as long as all the code that I made here are new and inspired also by the original example of the [IPFS documentation site](https://github.com/ipfs/js-ipfs), the license of this code is MIT. +## To use the code snippets +To use the code snippets, you need to install NodeJS. The setup instructions use the console utility (`Terminal.app`) from MacOS. Excepted for `brew`, the setup instructions are the same if you use Linux Ubuntu. + +* Install [Brew](https://brew.sh/) +* Install nodeJS via brew: `brew install node@14.17.0` (this version of nodeJS is the last long term stable support) +* Install `wget` via brew: `brew install wget` (we'll need `wget` to retrieve the homepage of Vasa in the post _Understanding IPFS in Depth(1/6): A Beginner to Advanced Guide_) + +Under Windows, it is strongly recommended to run a [VirtualBox](https://www.virtualbox.org/wiki/Downloads) for Windows and install a Ubuntu Virtual Machine inside it. Here is a YouTube video of 4 minutes, that can guide you through this double installation process: https://youtu.be/8mns5yqMfZk. +## Overview of changes (for the Pull Request) +* all `package.json` have the latest versions of IPFS packages, as of June 2021 +* the APIs of IPFS have changed, no more callback with `err` code, so we use liberally `try-catch` coding +* the `package.json` refer to the latest `npm` packages, as of June 2021 +* each exercise has a modified readme # ultimate-ipfs-series An Ultimate tutorial series to learn about IPFS, IPLD, Multiformats, Libp2p and Filecoin This repository is a consolidated list of resources you can follow to learn about IPFS. To keep the things simple and managable, all the resources are grouped and presented in form of a series of blog posts(6 posts): - [**Understanding IPFS in Depth(1/6): A Beginner to Advanced Guide**](https://hackernoon.com/understanding-ipfs-in-depth-1-5-a-beginner-to-advanced-guide-e937675a8c8a): In this part, we will try to understand What IPFS is, Why do we need it and What we can do with it. We will cover all the underlying components of IPFS in brief(which will be explained in depth in further parts) and see how they work together. If you want a short summary and don’t want to understand what’s happening “under the hood”, then this part is for you 😊 -- [**Understanding IPFS in Depth(2/6): What is InterPlanetary Linked Data(IPLD)?**](https://hackernoon.com/understanding-ipfs-in-depth-2-6-what-is-interplanetary-linked-data-ipld-c8c01551517b): In this part, we will dive into the data model of the content-addressable web. We will explore the details and specs of IPLD and play with it to get more familiar with it. -- [**Understanding IPFS in Depth(3/6): What is InterPlanetary Naming System(IPNS)?**](https://hackernoon.com/understanding-ipfs-in-depth-3-6-what-is-interplanetary-naming-system-ipns-9aca71e4c13b): In this part, we will dive into the naming System of the distributed web. We will discuss it’s working, specs and play with it. We will also compare it to today’s naming system, aka the DNS. We will create a list of pros and cons of IPNS vs DNS. -- [**Understanding IPFS in Depth(4/6): What is MultiFormats?**](https://hackernoon.com/understanding-ipfs-in-depth-4-6-what-is-multiformats-cf25eef83966): In this part, we will talk about Why we need Multiformat, How it works and What you as a user/developer can do with it? -- [**Understanding IPFS in Depth(5/6): What is Libp2p?**](https://medium.com/@vaibhavsaini_67863/understanding-ipfs-in-depth-5-6-what-is-libp2p-f8bf7724d452): In this part, we will study the networking Layer of IPFS and what it contributes to the awesomeness of IPFS. We will go through it’s working, specs and play around with it to understand it more clearly. -- [**Understanding IPFS in Depth(6/6): What is Filecoin?**](https://medium.com/swlh/ultimate-guide-to-filecoin-breaking-down-filecoin-whitepaper-economics-9212541a5895): In this part, we discuss the incentivization layer of IPFS, filecoin. We discuss it’s whitepaper and it’s implementation specs including DSN(Distributed Storage Network), Proof-of-replication, Proof of Storage, Data storage and retrieval markets and Smart contract implementation on Filecoin protocol. We also discuss some flaws in filecoin protocol which are not mentioned in the whitepaper and suggest some improvements in filecoin protocol. +- [**Understanding IPFS in Depth(2/6): What is InterPlanetary Linked Data(IPLD)?**](https://hackernoon.com/understanding-ipfs-in-depth-2-6-what-is-interplanetary-linked-data-ipld-c8c01551517b) In this part, we will dive into the data model of the content-addressable web. We will explore the details and specs of IPLD and play with it to get more familiar with it. +- [**Understanding IPFS in Depth(3/6): What is InterPlanetary Naming System(IPNS)?**](https://hackernoon.com/understanding-ipfs-in-depth-3-6-what-is-interplanetary-naming-system-ipns-9aca71e4c13b) In this part, we will dive into the Naming System of the distributed web. We will discuss it’s working, specs and play with it. We will also compare it to today’s naming system, aka the DNS. We will create a list of pros and cons of IPNS vs DNS. +- [**Understanding IPFS in Depth(4/6): What is MultiFormats?**](https://hackernoon.com/understanding-ipfs-in-depth-4-6-what-is-multiformats-cf25eef83966) In this part, we will talk about Why we need Multiformat, How it works and What you as a user/developer can do with it? +- [**Understanding IPFS in Depth(5/6): What is Libp2p?**](https://medium.com/@vaibhavsaini_67863/understanding-ipfs-in-depth-5-6-what-is-libp2p-f8bf7724d452) In this part, we will study the networking Layer of IPFS and what it contributes to the awesomeness of IPFS. We will go through it’s working, specs and play around with it to understand it more clearly. +- [**Understanding IPFS in Depth(6/6): What is Filecoin?**](https://medium.com/swlh/ultimate-guide-to-filecoin-breaking-down-filecoin-whitepaper-economics-9212541a5895) In this part, we discuss the incentivization layer of IPFS, filecoin. We discuss it’s whitepaper and it’s implementation specs including DSN(Distributed Storage Network), Proof-of-replication, Proof of Storage, Data storage and retrieval markets and Smart contract implementation on Filecoin protocol. We also discuss some flaws in filecoin protocol which are not mentioned in the whitepaper and suggest some improvements in filecoin protocol. + +## More reading +Once you get familiarized with IPFS after running the exercises of this repository, you may want to try [this complete free course from ProtoSchool](https://proto.school/tutorials?course=ipfs). It's from Protocol Labs, the team who created IPFS. + diff --git a/cat.jpg b/cat.jpg new file mode 100644 index 0000000..16de82b Binary files /dev/null and b/cat.jpg differ diff --git a/ipld-blogs/.gitignore b/ipld-blogs/.gitignore deleted file mode 100644 index 3c3629e..0000000 --- a/ipld-blogs/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/ipld-blogs/README.md b/ipld-blogs/README.md index 3584fc9..f2c5eb2 100644 --- a/ipld-blogs/README.md +++ b/ipld-blogs/README.md @@ -1,11 +1,22 @@ # Understanding IPLD(InterPlanetary Linked Data) This tutorial is a part of Medium Article Series ***"Understanding IPFS in Depth"*** authored by [**vasa**](https://vaibhavsaini.com). -You can read the full article here: [*Understanding IPFS in Depth(2/6): What is InterPlanetary Linked Data(IPLD)?*](https://medium.com/towardsblockchain/understanding-ipfs-in-depth-2-6-what-is-interplanetary-linked-data-ipld-c8c01551517b). +You can read the full article here: [*Understanding IPFS in Depth(2/6): What is InterPlanetary Linked Data(IPLD)?*](https://medium.com/towardsblockchain/understanding-ipfs-in-depth-2-6-what-is-interplanetary-linked-data-ipld-c8c01551517b) -## Running this tutorial +Beware that **the code of the Medium post is obsolete**. Use the code here instead. It runs with +* node@12.18.4 +* ipfs-http-client@50.1.1 ++ cids@1.1.7 +## Run this tutorial +* `cd` to this folder * Run `npm install` to install the dependencies. -* Run `node tut1.js` to creating an IPLD format node. -* Run `node tut2.js` to create 2 nodes and linking second node to first node using named link. -* Run `node tut3,js` to fetch the value of a node using links. +* Run `node ipld_node.js` to creating an IPLD format node. +* Run `node named_link.js` to create 2 nodes and linking second node to first node using named link. +* Run `node nested_data.js` to fetch the value of a node using links. * Run `node ipld-blogs.js` to run the medium type publication tutorial. + +## More reading +You may want to try [these exercises from ProtoSchool](https://proto.school/basics). +They are about the same topics as the first 3 exercises, but explained differently. + +This [ProtoSchool link to a decentralised blog](https://proto.school/blog) is the same topic as the 4th exercise. \ No newline at end of file diff --git a/ipld-blogs/ipld_node.js b/ipld-blogs/ipld_node.js index 9ffd430..ef38fb4 100644 --- a/ipld-blogs/ipld_node.js +++ b/ipld-blogs/ipld_node.js @@ -1,29 +1,37 @@ -//Initiate ipfs and CID instance +/* + * tutorial IPLD by Vaibhav Saini, updated by Vu Tien Khang (June 2021) + * create an IPLD node and print its CID + */ +//Import ipfs and CID instance const ipfsClient = require('ipfs-http-client'); const CID = require('cids'); -//Connecting ipfs http client instance to local IPFS peer. -const ipfs = new ipfsClient({ host: 'localhost', port: '5001', protocol: 'http' }); +async function main() { + /* + * Connect ipfs instance to infura node. You can also use your local node (non secure http) by calling + * const ipfs = await ipfsClient.create({host: 'localhost', port: '5001', protocol: 'http'}); + * [obsolete tutorial code] const ipfs = new ipfsClient({ host: 'ipfs.infura.io', port: '5001', protocol: 'https' }); + */ + // const ipfs = await ipfsClient.create({host: 'localhost', port: '5001', protocol: 'http'}); + const ipfs = await ipfsClient.create({ host: 'ipfs.infura.io', port: '5001', protocol: 'https' }); -/* -Creating an IPLD format node: -ipfs.dag.put(dagNode, [options], [callback]) -For more information see: -https://github.com/ipfs/interface-js-ipfs-core/blob/master/SPEC/DAG.md#ipfsdagputdagnode-options-callback -*/ - -ipfs.dag.put({ name: "vasa" }, { format: 'dag-cbor', hashAlg: 'sha2-256' }, (err, cid) => { - if (err) { - console.log("ERR\n", err); - } - - //featching multihash buffer from cid object. + /* + * Create an IPLD format node: ipfs.dag.put(dagNode, [options]) + * For more information see: + * https://github.com/ipfs-inactive/interface-js-ipfs-core/blob/master/SPEC/DAG.md#ipfsdagputdagnode-options + */ + const cid = await ipfs.dag.put({name: "vasa"}, { format: 'dag-cbor', hashAlg: 'sha2-256' }); + + //fetch multihash buffer from cid object. const multihash = cid.multihash; - //passing multihash buffer to CID object to convert multihash to a readable format + //pass a multihash buffer to CID object to convert multihash to a readable format const cids = new CID(1, 'dag-cbor', multihash); + + //Print out the cid in a readable format + console.log('CID =', cids.toBaseEncodedString('base58btc')); + //bafyreiekjzonwkqd7vcfescxlhvuyn6atdvgevirauupbkncpyebllcuh4 (in base32 by default, CID v1) + //zdpuAujL3noEMamveLPQWJPY6CYZHhHoskYQaZBvRbAfVwR8S (value given in tutorial, CID v0) +}; - //Printing out the cid in a readable format - console.log(cids.toBaseEncodedString()); - //bafyreiekjzonwkqd7vcfescxlhvuyn6atdvgevirauupbkncpyebllcuh4 -}); +main(); \ No newline at end of file diff --git a/ipld-blogs/named_link.js b/ipld-blogs/named_link.js index aa1fb91..35706e5 100644 --- a/ipld-blogs/named_link.js +++ b/ipld-blogs/named_link.js @@ -1,31 +1,33 @@ -//Initiate ipfs and CID instance +/* + * tutorial IPLD by Vaibhav Saini, updated by Vu Tien Khang (June 2021) + * create 2 IPLD nodes, with the 2nd referring to the first, + * note that both nodes have the same CID + */ +//Import ipfs and CID instance const ipfsClient = require('ipfs-http-client'); const CID = require('cids'); -//Connecting ipfs http client instance to local IPFS peer. -const ipfs = new ipfsClient({ host: 'localhost', port: '5001', protocol: 'http' }); - -/* -Creating an IPLD format node: -ipfs.dag.put(dagNode, [options], [callback]) -For more information see: -https://github.com/ipfs/interface-js-ipfs-core/blob/master/SPEC/DAG.md#ipfsdagputdagnode-options-callback -*/ async function linkNodes() { + //Connect ipfs http client instance to local IPFS peer. + const ipfs = await ipfsClient.create({ host: 'ipfs.infura.io', port: '5001', protocol: 'https' }); + + // Create an IPLD format node: ipfs.dag.put(dagNode, [options]) let vasa = await ipfs.dag.put({ name: 'vasa' }); - //Linking secondNode to vasa using named link. + //Link secondNode to vasa using named link. let secondNode = await ipfs.dag.put({ linkToVasa: vasa }); - //featching multihash buffer from cid object. + //fetch multihash buffer from cid object. const multihash = secondNode.multihash; - //passing multihash buffer to CID object to convert multihash to a readable format + //pass multihash buffer to CID object to convert multihash to a readable format const cids = new CID(1, 'dag-cbor', multihash); - //Printing out the cid in a readable format - console.log(cids.toBaseEncodedString()); + //print out the cid in a readable format, base32 and base 58btc + console.log('CID base32 V1 =', cids.toBaseEncodedString()); //bafyreigwftw565twi6kw3azu7hgz2lxoev3um6cjpgbn6lunqp6f3ewpve + console.log('CID base58btc V1 =', cids.toBaseEncodedString('base58btc')); + //zdpuAujL3noEMamveLPQWJPY6CYZHhHoskYQaZBvRbAfVwR8S } -linkNodes(); +linkNodes(); \ No newline at end of file diff --git a/ipld-blogs/nested_data.js b/ipld-blogs/nested_data.js index d1599e5..0fa4b1e 100644 --- a/ipld-blogs/nested_data.js +++ b/ipld-blogs/nested_data.js @@ -1,23 +1,21 @@ -//Initiate ipfs and CID instance +/* + * tutorial IPLD by Vaibhav Saini, updated by Vu Tien Khang (June 2021) + * create 2 IPLD nodes, with the 2nd referring to the first, + * traverse the link to fetch the value in first node + */ +//Import ipfs and CID instance const ipfsClient = require('ipfs-http-client'); const CID = require('cids'); -//Connecting ipfs http client instance to local IPFS peer. -const ipfs = new ipfsClient({ host: 'localhost', port: '5001', protocol: 'http' }); +async function createAndFetchNodes() { + //Connect ipfs http client instance to local IPFS peer. + const ipfs = await ipfsClient.create({ host: 'ipfs.infura.io', port: '5001', protocol: 'https' }); -function errOrLog(err, result) { - if (err) { - console.error('error: ' + err) - } else { - console.log(result) - } -} - -async function createAndFeatchNodes() { - let vasa = await ipfs.dag.put({ name: 'vasa' }); + // Create an IPLD format node: ipfs.dag.put(dagNode, [options]) + const vasa = await ipfs.dag.put({ name: 'vasa' }); - //Linking secondNode to vasa using named link. - let secondNode = await ipfs.dag.put({ + // Link 2nd node to vasa using named link + const secondNode = await ipfs.dag.put({ publication: { authors: { authorName: vasa @@ -25,14 +23,25 @@ async function createAndFeatchNodes() { } }); - //featching multihash buffer from cid object. + // Fetch multihash buffer from cid object. const multihash = secondNode.multihash; - //passing multihash buffer to CID object to convert multihash to a readable format + // Pass multihash buffer to CID object to convert multihash to a readable format const cids = new CID(1, 'dag-cbor', multihash); - //Featching the value using links - ipfs.dag.get(cids.toBaseEncodedString() + '/publication/authors/authorName/name', errOrLog); - /* prints { value: 'vasa', remainderPath: '' } */ + // Fetch the value using links, using various formats, as in + // https://github.com/ipfs-inactive/interface-js-ipfs-core/blob/master/SPEC/DAG.md#ipfsdaggetcid-path-options + const cidAlone = await ipfs.dag.get(cids); + console.log(' 0. cid instance alone =', cidAlone); + const cidPath = await ipfs.dag.get(cids, '/publication/authors/authorName/name'); + console.log(' 1. cid instance & distinct path =', cidPath); + const cidString = await ipfs.dag.get(cids.toBaseEncodedString(), '/publication/authors/authorName/name'); + console.log(' 2. cid as string & distinct path =', cidString); + const cidStringPath = cids.toBaseEncodedString()+'/publication/authors/authorName/name'; + console.log(' cidStringPath =', cidStringPath); + const nodeValue = await ipfs.dag.get (cidStringPath); + console.log(' 3. cid as string cat\'ed with path =', nodeValue); + console.log(' -> only the last call traverses the path'); } -createAndFeatchNodes(); \ No newline at end of file + +createAndFetchNodes(); \ No newline at end of file diff --git a/ipld-blogs/package-lock.json b/ipld-blogs/package-lock.json index e959831..bebd441 100644 --- a/ipld-blogs/package-lock.json +++ b/ipld-blogs/package-lock.json @@ -4,81 +4,130 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "asn1.js": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.0.1.tgz", - "integrity": "sha512-aO8EaEgbgqq77IEw+1jfx5c9zTbzvkfuRBuZsSsPnTHMkmd5AI4J6OtITLZFa381jReeaQL67J0GBTUu0+ZTVw==", - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } + "@multiformats/base-x": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@multiformats/base-x/-/base-x-4.0.1.tgz", + "integrity": "sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw==" }, - "async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", - "requires": { - "lodash": "^4.17.11" - } + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" }, - "base-x": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.5.tgz", - "integrity": "sha512-C3picSgzPSLE+jW3tcBzJoGwitOtazb5B+5YmAxZm2ybmTi9LNgAtDO/jjVEBZwHoXmDBZ9m/IELj3elJVRBcA==", + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", "requires": { - "safe-buffer": "^5.0.1" + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" } }, - "bignumber.js": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-8.0.2.tgz", - "integrity": "sha512-EiuvFrnbv0jFixEQ9f58jo7X0qI2lNGIr/MxntmVzQc5JUweDSh8y8hbTCAomFtqwUPIOWcLXP0VEOSZTG7FFw==" - }, - "bindings": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.4.0.tgz", - "integrity": "sha512-7znEVX22Djn+nYjxCWKDne0RRloa9XfYa84yk3s+HkE3LpDYZmhArYr9O9huBoHY3/oXispx5LorIX7Sl2CgSQ==", + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" + }, + "@sovpro/delimited-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@sovpro/delimited-stream/-/delimited-stream-1.1.0.tgz", + "integrity": "sha512-kQpk267uxB19X3X2T1mvNMjyvIEonpNSHrMlK5ZaBU6aZxw7wPbpgKJOjHN3+/GPVpXgAV9soVT2oyHpLkLtyw==" + }, + "@types/long": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", + "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" + }, + "@types/node": { + "version": "15.12.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.2.tgz", + "integrity": "sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww==" + }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "requires": { - "file-uri-to-path": "1.0.0" + "event-target-shim": "^5.0.0" } }, - "bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=", + "any-signal": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-2.1.2.tgz", + "integrity": "sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ==", "requires": { - "safe-buffer": "^5.0.1" + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.3" } }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bignumber.js": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", + "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==" + }, "bl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.0.tgz", - "integrity": "sha512-wbgvOpqopSr7uq6fJrLH8EsvYMJf9gzfo2jCsL2eTy75qXPukA4pCgHamOQkZtY5vmfVtjB+P3LNlMHW5CEZXA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-5.0.0.tgz", + "integrity": "sha512-8vxFNZ0pflFfi0WXA3WQXlj6CaMEwsmh63I1CNp0q+wWv8sD0ARx1KovSQd0l2GkwrMIOyedq0EF1FxI+RCZLQ==", "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - } + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, "blakejs": { @@ -86,21 +135,26 @@ "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.0.tgz", "integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U=" }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + "blob-to-it": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.2.tgz", + "integrity": "sha512-yD8tikfTlUGEOSHExz4vDCIQFLaBPXIL0KcxGQt9RbwMVXBEh+jokdJyStvTXPgWrdKfwgk7RX8GPsgrYzsyng==", + "requires": { + "browser-readablestream-to-it": "^1.0.2" + } }, "borc": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.0.tgz", - "integrity": "sha512-hKTxeYt3AIzIG45epJHv8xJYSF0ktp7nZgFsqi5cPzoL3T8qKMPeUlqydORy6j3NWZvRDANx30PjpTmGho69Gw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/borc/-/borc-3.0.0.tgz", + "integrity": "sha512-ec4JmVC46kE0+layfnwM3l15O70MlFiEbmQHY/vpqIKiUtPVntv4BY4NVnz3N4vb21edV3mY97XVckFvYHWF9g==", "requires": { - "bignumber.js": "^8.0.1", + "bignumber.js": "^9.0.0", + "buffer": "^6.0.3", "commander": "^2.15.0", - "ieee754": "^1.1.8", - "iso-url": "~0.4.4", - "json-text-sequence": "~0.1.0" + "ieee754": "^1.1.13", + "iso-url": "^1.1.5", + "json-text-sequence": "~0.3.0", + "readable-stream": "^3.6.0" } }, "brace-expansion": { @@ -112,500 +166,340 @@ "concat-map": "0.0.1" } }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", - "requires": { - "base-x": "^3.0.2" - } + "browser-readablestream-to-it": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.2.tgz", + "integrity": "sha512-lv4M2Z6RKJpyJijJzBQL5MNssS7i8yedl+QkhnLCyPtgNGNSXv1KthzUnye9NlRAtBAI80X6S9i+vK09Rzjcvg==" }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" - }, "cids": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.5.7.tgz", - "integrity": "sha512-SlAz4p8XMEW3mhwiYbzfjn+5+Y//+kIuHqzRUytK0a3uGBnsjJb76xHliehv0HcVMCjRKv2vZnPTwd4QX+IcMA==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/cids/-/cids-1.1.7.tgz", + "integrity": "sha512-dlh+K0hMwFAFFjWQ2ZzxOhgGVNVREPdmk8cqHFui2U4sOodcemLMxdE5Ujga4cDcDQhWfldEPThkfu6KWBt1eA==", "requires": { - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "~0.2.7", - "multihashes": "~0.4.14" - }, - "dependencies": { - "base-x": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.4.tgz", - "integrity": "sha512-UYOadoSIkEI/VrRGSG6qp93rp2WdokiAiNYDfGW5qURAY8GiAQkvMbwNNSDYiVJopqv4gCna7xqf4rrNGp+5AA==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "multibase": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.0.tgz", - "integrity": "sha512-R9bNLQhbD7MsitPm1NeY7w9sDgu6d7cuj25snAWH7k5PSNPSwIQQBpcpj8jx1W96dLbdigZqmUWOdQRMnAmgjA==", - "requires": { - "base-x": "3.0.4" - } - } + "multibase": "^4.0.1", + "multicodec": "^3.0.1", + "multihashes": "^4.0.1", + "uint8arrays": "^2.1.3" } }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "delayed-stream": "~1.0.0" } }, - "class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" - }, "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, - "delimit-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", - "integrity": "sha1-m4MZR3wOX4rrPONXrjBfwl6hzSs=" - }, - "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==" + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, - "drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs=", + "dns-over-http-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz", + "integrity": "sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==", "requires": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" + "debug": "^4.3.1", + "native-fetch": "^3.0.0", + "receptacle": "^1.3.2" } }, - "elliptic": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "electron-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.7.3.tgz", + "integrity": "sha512-1AVMaxrHXTTMqd7EK0MGWusdqNr07Rpj8Th6bG4at0oNgIi/1LBwa9CjT/0Zy+M0k/tSJPS04nFxHj0SXDVgVw==", "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "encoding": "^0.1.13" } }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "requires": { - "once": "^1.4.0" + "iconv-lite": "^0.6.2" } }, "err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", + "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" }, - "flatmap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz", - "integrity": "sha1-Hxik2TgVLUlZZfnJWNkjqy3WabQ=" + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" }, - "fs.realpath": { + "fast-fifo": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.0.0.tgz", + "integrity": "sha512-4VEXmjxLj7sbs8J//cn2qhRap50dGzF5n8fjay8mau+Jn4hxSeR3xPFwxMaQq/pDaq7+KQk0PAbC2+nWDkJrmQ==" }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" } }, - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } + "get-iterator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", + "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==" }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "ieee754": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", - "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "interface-datastore": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-4.0.2.tgz", + "integrity": "sha512-/XRmD7oagZMTaK25rV3WFrejLoUwxZcpgE+eNyZNYvb2jlB5P3MwJCIbetJSlVYK7yvaFmJi8s3f9VLcxJjdog==", + "requires": { + "err-code": "^3.0.1", + "interface-store": "^0.0.2", + "ipfs-utils": "^8.1.2", + "iso-random-stream": "^2.0.0", + "it-all": "^1.0.2", + "it-drain": "^1.0.1", + "it-filter": "^1.0.2", + "it-take": "^1.0.1", + "nanoid": "^3.0.2", + "uint8arrays": "^2.1.5" + } + }, + "interface-ipld-format": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/interface-ipld-format/-/interface-ipld-format-1.0.0.tgz", + "integrity": "sha512-/df/uHRUxE9LtTJaC1QAwgmHUjdVxvCvQKQLoMo2k4Ilu3uSob5vNmZqXXnuQQM4M5tZjyRbqMm+A+hvWbki8w==", + "requires": { + "cids": "^1.1.6", + "multicodec": "^3.0.1", + "multihashes": "^4.0.2" + } }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + "interface-store": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-0.0.2.tgz", + "integrity": "sha512-t4c9GKXH1Vi/WxmppGyIi6iedbGo92YmLneopHmbIEIp27ep7VnrYGA6lM/rLsFo5Tj6TJgIqr3FOk8mvPgIWQ==" }, "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" + }, + "ipfs-core-types": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.5.1.tgz", + "integrity": "sha512-HE5iE4j9Qa6c/4mfaD1cYYx8mbRRkrrcWekDG1JAP7mEK2wPnMvMemmFTgFF4KN6bW9gIusJjqPpCweesORPuA==", + "requires": { + "cids": "^1.1.6", + "interface-datastore": "^4.0.0", + "ipld-block": "^0.11.1", + "multiaddr": "^9.0.1", + "multibase": "^4.0.2" + } + }, + "ipfs-core-utils": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.8.2.tgz", + "integrity": "sha512-vz3BugR4ykoJzoWQPcAyGjoW8RfUNWDyjqd51GgfcYICTFATh4c2k8Md1aEGuKdOUJNvCpOL48j1lXv8KNIp7A==", + "requires": { + "any-signal": "^2.1.2", + "blob-to-it": "^1.0.1", + "browser-readablestream-to-it": "^1.0.1", + "cids": "^1.1.6", + "err-code": "^3.0.1", + "ipfs-core-types": "^0.5.1", + "ipfs-unixfs": "^4.0.3", + "ipfs-utils": "^8.1.2", + "it-all": "^1.0.4", + "it-map": "^1.0.4", + "it-peekable": "^1.0.1", + "multiaddr": "^9.0.1", + "multiaddr-to-uri": "^7.0.0", + "parse-duration": "^1.0.0", + "timeout-abort-controller": "^1.1.1", + "uint8arrays": "^2.1.3" + } }, - "ipfs-block": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.0.tgz", - "integrity": "sha512-znNtFRxXlJYP1/Q4u0tGFJUceH9pNww8WA+zair6T3y7d28m+vtUDJGn96M7ZlFFSkByQyQsAiq2ssNhKtMzxw==", + "ipfs-http-client": { + "version": "50.1.1", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-50.1.1.tgz", + "integrity": "sha512-rKKu6a5hxtJOfNeMEUwkMzhKGe9/v/kU5CSenzuIjdyNNALvlMYdDcivsZ9X4943J8t6r21b0AdNUWVM21dBFg==", + "requires": { + "abort-controller": "^3.0.0", + "any-signal": "^2.1.2", + "cids": "^1.1.6", + "debug": "^4.1.1", + "form-data": "^4.0.0", + "ipfs-core-types": "^0.5.1", + "ipfs-core-utils": "^0.8.2", + "ipfs-unixfs": "^4.0.3", + "ipfs-utils": "^8.1.2", + "ipld-block": "^0.11.0", + "ipld-dag-cbor": "^1.0.0", + "ipld-dag-pb": "^0.22.1", + "ipld-raw": "^7.0.0", + "it-last": "^1.0.4", + "it-map": "^1.0.4", + "it-tar": "^3.0.0", + "it-to-stream": "^1.0.0", + "merge-options": "^3.0.4", + "multiaddr": "^9.0.1", + "multibase": "^4.0.2", + "multicodec": "^3.0.1", + "multihashes": "^4.0.2", + "nanoid": "^3.1.12", + "native-abort-controller": "^1.0.3", + "parse-duration": "^1.0.0", + "stream-to-it": "^0.2.2", + "uint8arrays": "^2.1.3" + } + }, + "ipfs-unixfs": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-4.0.3.tgz", + "integrity": "sha512-hzJ3X4vlKT8FQ3Xc4M1szaFVjsc1ZydN+E4VQ91aXxfpjFn9G2wsMo1EFdAXNq/BUnN5dgqIOMP5zRYr3DTsAw==", "requires": { - "cids": "~0.5.5", - "class-is": "^1.1.0" + "err-code": "^3.0.1", + "protobufjs": "^6.10.2" } }, - "ipfs-http-client": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-29.1.1.tgz", - "integrity": "sha512-aAjqZ9RwnpQECkMO058YjWG79U4w4wEKvHfVdXMhgkXDFkErxRpSqoCvwIVozbTU34NwEjWsZ9WoG0lr2FtgvA==", + "ipfs-utils": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-8.1.2.tgz", + "integrity": "sha512-ataZ23Q+awQ6s01ehpITzEgDZ8YgU17nWkwiQmmZeQAJsS6wZuKfGXJKzdOX00+wn5SWJ8KRpGOG/u9+a4Z8Jw==", "requires": { - "async": "^2.6.1", - "bignumber.js": "^8.0.2", - "bl": "^2.1.2", - "bs58": "^4.0.1", - "cids": "~0.5.5", - "concat-stream": "^2.0.0", - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "end-of-stream": "^1.4.1", - "err-code": "^1.1.2", - "flatmap": "0.0.3", - "glob": "^7.1.3", - "ipfs-block": "~0.8.0", - "ipfs-unixfs": "~0.1.16", - "ipld-dag-cbor": "~0.13.0", - "ipld-dag-pb": "~0.15.0", - "is-ipfs": "~0.4.7", - "is-pull-stream": "0.0.0", - "is-stream": "^1.1.0", - "libp2p-crypto": "~0.16.0", - "lodash": "^4.17.11", - "lru-cache": "^5.1.1", - "multiaddr": "^6.0.0", - "multibase": "~0.6.0", - "multihashes": "~0.4.14", - "ndjson": "^1.5.0", - "once": "^1.4.0", - "peer-id": "~0.12.1", - "peer-info": "~0.15.0", - "promisify-es6": "^1.0.3", - "pull-defer": "~0.2.3", - "pull-pushable": "^2.2.0", - "pull-stream-to-stream": "^1.3.4", - "pump": "^3.0.0", - "qs": "^6.5.2", - "readable-stream": "^3.0.6", - "stream-http": "^3.0.0", - "stream-to-pull-stream": "^1.7.2", - "streamifier": "~0.1.1", - "tar-stream": "^1.6.2", - "through2": "^3.0.0" - }, - "dependencies": { - "base-x": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.4.tgz", - "integrity": "sha512-UYOadoSIkEI/VrRGSG6qp93rp2WdokiAiNYDfGW5qURAY8GiAQkvMbwNNSDYiVJopqv4gCna7xqf4rrNGp+5AA==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" - } - }, - "ipld-dag-pb": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.15.2.tgz", - "integrity": "sha512-9mzeYW4FneGROH+/PXMbXsfy3cUsMYHaI6vUu8nNpSTyQdGF+fa1ViA+jvqWzM8zXYwG4OOSCAAADssJeELAvw==", - "requires": { - "async": "^2.6.1", - "bs58": "^4.0.1", - "cids": "~0.5.4", - "class-is": "^1.1.0", - "is-ipfs": "~0.4.2", - "multihashing-async": "~0.5.1", - "protons": "^1.0.1", - "pull-stream": "^3.6.9", - "pull-traverse": "^1.0.3", - "stable": "~0.1.8" - } - }, - "libp2p-crypto": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.0.tgz", - "integrity": "sha512-Msu7PIumcVRO8LajSGs6uVZpC7bOiJVWu0a8iFMZ6mdbasI+A6accAmP/NjJ5WBcEdxzwjzQGNP23bQQzPoqqg==", - "requires": { - "asn1.js": "^5.0.1", - "async": "^2.6.1", - "browserify-aes": "^1.2.0", - "bs58": "^4.0.1", - "iso-random-stream": "^1.1.0", - "keypair": "^1.0.1", - "libp2p-crypto-secp256k1": "~0.2.3", - "multihashing-async": "~0.5.1", - "node-forge": "~0.7.6", - "pem-jwk": "^2.0.0", - "protons": "^1.0.1", - "rsa-pem-to-jwk": "^1.1.3", - "tweetnacl": "^1.0.0", - "ursa-optional": "~0.9.10" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "multiaddr": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-6.0.4.tgz", - "integrity": "sha512-oi7ImOEwPTRjHSOeOe0DgoxHLChHniME2on8G00fUwD88k4R2J2yrpd5643M9c8EqVuyvjy/e/zAZofpKIISyw==", - "requires": { - "bs58": "^4.0.1", - "class-is": "^1.1.0", - "ip": "^1.1.5", - "is-ip": "^2.0.0", - "varint": "^5.0.0" - } - }, - "multibase": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.0.tgz", - "integrity": "sha512-R9bNLQhbD7MsitPm1NeY7w9sDgu6d7cuj25snAWH7k5PSNPSwIQQBpcpj8jx1W96dLbdigZqmUWOdQRMnAmgjA==", - "requires": { - "base-x": "3.0.4" - } - }, - "peer-info": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.15.1.tgz", - "integrity": "sha512-Y91Q2tZRC0CpSTPd1UebhGqniOrOAk/aj60uYUcWJXCoLTAnGu+4LJGoiay8ayudS6ice7l3SKhgL/cS62QacA==", - "requires": { - "mafmt": "^6.0.2", - "multiaddr": "^6.0.3", - "peer-id": "~0.12.2", - "unique-by": "^1.0.0" - } - }, - "pem-jwk": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", - "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", - "requires": { - "asn1.js": "^5.0.1" - } - }, - "through2": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.0.tgz", - "integrity": "sha512-8B+sevlqP4OiCjonI1Zw03Sf8PuV1eRsYQgLad5eonILOdyeRsY27A/2Ze8IlvlMvq31OH+3fz/styI7Ya62yQ==", - "requires": { - "readable-stream": "2 || 3", - "xtend": "~4.0.1" - } - }, - "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" - } + "abort-controller": "^3.0.0", + "any-signal": "^2.1.0", + "buffer": "^6.0.1", + "electron-fetch": "^1.7.2", + "err-code": "^3.0.1", + "is-electron": "^2.2.0", + "iso-url": "^1.1.5", + "it-glob": "~0.0.11", + "it-to-stream": "^1.0.0", + "merge-options": "^3.0.4", + "nanoid": "^3.1.20", + "native-abort-controller": "^1.0.3", + "native-fetch": "^3.0.0", + "node-fetch": "npm:@achingbrain/node-fetch@^2.6.4", + "react-native-fetch-api": "^1.0.2", + "stream-to-it": "^0.2.2" } }, - "ipfs-unixfs": { - "version": "0.1.16", - "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-0.1.16.tgz", - "integrity": "sha512-TX9Dyu77MxpLzGh/LcQne95TofOyvOeW0oOi72aBMMcV1ItP3684e6NTG9KY1qzdrC+ZUR8kT7y18J058n8KXg==", + "ipld-block": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/ipld-block/-/ipld-block-0.11.1.tgz", + "integrity": "sha512-sDqqLqD5qh4QzGq6ssxLHUCnH4emCf/8F8IwjQM2cjEEIEHMUj57XhNYgmGbemdYPznUhffxFGEHsruh5+HQRw==", "requires": { - "protons": "^1.0.1" + "cids": "^1.0.0" } }, "ipld-dag-cbor": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.13.1.tgz", - "integrity": "sha512-96KKh5XUq9LrWE/TQ/BOJ5FcQx7UZ892N76ufDdovq+fIwZ4/YpPRTAVssLUuN3crATHoGu80TVZMgevsuTCdQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-1.0.0.tgz", + "integrity": "sha512-ViDkqpBDW10TTqFU23NC/eIbu0kuaD3QPTAFDu95mvei0zKu67c/Z2eTh5A0inBXSSvNZ23wzVkUinvxVfrDyw==", "requires": { - "borc": "^2.1.0", - "bs58": "^4.0.1", - "cids": "~0.5.5", + "borc": "^3.0.0", + "cids": "^1.0.0", + "interface-ipld-format": "^1.0.0", "is-circular": "^1.0.2", - "multihashes": "~0.4.14", - "multihashing-async": "~0.5.1", - "traverse": "~0.6.6" + "multicodec": "^3.0.1", + "multihashing-async": "^2.0.0", + "uint8arrays": "^2.1.3" + } + }, + "ipld-dag-pb": { + "version": "0.22.2", + "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.22.2.tgz", + "integrity": "sha512-5ZPo+hmH4YnPx0FIsJsWZFG9g8hCA5Oy0eGLA4lOPE6h1JHzn6VxnWoVkA22ft0i4koOuKNUqAXpepAKyf9rrw==", + "requires": { + "cids": "^1.0.0", + "interface-ipld-format": "^1.0.0", + "multicodec": "^3.0.1", + "multihashing-async": "^2.0.0", + "protobufjs": "^6.10.2", + "stable": "^0.1.8", + "uint8arrays": "^2.0.5" + } + }, + "ipld-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ipld-raw/-/ipld-raw-7.0.0.tgz", + "integrity": "sha512-24v84ORBQO5NVYSTHfYnJX4AIX4lQzIIL98au5fmMEwkS+gjGUrw7SqQaN0oTzIuVcJFpDbH5gEbS+x3AnW1hQ==", + "requires": { + "cids": "^1.1.6", + "interface-ipld-format": "^1.0.0", + "multicodec": "^3.0.1", + "multihashing-async": "^2.1.2" } }, "is-circular": { @@ -613,599 +507,406 @@ "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" }, - "is-ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", - "integrity": "sha1-aO6gfooKCpTC0IDdZ0xzGrKkYas=", - "requires": { - "ip-regex": "^2.0.0" - } + "is-electron": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.0.tgz", + "integrity": "sha512-SpMppC2XR3YdxSzczXReBjqs2zGscWQpBIKqwXYBFic0ERaxNVgwLCHwOLZeESfdJQjX0RDvrJ1lBXX2ij+G1Q==" }, - "is-ipfs": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.4.8.tgz", - "integrity": "sha512-xIKUeA24IFMfkmeAPEOZL448X7a08c/KzAGQp1e/QxC9bx/NNEdT/ohob3SW6eJO2UwJNjsbfMeNZ2B+Dk2Fdg==", + "is-ip": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", + "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", "requires": { - "bs58": "4.0.1", - "cids": "~0.5.6", - "multibase": "~0.6.0", - "multihashes": "~0.4.13" - }, - "dependencies": { - "base-x": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.4.tgz", - "integrity": "sha512-UYOadoSIkEI/VrRGSG6qp93rp2WdokiAiNYDfGW5qURAY8GiAQkvMbwNNSDYiVJopqv4gCna7xqf4rrNGp+5AA==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "multibase": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.0.tgz", - "integrity": "sha512-R9bNLQhbD7MsitPm1NeY7w9sDgu6d7cuj25snAWH7k5PSNPSwIQQBpcpj8jx1W96dLbdigZqmUWOdQRMnAmgjA==", - "requires": { - "base-x": "3.0.4" - } - } + "ip-regex": "^4.0.0" } }, - "is-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha1-MVc3YcBX4zwukaq56W2gjO++duU=" + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" }, - "is-pull-stream": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/is-pull-stream/-/is-pull-stream-0.0.0.tgz", - "integrity": "sha1-o7w9HG0wVRUcRr3m85nv7SFEDKk=" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "iso-constants": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/iso-constants/-/iso-constants-0.1.2.tgz", + "integrity": "sha512-OTCM5ZCQsHBCI4Wdu4tSxvDIkmDHd5EwJDps5mKqnQnWJSKlnwMs3EDZ4n3Fh1tmkWkDlyd2vCDbEYuPbyrUNQ==" }, "iso-random-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.0.tgz", - "integrity": "sha512-ywSWt0KrWcsaK0jVoVJIR30rLyjg9Rw3k2Sm/qp+3tdtSV0SNH7L7KilKnENcENOSoJxDFvpt2idvuMMQohdCQ==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-2.0.0.tgz", + "integrity": "sha512-lGuIu104KfBV9ubYTSaE3GeAr6I69iggXxBHbTBc5u/XKlwlWl0LCytnkIZissaKqvxablwRD9B3ktVnmIUnEg==", + "requires": { + "events": "^3.3.0", + "readable-stream": "^3.4.0" + } }, "iso-url": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.6.tgz", - "integrity": "sha512-YQO7+aIe6l1aSJUKOx+Vrv08DlhZeLFIVfehG2L29KLSEb9RszqPXilxJRVpp57px36BddKR5ZsebacO5qG0tg==" - }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.1.5.tgz", + "integrity": "sha512-+3JqoKdBTGmyv9vOkS6b9iHhvK34UajfTibrH/1HOK8TI7K2VsM0qOCd+aJdWKtSOA8g3PqZfcwDmnR0p3klqQ==" }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "it-all": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.5.tgz", + "integrity": "sha512-ygD4kA4vp8fi+Y+NBgEKt6W06xSbv6Ub/0V8d1r3uCyJ9Izwa1UspkIOlqY9fOee0Z1w3WRo1+VWyAU4DgtufA==" }, - "json-text-sequence": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", - "integrity": "sha1-py8hfcSvxGKf/1/rME3BvVGi89I=", + "it-concat": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/it-concat/-/it-concat-2.0.0.tgz", + "integrity": "sha512-jchrEB3fHlUENWkVJRmbFJ1A7gcjJDmwiolQsHhVC14DpUIbX8fgr3SOC7XNE5OoUUQNL6/RaMCPChkPemyQUw==", "requires": { - "delimit-stream": "0.1.0" + "bl": "^5.0.0" } }, - "keypair": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.1.tgz", - "integrity": "sha1-dgNxknCvtlZO04oiCHoG/Jqk6hs=" + "it-drain": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-1.0.4.tgz", + "integrity": "sha512-coB7mcyZ4lWBQKoQGJuqM+P94pvpn2T3KY27vcVWPqeB1WmoysRC76VZnzAqrBWzpWcoEJMjZ+fsMBslxNaWfQ==" }, - "libp2p-crypto-secp256k1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.2.3.tgz", - "integrity": "sha512-DFrK89VdboacqM3vqWV8yt8FH9Ni181JJAOU2tRkJfUN9tNEV7VfZEg390NJxEQQbLsyH4HZ7on3QTpPHMHQZQ==", + "it-filter": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-1.0.2.tgz", + "integrity": "sha512-rxFUyPCrhk7WrNxD8msU10iEPhQmROoqwuyWmQUYY1PtopwUGBYyra9EYG2nRZADYeuT83cohKWmKCWPzpeyiw==" + }, + "it-glob": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.11.tgz", + "integrity": "sha512-p02iVYsvOPU7cW4sV9BC62Kz6Mz2aUTJz/cKWDeFqc05kzB3WgSq8OobZabVA/K4boSm6q+s0xOZ8xiArLSoXQ==", "requires": { - "async": "^2.6.1", - "multihashing-async": "~0.5.1", - "nodeify": "^1.0.1", - "safe-buffer": "^5.1.2", - "secp256k1": "^3.6.1" + "fs-extra": "^9.0.1", + "minimatch": "^3.0.4" } }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + "it-last": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.5.tgz", + "integrity": "sha512-PV/2S4zg5g6dkVuKfgrQfN2rUN4wdTI1FzyAvU+i8RV96syut40pa2s9Dut5X7SkjwA3P0tOhLABLdnOJ0Y/4Q==" }, - "looper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", - "integrity": "sha1-LvpUw7HLq6m5Su4uWRSwvlf7t0k=" + "it-map": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.5.tgz", + "integrity": "sha512-EElupuWhHVStUgUY+OfTJIS2MZed96lDrAXzJUuqiiqLnIKoBRqtX1ZG2oR0bGDsSppmz83MtzCeKLZ9TVAUxQ==" }, - "mafmt": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-6.0.6.tgz", - "integrity": "sha512-tbLpK8eZsGmjxo6HjSNQOrOiClXprErbdnmO/5VY3R4g0zWUELgvMjJQr3WTlh6MXMZqJqwmz6FsEyJEcU2Xnw==", - "requires": { - "multiaddr": "^6.0.4" - }, - "dependencies": { - "multiaddr": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-6.0.4.tgz", - "integrity": "sha512-oi7ImOEwPTRjHSOeOe0DgoxHLChHniME2on8G00fUwD88k4R2J2yrpd5643M9c8EqVuyvjy/e/zAZofpKIISyw==", - "requires": { - "bs58": "^4.0.1", - "class-is": "^1.1.0", - "ip": "^1.1.5", - "is-ip": "^2.0.0", - "varint": "^5.0.0" - } - } - } + "it-peekable": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.2.tgz", + "integrity": "sha512-LRPLu94RLm+lxLZbChuc9iCXrKCOu1obWqxfaKhF00yIp30VGkl741b5P60U+rdBxuZD/Gt1bnmakernv7bVFg==" }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "it-reader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/it-reader/-/it-reader-3.0.0.tgz", + "integrity": "sha512-NxR40odATeaBmSefn6Xn43DplYvn2KtEKQzn4jrTRuPYXMky5M4e+KQ7aTJh0k0vkytLyeenGO1I1GXlGm4laQ==", "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "bl": "^5.0.0" } }, - "minimalistic-assert": { + "it-take": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "resolved": "https://registry.npmjs.org/it-take/-/it-take-1.0.1.tgz", + "integrity": "sha512-6H6JAWYcyumKSpcIPLs6tHN4xnibphmyU79WQaYVCBtaBOzf4fn75wzvSH8fH8fcMlPBTWY1RlmOWleQxBt2Ug==" }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "it-tar": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/it-tar/-/it-tar-3.0.0.tgz", + "integrity": "sha512-VhD1Hnx4IXDcQgYJnJgltkn+w5F8kiJaB46lqovh+YWfty2JGW7i40QQjWbSvcg1QfaU8is8AVX8xwx/Db9oOg==", "requires": { - "brace-expansion": "^1.1.7" + "bl": "^5.0.0", + "buffer": "^6.0.3", + "iso-constants": "^0.1.2", + "it-concat": "^2.0.0", + "it-reader": "^3.0.0", + "p-defer": "^3.0.0" } }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - }, - "multicodec": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.2.7.tgz", - "integrity": "sha512-96xc9zs7bsclMW0Po9ERnRFqcsWHY8OZ8JW/I8DeHG58YYJZy3cBGI00Ze7hz9Ix56DNHMTSxEj9cgoZByruMg==", + "it-to-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz", + "integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==", "requires": { - "varint": "^5.0.0" + "buffer": "^6.0.3", + "fast-fifo": "^1.0.0", + "get-iterator": "^1.0.2", + "p-defer": "^3.0.0", + "p-fifo": "^1.0.0", + "readable-stream": "^3.6.0" } }, - "multihashes": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.14.tgz", - "integrity": "sha512-V/g/EIN6nALXfS/xHUAgtfPP3mn3sPIF/i9beuGKf25QXS2QZYCpeVJbDPEannkz32B2fihzCe2D/KMrbcmefg==", - "requires": { - "bs58": "^4.0.1", - "varint": "^5.0.0" - } + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" }, - "multihashing-async": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", - "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", + "json-text-sequence": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.3.0.tgz", + "integrity": "sha512-7khKIYPKwXQem4lWXfpIN/FEnhztCeRPSxH4qm3fVlqulwujrRDD54xAwDDn/qVKpFtV550+QAkcWJcufzqQuA==", "requires": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" + "@sovpro/delimited-stream": "^1.1.0" } }, - "murmurhash3js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", - "integrity": "sha1-Ppg+W0fCoG9DpxMXTn5DXKBEuZg=" - }, - "nan": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", - "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==" - }, - "ndjson": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/ndjson/-/ndjson-1.5.0.tgz", - "integrity": "sha1-rmA7NrE0vOw0e0UkIrC/mNWDLsg=", + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "requires": { - "json-stringify-safe": "^5.0.1", - "minimist": "^1.2.0", - "split2": "^2.1.0", - "through2": "^2.0.3" + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" } }, - "node-forge": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", - "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==" + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, - "nodeify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", - "integrity": "sha1-ZKtpp7268DzhB7TwM1yHwLnpGx0=", + "merge-options": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", + "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", "requires": { - "is-promise": "~1.0.0", - "promise": "~1.3.0" + "is-plain-obj": "^2.1.0" } }, - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=" + "mime-db": { + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", + "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==" }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "mime-types": { + "version": "2.1.31", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", + "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", "requires": { - "wrappy": "1" + "mime-db": "1.48.0" } }, - "optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "wordwrap": "~0.0.2" + "brace-expansion": "^1.1.7" } }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "peer-id": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.12.2.tgz", - "integrity": "sha512-pked3yPLcOcprH21OnYbJAzk9OgI/TDEqjJ0IfRJSVB/61ZyqU5VKO7cw7hul+YD8nTD79wM79xFRWN3f6otNg==", - "requires": { - "async": "^2.6.1", - "class-is": "^1.1.0", - "libp2p-crypto": "~0.16.0", - "multihashes": "~0.4.13" + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multiaddr": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-9.0.1.tgz", + "integrity": "sha512-fubxMjVoRPcz3GYBb63Z6ADCY6BoqezbnL2o8owDcfYqhwW61oFtIlsZGiNKIVC2Fk1Od5rf/3z34QSGJFT/uA==", + "requires": { + "cids": "^1.0.0", + "dns-over-http-resolver": "^1.0.0", + "err-code": "^3.0.1", + "is-ip": "^3.1.0", + "multibase": "^4.0.2", + "uint8arrays": "^2.1.3", + "varint": "^6.0.0" }, "dependencies": { - "libp2p-crypto": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.0.tgz", - "integrity": "sha512-Msu7PIumcVRO8LajSGs6uVZpC7bOiJVWu0a8iFMZ6mdbasI+A6accAmP/NjJ5WBcEdxzwjzQGNP23bQQzPoqqg==", - "requires": { - "asn1.js": "^5.0.1", - "async": "^2.6.1", - "browserify-aes": "^1.2.0", - "bs58": "^4.0.1", - "iso-random-stream": "^1.1.0", - "keypair": "^1.0.1", - "libp2p-crypto-secp256k1": "~0.2.3", - "multihashing-async": "~0.5.1", - "node-forge": "~0.7.6", - "pem-jwk": "^2.0.0", - "protons": "^1.0.1", - "rsa-pem-to-jwk": "^1.1.3", - "tweetnacl": "^1.0.0", - "ursa-optional": "~0.9.10" - } - }, - "pem-jwk": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", - "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", - "requires": { - "asn1.js": "^5.0.1" - } + "varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" } } }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + "multiaddr-to-uri": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-7.0.0.tgz", + "integrity": "sha512-VbscDpLcbV0m25tJqfnZSfbjVUuNlPa4BbD5l/7me1t0lc3SWI0XAoO5E/PNJF0e1qUlbdq7yjVFEQjUT+9r0g==", + "requires": { + "multiaddr": "^9.0.1" + } }, - "promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", - "integrity": "sha1-5cyaTIJ45GZP/twBx9qEhCsEAXU=", + "multibase": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.4.tgz", + "integrity": "sha512-8/JmrdSGzlw6KTgAJCOqUBSGd1V6186i/X8dDCGy/lbCKrQ+1QB6f3HE+wPr7Tpdj4U3gutaj9jG2rNX6UpiJg==", "requires": { - "is-promise": "~1" + "@multiformats/base-x": "^4.0.1" } }, - "promisify-es6": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/promisify-es6/-/promisify-es6-1.0.3.tgz", - "integrity": "sha512-N9iVG+CGJsI4b4ZGazjwLnxErD2d9Pe4DPvvXSxYA9tFNu8ymXME4Qs5HIQ0LMJpNM7zj+m0NlNnNeqFpKzqnA==" + "multicodec": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.0.1.tgz", + "integrity": "sha512-Y6j3wiPojvkF/z6KFIGt84KdJdP2oILEdzc/3YbD3qQ3EerhqtYlfsZTPPNVoCCxNZZdzIpCKrdYFSav17sIrQ==", + "requires": { + "uint8arrays": "^2.1.3", + "varint": "^5.0.2" + } }, - "protocol-buffers-schema": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.3.2.tgz", - "integrity": "sha512-Xdayp8sB/mU+sUV4G7ws8xtYMGdQnxbeIfLjyO9TZZRJdztBGhlmbI5x1qcY4TG5hBkIKGnc28i7nXxaugu88w==" + "multihashes": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.2.tgz", + "integrity": "sha512-xpx++1iZr4ZQHjN1mcrXS6904R36LWLxX/CBifczjtmrtCXEX623DMWOF1eiNSg+pFpiZDFVBgou/4v6ayCHSQ==", + "requires": { + "multibase": "^4.0.1", + "uint8arrays": "^2.1.3", + "varint": "^5.0.2" + } }, - "protons": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/protons/-/protons-1.0.1.tgz", - "integrity": "sha512-+0ZKnfVs+4c43tbAQ5j0Mck8wPcLnlxUYzKQoB4iDW4ocdXGnN4P+0dDbgX1FTpoY9+7P2Tn2scJyHHqj+S/lQ==", + "multihashing-async": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-2.1.2.tgz", + "integrity": "sha512-FTPNnWWxwIK5dXXmTFhySSF8Fkdqf7vzqpV09+RWsmfUhrsL/b3Arg3+bRrBnXTtjxm3JRGI3wSAtQHL0QCxhQ==", "requires": { - "protocol-buffers-schema": "^3.3.1", - "safe-buffer": "^5.1.1", - "signed-varint": "^2.0.1", - "varint": "^5.0.0" + "blakejs": "^1.1.0", + "err-code": "^3.0.0", + "js-sha3": "^0.8.0", + "multihashes": "^4.0.1", + "murmurhash3js-revisited": "^3.0.0", + "uint8arrays": "^2.1.3" } }, - "pull-defer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", - "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" + "murmurhash3js-revisited": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", + "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==" }, - "pull-pushable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/pull-pushable/-/pull-pushable-2.2.0.tgz", - "integrity": "sha1-Xy867UethpGfAbEqLpnW8b13ZYE=" + "nanoid": { + "version": "3.1.23", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", + "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==" }, - "pull-stream": { - "version": "3.6.9", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.9.tgz", - "integrity": "sha512-hJn4POeBrkttshdNl0AoSCVjMVSuBwuHocMerUdoZ2+oIUzrWHFTwJMlbHND7OiKLVgvz6TFj8ZUVywUMXccbw==" + "native-abort-controller": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/native-abort-controller/-/native-abort-controller-1.0.3.tgz", + "integrity": "sha512-fd5LY5q06mHKZPD5FmMrn7Lkd2H018oBGKNOAdLpctBDEPFKsfJ1nX9ke+XRa8PEJJpjqrpQkGjq2IZ27QNmYA==" }, - "pull-stream-to-stream": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/pull-stream-to-stream/-/pull-stream-to-stream-1.3.4.tgz", - "integrity": "sha1-P4HYIWvRjSv9GhmBkEcRgOJzg5k=" + "native-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", + "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==" }, - "pull-traverse": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pull-traverse/-/pull-traverse-1.0.3.tgz", - "integrity": "sha1-dPtde+f6a9enjpeTPhmbeUWGaTg=" + "node-fetch": { + "version": "npm:@achingbrain/node-fetch@2.6.6", + "resolved": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.6.tgz", + "integrity": "sha512-cR5rkxDwvXO30y8SzOC/QV0ziKojMeiteeEiV09AxrlBCuI1d8xVNpsM2M5g9L5qbDF9629bkXm4NPSCy3RVfA==" }, - "pump": { + "p-defer": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" + }, + "p-fifo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", + "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==", "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "fast-fifo": "^1.0.0", + "p-defer": "^3.0.0" } }, - "qs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.6.0.tgz", - "integrity": "sha512-KIJqT9jQJDQx5h5uAVPimw6yVg2SekOKu959OCtktD3FjzbpvaPr8i4zzg07DOMz+igA4W/aNM7OV8H37pFYfA==" + "parse-duration": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.0.0.tgz", + "integrity": "sha512-X4kUkCTHU1N/kEbwK9FpUJ0UZQa90VzeczfS704frR30gljxDG0pSziws06XlK+CGRSo/1wtG1mFIdBFQTMQNw==" + }, + "protobufjs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", + "integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==", + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + } + }, + "react-native-fetch-api": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-1.0.2.tgz", + "integrity": "sha512-BNCImbKfcp+7NyOPu4MuF4nhEzxcJX5hhYYftOyGDywhZVdV7Q9LrqhbFUaxprwwMeNugQHi/VOY9Bip99iNkA==", + "requires": { + "p-defer": "^3.0.0" + } }, "readable-stream": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.0.6.tgz", - "integrity": "sha512-9E1oLoOWfhSXHGv6QlwXJim7uNzd9EVlWK+21tCU9Ju/kR0/p2AZYPz4qSchgO8PlLIH4FpZYfzwS+rEksZjIg==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "receptacle": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz", + "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==", "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rsa-pem-to-jwk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz", - "integrity": "sha1-JF52vbfnI0z+58oDLTG1TDj6uY4=", - "requires": { - "object-assign": "^2.0.0", - "rsa-unpack": "0.0.6" + "ms": "^2.1.1" } }, - "rsa-unpack": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/rsa-unpack/-/rsa-unpack-0.0.6.tgz", - "integrity": "sha1-9Q69VqYoN45jHylxYQJs6atO3bo=", - "requires": { - "optimist": "~0.3.5" - } + "retimer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/retimer/-/retimer-2.0.0.tgz", + "integrity": "sha512-KLXY85WkEq2V2bKex/LOO1ViXVn2KGYe4PYysAdYdjmraYIUsVkXu8O4am+8+5UbaaGl1qho4aqAAPHNQ4GSbg==" }, "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "secp256k1": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.6.2.tgz", - "integrity": "sha512-90nYt7yb0LmI4A2jJs1grglkTAXrBwxYAjP9bpeKjvJKOjG2fOeH/YI/lchDMIvjrOasd5QXwvV2jwN168xNng==", - "requires": { - "bindings": "^1.2.1", - "bip66": "^1.1.3", - "bn.js": "^4.11.3", - "create-hash": "^1.1.2", - "drbg.js": "^1.0.1", - "elliptic": "^6.2.3", - "nan": "^2.2.1", - "safe-buffer": "^5.1.0" - } - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "signed-varint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", - "integrity": "sha1-UKmYnafJjCxh2tEZvJdHDvhSgSk=", - "requires": { - "varint": "~5.0.0" - } + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, - "split2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", - "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", - "requires": { - "through2": "^2.0.2" - } + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "stable": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" }, - "stream-http": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.0.0.tgz", - "integrity": "sha512-JELJfd+btL9GHtxU3+XXhg9NLYrKFnhybfvRuDghtyVkOFydz3PKNT1df07AMr88qW03WHF+FSV0PySpXignCA==", - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^3.0.6", - "xtend": "^4.0.0" - } - }, - "stream-to-pull-stream": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.2.tgz", - "integrity": "sha1-dXYJrhzr0zx0MtSvvjH/eGULnd4=", + "stream-to-it": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.3.tgz", + "integrity": "sha512-xaK9EjPtLox5rrC7YLSBXSanTtUJN/lzJlMFvy9VaROmnyvy0U/X6m2uMhXPJRn3g3M9uOSIzTszW7BPiWSg9w==", "requires": { - "looper": "^3.0.0", - "pull-stream": "^3.2.3" + "get-iterator": "^1.0.2" } }, - "streamifier": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/streamifier/-/streamifier-0.1.1.tgz", - "integrity": "sha1-l+mNj6TRBdYqJpHR3AfoINuN/E8=" - }, "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "timeout-abort-controller": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-1.1.1.tgz", + "integrity": "sha512-BsF9i3NAJag6T0ZEjki9j654zoafI2X6ayuNd6Tp8+Ul6Tr5s4jo973qFeiWrRSweqvskC+AHDKUmIW4b7pdhQ==", "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "dependencies": { - "bl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - } + "abort-controller": "^3.0.0", + "retimer": "^2.0.0" } }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "uint8arrays": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.5.tgz", + "integrity": "sha512-CSR7AO+4AHUeSOnZ/NBNCElDeWfRh9bXtOck27083kc7SznmmHIhNEkEOCQOn0wvrIMjS3IH0TNLR16vuc46mA==", "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - } + "multibase": "^4.0.1" } }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, - "traverse": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", - "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" - }, - "tweetnacl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.1.tgz", - "integrity": "sha512-kcoMoKTPYnoeS50tzoqjPY3Uv9axeuuFAZY9M/9zFnhoVvRfxz9K29IMPD7jGmt2c8SW7i3gT9WqDl2+nV7p4A==" - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "unique-by": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-by/-/unique-by-1.0.0.tgz", - "integrity": "sha1-UiDIa6e8Vy+3E610ZRRwy2RCEr0=" - }, - "ursa-optional": { - "version": "0.9.10", - "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.9.10.tgz", - "integrity": "sha512-RvEbhnxlggX4MXon7KQulTFiJQtLJZpSb9ZSa7ZTkOW0AzqiVTaLjI4vxaSzJBDH9dwZ3ltZadFiBaZslp6haA==", - "requires": { - "bindings": "^1.3.0", - "nan": "^2.11.1" - } + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" }, "util-deprecate": { "version": "1.0.2", @@ -1213,24 +914,9 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "varint": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz", - "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8=" - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", + "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" } } } diff --git a/ipld-blogs/package.json b/ipld-blogs/package.json index d0dad98..03ac614 100644 --- a/ipld-blogs/package.json +++ b/ipld-blogs/package.json @@ -1,31 +1,34 @@ { - "name": "ipld-blogs", - "version": "1.0.0", - "description": "A sample blog management system using IPLD", - "main": "index.js", - "dependencies": { - "cids": "^0.5.7", - "ipfs-http-client": "^29.1.1" - }, - "devDependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "vasa", - "license": "MIT", - "repository": { - "type": "git", - "url": "git+https://github.com/vasa-develop/ipld-blogs.git" - }, - "keywords": [ - "ipld", - "ipfs", - "vasa", - "towardsblockchain", - "ipfscloud" - ], - "bugs": { - "url": "https://github.com/vasa-develop/ipld-blogs/issues" - }, - "homepage": "https://github.com/vasa-develop/ipld-blogs#readme" -} + "name": "ipld-blogs", + "version": "1.0.0", + "description": "Illustration of IPLD links", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "cids": "^1.1.7", + "ipfs-http-client": "^50.1.1" + }, + "author": "vasa", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/vasa-develop/ultimate-ipfs-series" + }, + "keywords": [ + "ipld", + "ipfs", + "vasa", + "towardsblockchain", + "ipfscloud" + ], + "bugs": { + "url": "https://github.com/vasa-develop/ultimate-ipfs-series/issues" + }, + "homepage": "https://github.com/vasa-develop/ultimate-ipfs-series#readme" + } + \ No newline at end of file diff --git a/ipld-blogs/publication.js b/ipld-blogs/publication.js index 08401e2..5a46682 100644 --- a/ipld-blogs/publication.js +++ b/ipld-blogs/publication.js @@ -1,83 +1,58 @@ -/* -PUBLICATION SYSTEM -Adding new Author -An author will have --> name --> profile -Creating A Blog -A Blog will have a: --> author --> content --> tags --> timeOfPublish -Read a Blog -What more we could do with this? -Try Listing all Blogs for an author. -Send me solution at hi@simpleaswater.com and get SimpleAsWater T-Shirts -*/ - +/* + * tutorial IPLD by Vaibhav Saini, updated by Vu Tien Khang (June 2021) + * create one IPLD node, the author details + * create one IPLD note, the blog details, referring to the author + * print the details of the blog detail, including the details of the author + */ //Initiate ipfs and CID instance const ipfsClient = require('ipfs-http-client'); const CID = require('cids'); -//Connecting ipfs http client instance to local IPFS peer. -const ipfs = new ipfsClient({ host: 'localhost', port: '5001', protocol: 'http' }); +// Connect ipfs http client instance to local IPFS peer. +const ipfs = ipfsClient.create({ host: 'ipfs.infura.io', port: '5001', protocol: 'https' }); -//Create an Author +// Create an Author async function addNewAuthor(name) { - //creating blog author object - var newAuthor = await ipfs.dag.put({ - name: name, - profile: "@SimpleAsWater | @TowardsBlockChain, an MIT CIC incubated startup | https://vaibhavsaini.com" - }); - - console.log("Added new Author " + name + ": " + newAuthor); - - return newAuthor; + var newAuthor = await ipfs.dag.put({ + name: name, + profile: "Entrepreneur | Co-founder/Developer @TowardsBlockChain, an MIT CIC incubated startup | Speaker | https://vaibhavsaini.com" + }) + console.log(' -> Added new Author '+ name + ': ' + newAuthor); + return newAuthor; } -//Creating a Blog +// Create a Blog Post async function createBlog(author, content, tags) { - - //creating blog object - var post = await ipfs.dag.put({ - author: author, - content: content, - tags: tags, - timeOfPublish: Date() - }); - - //Fetching multihash buffer from cid object. - const multihash = post.multihash; - - //passing multihash buffer to CID object to convert multihash to a readable format - const cids = new CID(1, 'dag-cbor', multihash); - - console.log("Published a new Post by " + author + ": " + cids.toBaseEncodedString()); - - return cids.toBaseEncodedString(); - + var post = await ipfs.dag.put({ + author: author, + content: content, + tags: tags, + timeOfPublish: Date() + }) + console.log(' -> Created a new blog by author ' + author + ', blog: ' + post); + return post; } -//Read a blog async function readBlog(postCID) { - ipfs.dag.get(postCID, (err, result) => { - if (err) { - console.error('Error while reading post: ' + err) - } else { - console.log("Post Details\n", result); - return result; + try{ + const post = await ipfs.dag.get(postCID + ''); + console.log(' -> Read blog: Post details =\n', post); + } catch(error){ + console.error(' -> Error while reading post: ' + postCID + error); + return; + } + try { + const author = await ipfs.dag.get(postCID + '/author'); + console.log(' -> Read blog: Author details =\n', author); + } catch (error) { + console.error(' -> Error while reading post author: ' + error); } - }); } - -function startPublication() { - addNewAuthor("vasa").then((newAuthor) => { - createBlog(newAuthor, "my first post", ["ipfs", "ipld", "vasa", "towardsblockchain"]).then((postCID) => { - readBlog(postCID); - }) - }); +async function startPublication() { + const newAuthor = await addNewAuthor('vasa'); + const postCID = await createBlog(newAuthor, 'my first post', ['ipfs', 'ipld', 'towardsBlockchain']); + readBlog(postCID); } startPublication(); \ No newline at end of file diff --git a/ipns-tutorial/.gitignore b/ipns-tutorial/.gitignore deleted file mode 100644 index 3c3629e..0000000 --- a/ipns-tutorial/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/ipns-tutorial/README.md b/ipns-tutorial/README.md index 40cce66..bd6c5d3 100644 --- a/ipns-tutorial/README.md +++ b/ipns-tutorial/README.md @@ -3,6 +3,45 @@ This tutorial is a part of Medium Article Series ***"Understanding IPFS in Depth You can read the full article here: [*Understanding IPFS in Depth(3/6): What is InterPlanetary Naming System(IPNS)?*](https://hackernoon.com/understanding-ipfs-in-depth-3-6-what-is-interplanetary-naming-system-ipns-9aca71e4c13b). -## Running this tutorial +Beware that **the code of the Medium post is obsolete**. Use the code here instead. It runs with +* node@12.18.4 +* ipns@0.12.0 +* libp2p-crypto@0.19.4 + +## Principle of IPNS +Basically, IPNS is a lookup table with all the entry points that are declared to IPNS. +* the left column is the "IPNS name" of the entry point +* the right column is the CID of the content hosted by the entry point + +Thus, if the content changes, the CID changes but we can call ipns.create() to change the right column entry. Everybody who knows the "IPNS name" always have access to the latest version of the content. +## Run this tutorial +* Run `cd ipns-tutorial` to enter this folder * Run `npm install` to install the dependencies. -* Run `node index.js` to run the ipns tutorial. +* Run `wget --mirror --convert-links --adjust-extension --page-requisites --no-parent --no-check-certificate https://www.york.ac.uk/teaching/cws/wws/index.html` to download locally a copy of this web page (the web page of the author, given in the Medium post is too shallow) +* Run `ipfs add -r www.york.ac.uk` to upload this folder on IPFS +* Copy the CID of the whole folder (the last line of the printout) and paste it in the code of index.js, line 37 +* Run `node index.js` to run the `ipns` tutorial. + +The output should be +```console +$ node index.js + --> Generated new RSA Key Pair + --> Generated new IPNS record, EntryDataIPNS = { + value: 'QmfJmaQX9sHgHFvrh27PqWExs8Kg8Vwzce2y4QWqSPhgRC', + signature: , + validityType: 0, + validity: Uint8Array(30) [ + 50, 48, 50, 49, 45, 48, 54, 45, 49, + 55, 84, 49, 50, 58, 51, 54, 58, 49, + 50, 46, 53, 56, 48, 48, 48, 48, 48, + 48, 48, 90 + ], + sequence: 0n, + ttl: 100000000000n, + signatureV2: , + data: +} + --> IPNS record validated +``` +Note that the key `value` of the IPNS is the CID of the folder that we copy-pasted. + diff --git a/ipns-tutorial/index.js b/ipns-tutorial/index.js index 7a7fd65..587a6ee 100644 --- a/ipns-tutorial/index.js +++ b/ipns-tutorial/index.js @@ -1,84 +1,66 @@ +/* + * tutorial IPNS by Vaibhav Saini, updated by Vu Tien Khang (June 2021) + * Create an IPNS record with a lifetime from a CID value + * the CID value is obtained independently by doing "ipfs add -r" of a local folder + * Check that the IPNS record is valid + * Access the folder content on IPFS using independently a browser + */ +//Import ipns and RSA crypto functions const ipns = require('ipns'); -const crypto = require('libp2p-crypto'); //for generating RSA keypair +const crypto = require('libp2p-crypto'); - -function generateRsaKeypair(){ - //generating an 2048 bit RSA keypair - crypto.keys.generateKeyPair('RSA', 2048, async(err, keypair) => { - if(err){ - console.log('error ', err); - } - else{ - console.log("\nGenerated new RSA Keypair\n"); - createIpnsRecord(keypair); - } - }); +async function generateRsaKeypair() { + try { + const keyPair = await crypto.keys.generateKeyPair('RSA', 2048); + console.log(' --> Generated new RSA Key Pair'); + createIpnsRecord(keyPair); + } catch (error) { + console.error(' Error generating Key Pair: ' + error); + } } - /* -Creating an IPNS record with a lifetime - -ipns.create(privateKey, value, sequenceNumber, lifetime, [callback]) - -privateKey (PrivKey RSA Instance): key to be used for cryptographic operations. -value (string): ipfs path of the object to be published. -sequenceNumber (Number): number representing the current version of the record. -lifetime (string): lifetime of the record (in milliseconds). -callback (function): operation result. -*/ -function createIpnsRecord(keypair){ - let sequenceNumber = 0; - let lifetime = 1000000; //1000000 milliseconds - let value = 'QmYVd8qstdXtTd1quwv4nJen6XprykxQRLo67Jy7WyiLMB'; //hash to my website - var recordData; - ipns.create(keypair, value, sequenceNumber, lifetime, (err, entryData) => { - if(!err){ - //Created new IPNS record - console.log("\nGenerated new IPNS record\n"); - console.log(entryData); - validateIpnsRecord(entryData, keypair); - } - }); + * Create an IPNS record with a lifetime from a CID value + * the CID value is obtained independently by doing "ipfs add -r" of a local folder + * ipns.create(privateKey, value, sequenceNumber, lifetime) + * + * - privateKey (PrivKey RSA Instance): key to be used for cryptographic operations. + * - value (string): ipfs path of the object to be published. + * - sequenceNumber (Number): number representing the current version of the record. + * - lifetime (string): lifetime of the record (in milliseconds). + * - callback (function): operation result. + */ +async function createIpnsRecord(keyPair) { + const sequenceNumber = 0; + const lifeTime = 1000000; // 1000000 milliseconds + // the following literal CID comes from "ipfs add -r" the example folder containg a web site + const CIDvalue = 'QmfJmaQX9sHgHFvrh27PqWExs8Kg8Vwzce2y4QWqSPhgRC'; + var EntryDataIPNS; + try { + // create new IPNS record + EntryDataIPNS = await ipns.create(keyPair, CIDvalue, sequenceNumber, lifeTime); + console.log(' --> Generated new IPNS record, EntryDataIPNS =', EntryDataIPNS); + validateIpnsRecord(EntryDataIPNS, keyPair); + } catch (error) { + console.log(' Error generating IPNS entry: ', error); + } } /* -Creating an IPNS record with a fixed expiration datetime. - -ipns.createWithExpiration(rsa, value, sequenceNumber, expiration, [callback]) - -privateKey (PrivKey RSA Instance): key to be used for cryptographic operations. -value (string): ipfs path of the object to be published. -sequenceNumber (Number): number representing the current version of the record. -expiration (Date): Date object. -callback (function): operation result. - -*/ -function createIpnsRecordWithExpiration(keypair){ - ipns.createWithExpiration(keypair, value, sequenceNumber, expiration, (err, entryData)=>{ - if(!err){ - validateIpnsRecord(entryData); - } - }); -} - - -/* -Validate an IPNS record previously stored in a protocol buffer. - -ipns.validate(publicKey, ipnsEntry, [callback]) - -publicKey (PubKey RSA Instance): key to be used for cryptographic operations. -ipnsEntry (Object): ipns entry record (obtained using the create function). -callback (function): operation result. -*/ -function validateIpnsRecord(entryData, keypair){ - ipns.validate(keypair.public, entryData, (err)=>{ - //if no err then the validation was successful - if(!err){ - console.log('\nIPNS Record Validation Successful\n'); - } - }); + * Validate an IPNS record previously stored in a protocol buffer. + * ipns.validate(publicKey, ipnsEntry, [callback]) + * + * - publicKey (PubKey RSA Instance): key to be used for cryptographic operations. + * - ipnsEntry (Object): ipns entry record (obtained using the create function). + * - callback (function): operation result. + */ +function validateIpnsRecord(EntryDataIPNS, keyPair) { + try { + ipns.validate(keyPair.public, EntryDataIPNS); + console.log(' --> IPNS record validated'); + } catch (error) { + console.log(' Error validating IPNS record against public key', error); + } } generateRsaKeypair(); \ No newline at end of file diff --git a/ipns-tutorial/package-lock.json b/ipns-tutorial/package-lock.json index 3f7b742..a3290cf 100644 --- a/ipns-tutorial/package-lock.json +++ b/ipns-tutorial/package-lock.json @@ -4,41 +4,117 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "asmcrypto.js": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz", - "integrity": "sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA==" + "@multiformats/base-x": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@multiformats/base-x/-/base-x-4.0.1.tgz", + "integrity": "sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw==" }, - "asn1.js": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.0.1.tgz", - "integrity": "sha512-aO8EaEgbgqq77IEw+1jfx5c9zTbzvkfuRBuZsSsPnTHMkmd5AI4J6OtITLZFa381jReeaQL67J0GBTUu0+ZTVw==", + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" + }, + "@types/long": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", + "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" + }, + "@types/node": { + "version": "15.12.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.2.tgz", + "integrity": "sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww==" + }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "requires": { + "event-target-shim": "^5.0.0" } }, - "async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", + "any-signal": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-2.1.2.tgz", + "integrity": "sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ==", "requires": { - "lodash": "^4.17.11" + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.3" } }, - "base-x": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.5.tgz", - "integrity": "sha512-C3picSgzPSLE+jW3tcBzJoGwitOtazb5B+5YmAxZm2ybmTi9LNgAtDO/jjVEBZwHoXmDBZ9m/IELj3elJVRBcA==", + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "requires": { - "safe-buffer": "^5.0.1" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" } }, - "base32-encode": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/base32-encode/-/base32-encode-1.1.1.tgz", - "integrity": "sha512-eqa0BeGghj3guezlasdHJhr3+J5ZbbQvxeprkcDMbRQrjlqOT832IUDT4Al4ofAwekFYMqkkM9KMUHs9Cu0HKA==" + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, "bindings": { "version": "1.5.0", @@ -48,62 +124,53 @@ "file-uri-to-path": "1.0.0" } }, - "bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, "blakejs": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.0.tgz", "integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U=" }, "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } }, "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", - "requires": { - "base-x": "^3.0.2" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + "cborg": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.3.4.tgz", + "integrity": "sha512-w/sCTLy2k4AI6XbDMiaPsGc07bBAcX/It3VYQBwKJ5fvAAyUOXi5nC1wjW0OXIfY5ROkOGJCAUOR5AW1ykkiCQ==" }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "cids": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/cids/-/cids-1.1.7.tgz", + "integrity": "sha512-dlh+K0hMwFAFFjWQ2ZzxOhgGVNVREPdmk8cqHFui2U4sOodcemLMxdE5Ujga4cDcDQhWfldEPThkfu6KWBt1eA==", "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "multibase": "^4.0.1", + "multicodec": "^3.0.1", + "multihashes": "^4.0.1", + "uint8arrays": "^2.1.3" } }, "class-is": { @@ -111,91 +178,95 @@ "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, - "drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs=", + "electron-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.7.3.tgz", + "integrity": "sha512-1AVMaxrHXTTMqd7EK0MGWusdqNr07Rpj8Th6bG4at0oNgIi/1LBwa9CjT/0Zy+M0k/tSJPS04nFxHj0SXDVgVw==", "requires": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" + "encoding": "^0.1.13" } }, "elliptic": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", + "bn.js": "^4.11.9", + "brorand": "^1.1.0", "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" } }, - "err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "iconv-lite": "^0.6.2" } }, + "err-code": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", + "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" + }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + }, + "fast-fifo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.0.0.tgz", + "integrity": "sha512-4VEXmjxLj7sbs8J//cn2qhRap50dGzF5n8fjay8mau+Jn4hxSeR3xPFwxMaQq/pDaq7+KQk0PAbC2+nWDkJrmQ==" + }, "file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, + "get-iterator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", + "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==" + }, + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" + }, "hash.js": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", @@ -215,114 +286,210 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "interface-datastore": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.6.0.tgz", - "integrity": "sha512-aDbjWsEdTHd2Yc2A8QOeAEWMwlWDwumVX24bE0/AE7XxfDveWuDUKP7HQito0u1c80FZmR+y/Op14um+cG0CSw==", - "requires": { - "async": "^2.6.1", - "class-is": "^1.1.0", - "err-code": "^1.1.2", - "pull-defer": "~0.2.3", - "pull-stream": "^3.6.9", - "uuid": "^3.2.2" + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-4.0.2.tgz", + "integrity": "sha512-/XRmD7oagZMTaK25rV3WFrejLoUwxZcpgE+eNyZNYvb2jlB5P3MwJCIbetJSlVYK7yvaFmJi8s3f9VLcxJjdog==", + "requires": { + "err-code": "^3.0.1", + "interface-store": "^0.0.2", + "ipfs-utils": "^8.1.2", + "iso-random-stream": "^2.0.0", + "it-all": "^1.0.2", + "it-drain": "^1.0.1", + "it-filter": "^1.0.2", + "it-take": "^1.0.1", + "nanoid": "^3.0.2", + "uint8arrays": "^2.1.5" + } + }, + "interface-store": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-0.0.2.tgz", + "integrity": "sha512-t4c9GKXH1Vi/WxmppGyIi6iedbGo92YmLneopHmbIEIp27ep7VnrYGA6lM/rLsFo5Tj6TJgIqr3FOk8mvPgIWQ==" + }, + "ipfs-utils": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-8.1.2.tgz", + "integrity": "sha512-ataZ23Q+awQ6s01ehpITzEgDZ8YgU17nWkwiQmmZeQAJsS6wZuKfGXJKzdOX00+wn5SWJ8KRpGOG/u9+a4Z8Jw==", + "requires": { + "abort-controller": "^3.0.0", + "any-signal": "^2.1.0", + "buffer": "^6.0.1", + "electron-fetch": "^1.7.2", + "err-code": "^3.0.1", + "is-electron": "^2.2.0", + "iso-url": "^1.1.5", + "it-glob": "~0.0.11", + "it-to-stream": "^1.0.0", + "merge-options": "^3.0.4", + "nanoid": "^3.1.20", + "native-abort-controller": "^1.0.3", + "native-fetch": "^3.0.0", + "node-fetch": "npm:@achingbrain/node-fetch@^2.6.4", + "react-native-fetch-api": "^1.0.2", + "stream-to-it": "^0.2.2" } }, "ipns": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/ipns/-/ipns-0.5.0.tgz", - "integrity": "sha512-Uf/VWftFnCI0UtjL8VyGRgq62k5PrRzJrA0G43WoIuw7FNk6ggrt+3KAzhlukbYtlHYhOLWwF5eLDllqvurE6g==", - "requires": { - "base32-encode": "^1.1.0", - "debug": "^4.1.1", - "interface-datastore": "~0.6.0", - "left-pad": "^1.3.0", - "libp2p-crypto": "~0.16.0", - "multihashes": "~0.4.14", - "peer-id": "~0.12.2", - "protons": "^1.0.1", - "timestamp-nano": "^1.0.0" - } - }, - "is-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha1-MVc3YcBX4zwukaq56W2gjO++duU=" + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/ipns/-/ipns-0.12.0.tgz", + "integrity": "sha512-Y4aPkiTngkEzTsxqXkhODTs0uTv3uvUZbveZuElQj5n0juWqFcDP6gFwlq14OoucjVq2DPxLh78sG4+scPIeJg==", + "requires": { + "cborg": "^1.3.3", + "debug": "^4.2.0", + "err-code": "^3.0.1", + "interface-datastore": "^4.0.0", + "libp2p-crypto": "^0.19.0", + "long": "^4.0.0", + "multibase": "^4.0.2", + "multihashes": "^4.0.2", + "peer-id": "^0.14.2", + "protobufjs": "^6.10.2", + "timestamp-nano": "^1.0.0", + "uint8arrays": "^2.0.5" + } + }, + "is-electron": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.0.tgz", + "integrity": "sha512-SpMppC2XR3YdxSzczXReBjqs2zGscWQpBIKqwXYBFic0ERaxNVgwLCHwOLZeESfdJQjX0RDvrJ1lBXX2ij+G1Q==" + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, "iso-random-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.0.tgz", - "integrity": "sha512-ywSWt0KrWcsaK0jVoVJIR30rLyjg9Rw3k2Sm/qp+3tdtSV0SNH7L7KilKnENcENOSoJxDFvpt2idvuMMQohdCQ==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-2.0.0.tgz", + "integrity": "sha512-lGuIu104KfBV9ubYTSaE3GeAr6I69iggXxBHbTBc5u/XKlwlWl0LCytnkIZissaKqvxablwRD9B3ktVnmIUnEg==", + "requires": { + "events": "^3.3.0", + "readable-stream": "^3.4.0" + } + }, + "iso-url": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.1.5.tgz", + "integrity": "sha512-+3JqoKdBTGmyv9vOkS6b9iHhvK34UajfTibrH/1HOK8TI7K2VsM0qOCd+aJdWKtSOA8g3PqZfcwDmnR0p3klqQ==" + }, + "it-all": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.5.tgz", + "integrity": "sha512-ygD4kA4vp8fi+Y+NBgEKt6W06xSbv6Ub/0V8d1r3uCyJ9Izwa1UspkIOlqY9fOee0Z1w3WRo1+VWyAU4DgtufA==" + }, + "it-drain": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-1.0.4.tgz", + "integrity": "sha512-coB7mcyZ4lWBQKoQGJuqM+P94pvpn2T3KY27vcVWPqeB1WmoysRC76VZnzAqrBWzpWcoEJMjZ+fsMBslxNaWfQ==" + }, + "it-filter": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-1.0.2.tgz", + "integrity": "sha512-rxFUyPCrhk7WrNxD8msU10iEPhQmROoqwuyWmQUYY1PtopwUGBYyra9EYG2nRZADYeuT83cohKWmKCWPzpeyiw==" + }, + "it-glob": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.11.tgz", + "integrity": "sha512-p02iVYsvOPU7cW4sV9BC62Kz6Mz2aUTJz/cKWDeFqc05kzB3WgSq8OobZabVA/K4boSm6q+s0xOZ8xiArLSoXQ==", + "requires": { + "fs-extra": "^9.0.1", + "minimatch": "^3.0.4" + } + }, + "it-take": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/it-take/-/it-take-1.0.1.tgz", + "integrity": "sha512-6H6JAWYcyumKSpcIPLs6tHN4xnibphmyU79WQaYVCBtaBOzf4fn75wzvSH8fH8fcMlPBTWY1RlmOWleQxBt2Ug==" + }, + "it-to-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz", + "integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==", + "requires": { + "buffer": "^6.0.3", + "fast-fifo": "^1.0.0", + "get-iterator": "^1.0.2", + "p-defer": "^3.0.0", + "p-fifo": "^1.0.0", + "readable-stream": "^3.6.0" + } }, "js-sha3": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" }, - "keypair": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.1.tgz", - "integrity": "sha1-dgNxknCvtlZO04oiCHoG/Jqk6hs=" + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } }, - "left-pad": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", - "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==" + "keypair": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.3.tgz", + "integrity": "sha512-0wjZ2z/SfZZq01+3/8jYLd8aEShSa+aat1zyPGQY3IuKoEAp6DJGvu2zt6snELrQU9jbCkIlCyNOD7RdQbHhkQ==" }, "libp2p-crypto": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.1.tgz", - "integrity": "sha512-+fxqy+cDjwOKK4KTj44WQmjPE5ep2eR5uAIQWHl/+RKvRSor3+RAY53VWkAecgAEvjX2AswxBsoCIJK1Qk5aIQ==", - "requires": { - "asmcrypto.js": "^2.3.2", - "asn1.js": "^5.0.1", - "async": "^2.6.1", - "bn.js": "^4.11.8", - "browserify-aes": "^1.2.0", - "bs58": "^4.0.1", - "iso-random-stream": "^1.1.0", + "version": "0.19.4", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.19.4.tgz", + "integrity": "sha512-8iUwiNlU/sFEtXQpxaehmXUQ5Fw6r52H7NH0d8ZSb8nKBbO6r8y8ft6f1to8A81SrFOVd4/zsjEzokpedDvRgw==", + "requires": { + "err-code": "^3.0.1", + "is-typedarray": "^1.0.0", + "iso-random-stream": "^2.0.0", "keypair": "^1.0.1", - "libp2p-crypto-secp256k1": "~0.3.0", - "multihashing-async": "~0.5.1", - "node-forge": "~0.7.6", + "multibase": "^4.0.3", + "multicodec": "^3.0.1", + "multihashes": "^4.0.2", + "multihashing-async": "^2.1.2", + "node-forge": "^0.10.0", "pem-jwk": "^2.0.0", - "protons": "^1.0.1", - "rsa-pem-to-jwk": "^1.1.3", - "tweetnacl": "^1.0.0", - "ursa-optional": "~0.9.10" + "protobufjs": "^6.10.2", + "secp256k1": "^4.0.0", + "uint8arrays": "^2.1.4", + "ursa-optional": "^0.10.1" } }, - "libp2p-crypto-secp256k1": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.3.0.tgz", - "integrity": "sha512-+rF3S5p2pzS4JLDwVE6gLWZeaKkpl4NkYwG+0knV6ot29UcRSb73OyCWl07r1h5+g9E3KZC3wpsu+RIK5w8zQA==", - "requires": { - "async": "^2.6.1", - "bs58": "^4.0.1", - "multihashing-async": "~0.5.1", - "nodeify": "^1.0.1", - "safe-buffer": "^5.1.2", - "secp256k1": "^3.6.1" - } - }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "merge-options": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", + "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "is-plain-obj": "^2.1.0" } }, "minimalistic-assert": { @@ -335,78 +502,135 @@ "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multibase": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.4.tgz", + "integrity": "sha512-8/JmrdSGzlw6KTgAJCOqUBSGd1V6186i/X8dDCGy/lbCKrQ+1QB6f3HE+wPr7Tpdj4U3gutaj9jG2rNX6UpiJg==", + "requires": { + "@multiformats/base-x": "^4.0.1" + } + }, + "multicodec": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.0.1.tgz", + "integrity": "sha512-Y6j3wiPojvkF/z6KFIGt84KdJdP2oILEdzc/3YbD3qQ3EerhqtYlfsZTPPNVoCCxNZZdzIpCKrdYFSav17sIrQ==", + "requires": { + "uint8arrays": "^2.1.3", + "varint": "^5.0.2" + } }, "multihashes": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.14.tgz", - "integrity": "sha512-V/g/EIN6nALXfS/xHUAgtfPP3mn3sPIF/i9beuGKf25QXS2QZYCpeVJbDPEannkz32B2fihzCe2D/KMrbcmefg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.2.tgz", + "integrity": "sha512-xpx++1iZr4ZQHjN1mcrXS6904R36LWLxX/CBifczjtmrtCXEX623DMWOF1eiNSg+pFpiZDFVBgou/4v6ayCHSQ==", "requires": { - "bs58": "^4.0.1", - "varint": "^5.0.0" + "multibase": "^4.0.1", + "uint8arrays": "^2.1.3", + "varint": "^5.0.2" } }, "multihashing-async": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", - "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-2.1.2.tgz", + "integrity": "sha512-FTPNnWWxwIK5dXXmTFhySSF8Fkdqf7vzqpV09+RWsmfUhrsL/b3Arg3+bRrBnXTtjxm3JRGI3wSAtQHL0QCxhQ==", "requires": { "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" + "err-code": "^3.0.0", + "js-sha3": "^0.8.0", + "multihashes": "^4.0.1", + "murmurhash3js-revisited": "^3.0.0", + "uint8arrays": "^2.1.3" } }, - "murmurhash3js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", - "integrity": "sha1-Ppg+W0fCoG9DpxMXTn5DXKBEuZg=" + "murmurhash3js-revisited": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", + "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==" }, "nan": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", - "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==" + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==" + }, + "nanoid": { + "version": "3.1.23", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", + "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==" + }, + "native-abort-controller": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/native-abort-controller/-/native-abort-controller-1.0.3.tgz", + "integrity": "sha512-fd5LY5q06mHKZPD5FmMrn7Lkd2H018oBGKNOAdLpctBDEPFKsfJ1nX9ke+XRa8PEJJpjqrpQkGjq2IZ27QNmYA==" + }, + "native-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", + "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==" + }, + "node-addon-api": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + }, + "node-fetch": { + "version": "npm:@achingbrain/node-fetch@2.6.6", + "resolved": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.6.tgz", + "integrity": "sha512-cR5rkxDwvXO30y8SzOC/QV0ziKojMeiteeEiV09AxrlBCuI1d8xVNpsM2M5g9L5qbDF9629bkXm4NPSCy3RVfA==" }, "node-forge": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", - "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==" + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" }, - "nodeify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", - "integrity": "sha1-ZKtpp7268DzhB7TwM1yHwLnpGx0=", - "requires": { - "is-promise": "~1.0.0", - "promise": "~1.3.0" - } + "node-gyp-build": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", + "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==" }, - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=" + "p-defer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" }, - "optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", + "p-fifo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", + "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==", "requires": { - "wordwrap": "~0.0.2" + "fast-fifo": "^1.0.0", + "p-defer": "^3.0.0" } }, "peer-id": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.12.2.tgz", - "integrity": "sha512-pked3yPLcOcprH21OnYbJAzk9OgI/TDEqjJ0IfRJSVB/61ZyqU5VKO7cw7hul+YD8nTD79wM79xFRWN3f6otNg==", + "version": "0.14.8", + "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.14.8.tgz", + "integrity": "sha512-GpuLpob/9FrEFvyZrKKsISEkaBYsON2u0WtiawLHj1ii6ewkoeRiSDFLyIefYhw0jGvQoeoZS05jaT52X7Bvig==", "requires": { - "async": "^2.6.1", + "cids": "^1.1.5", "class-is": "^1.1.0", - "libp2p-crypto": "~0.16.0", - "multihashes": "~0.4.13" + "libp2p-crypto": "^0.19.0", + "minimist": "^1.2.5", + "multihashes": "^4.0.2", + "protobufjs": "^6.10.2", + "uint8arrays": "^2.0.5" } }, "pem-jwk": { @@ -417,101 +641,78 @@ "asn1.js": "^5.0.1" } }, - "promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", - "integrity": "sha1-5cyaTIJ45GZP/twBx9qEhCsEAXU=", + "protobufjs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", + "integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==", "requires": { - "is-promise": "~1" + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" } }, - "protocol-buffers-schema": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.3.2.tgz", - "integrity": "sha512-Xdayp8sB/mU+sUV4G7ws8xtYMGdQnxbeIfLjyO9TZZRJdztBGhlmbI5x1qcY4TG5hBkIKGnc28i7nXxaugu88w==" - }, - "protons": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/protons/-/protons-1.0.1.tgz", - "integrity": "sha512-+0ZKnfVs+4c43tbAQ5j0Mck8wPcLnlxUYzKQoB4iDW4ocdXGnN4P+0dDbgX1FTpoY9+7P2Tn2scJyHHqj+S/lQ==", + "react-native-fetch-api": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-1.0.2.tgz", + "integrity": "sha512-BNCImbKfcp+7NyOPu4MuF4nhEzxcJX5hhYYftOyGDywhZVdV7Q9LrqhbFUaxprwwMeNugQHi/VOY9Bip99iNkA==", "requires": { - "protocol-buffers-schema": "^3.3.1", - "safe-buffer": "^5.1.1", - "signed-varint": "^2.0.1", - "varint": "^5.0.0" + "p-defer": "^3.0.0" } }, - "pull-defer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", - "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" - }, - "pull-stream": { - "version": "3.6.9", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.9.tgz", - "integrity": "sha512-hJn4POeBrkttshdNl0AoSCVjMVSuBwuHocMerUdoZ2+oIUzrWHFTwJMlbHND7OiKLVgvz6TFj8ZUVywUMXccbw==" - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rsa-pem-to-jwk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz", - "integrity": "sha1-JF52vbfnI0z+58oDLTG1TDj6uY4=", - "requires": { - "object-assign": "^2.0.0", - "rsa-unpack": "0.0.6" - } - }, - "rsa-unpack": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/rsa-unpack/-/rsa-unpack-0.0.6.tgz", - "integrity": "sha1-9Q69VqYoN45jHylxYQJs6atO3bo=", + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "requires": { - "optimist": "~0.3.5" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "secp256k1": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.6.2.tgz", - "integrity": "sha512-90nYt7yb0LmI4A2jJs1grglkTAXrBwxYAjP9bpeKjvJKOjG2fOeH/YI/lchDMIvjrOasd5QXwvV2jwN168xNng==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.2.tgz", + "integrity": "sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==", "requires": { - "bindings": "^1.2.1", - "bip66": "^1.1.3", - "bn.js": "^4.11.3", - "create-hash": "^1.1.2", - "drbg.js": "^1.0.1", - "elliptic": "^6.2.3", - "nan": "^2.2.1", - "safe-buffer": "^5.1.0" + "elliptic": "^6.5.2", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" } }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "stream-to-it": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.3.tgz", + "integrity": "sha512-xaK9EjPtLox5rrC7YLSBXSanTtUJN/lzJlMFvy9VaROmnyvy0U/X6m2uMhXPJRn3g3M9uOSIzTszW7BPiWSg9w==", "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "get-iterator": "^1.0.2" } }, - "signed-varint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", - "integrity": "sha1-UKmYnafJjCxh2tEZvJdHDvhSgSk=", + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "requires": { - "varint": "~5.0.0" + "safe-buffer": "~5.2.0" } }, "timestamp-nano": { @@ -519,34 +720,37 @@ "resolved": "https://registry.npmjs.org/timestamp-nano/-/timestamp-nano-1.0.0.tgz", "integrity": "sha512-NO/1CZigzlCWQiWdIGv8ebXt6Uk77zdLz2NE7KcZRU5Egj2+947lzUpk30xQUQlq5dRY25j7ZulG4RfA2DHYfA==" }, - "tweetnacl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.1.tgz", - "integrity": "sha512-kcoMoKTPYnoeS50tzoqjPY3Uv9axeuuFAZY9M/9zFnhoVvRfxz9K29IMPD7jGmt2c8SW7i3gT9WqDl2+nV7p4A==" + "uint8arrays": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.5.tgz", + "integrity": "sha512-CSR7AO+4AHUeSOnZ/NBNCElDeWfRh9bXtOck27083kc7SznmmHIhNEkEOCQOn0wvrIMjS3IH0TNLR16vuc46mA==", + "requires": { + "multibase": "^4.0.1" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" }, "ursa-optional": { - "version": "0.9.10", - "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.9.10.tgz", - "integrity": "sha512-RvEbhnxlggX4MXon7KQulTFiJQtLJZpSb9ZSa7ZTkOW0AzqiVTaLjI4vxaSzJBDH9dwZ3ltZadFiBaZslp6haA==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", + "integrity": "sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==", "requires": { - "bindings": "^1.3.0", - "nan": "^2.11.1" + "bindings": "^1.5.0", + "nan": "^2.14.2" } }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "varint": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz", - "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8=" - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", + "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" } } } diff --git a/ipns-tutorial/package.json b/ipns-tutorial/package.json index 4551496..ce82fb8 100644 --- a/ipns-tutorial/package.json +++ b/ipns-tutorial/package.json @@ -1,15 +1,17 @@ { - "name": "ipns-tutorial", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "vasa", - "license": "ISC", - "dependencies": { - "ipns": "^0.5.0", - "libp2p-crypto": "^0.16.1" + "name": "ipns-tutorial", + "version": "1.0.0", + "description": "Illustration of IPNS tutorial", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "vasa", + "license": "ISC", + "dependencies": { + "ipns": "^0.12.0", + "libp2p-crypto": "^0.19.4" + } } -} + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/robots.txt b/ipns-tutorial/www.york.ac.uk/robots.txt new file mode 100644 index 0000000..6cfbc4e --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/robots.txt @@ -0,0 +1,42 @@ +# robots.txt for http://www.york.ac.uk/ +# see for info. + +User-agent: linecker/* +Disallow: /cgi-bin-auth/ +Disallow: /cgi-bin-csrv/ +Disallow: /test/ + +User-agent: * +Disallow: /res/thomas/ +Disallow: /univ/mis/cfm/gradhunt/ +Disallow: /ServerSupport/LinkChecker/ +Disallow: /ServerSupport/LinkChecker.TEST/ +Disallow: /ServerSupport/UsageStats/ +Disallow: /ServerSupport/UsageStats.TEST/ +Disallow: /cgi-bin/ +Disallow: /cgi-bin-auth/ +Disallow: /cgi-bin-csrv/ +Disallow: /ftparchive/ +Disallow: /test/ +Disallow: /~ +Disallow: /%7E +Disallow: /%7e +Disallow: /usagestats/ +Disallow: /admin/aso/ +Disallow: /admin/sro/ +Disallow: /admin/uao/ugrad/courses/cupid/? +Disallow: /archaeology/intranet/ +Disallow: /commercialservices/catering_and_bars/ +Disallow: /media/study-new/ +Disallow: /newstudent/ +Disallow: /study-new/ +Disallow: /study/undergraduate/courses-2017/ +Disallow: /univ/coll/ +Disallow: /univ/mis/cfm/ +Disallow: /univ/mis/fm/ +Disallow: /univ/mis/fmport/ +Disallow: /univ/mis/fmstudent/ +Disallow: /admin/yimshelp/ +Disallow: /search/ +Disallow: /preview/ +Disallow: /static/data/ diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/11.gif b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/11.gif new file mode 100644 index 0000000..d768f78 Binary files /dev/null and b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/11.gif differ diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/15.gif b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/15.gif new file mode 100644 index 0000000..551fa65 Binary files /dev/null and b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/15.gif differ diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/AnFract.class b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/AnFract.class new file mode 100644 index 0000000..0dad5fc Binary files /dev/null and b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/AnFract.class differ diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/HSI.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/HSI.html new file mode 100644 index 0000000..d891203 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/HSI.html @@ -0,0 +1,95 @@ + + +Feminist Perspectives on Web Fiction: He, She and It + + + + + + + + + + + + + +
+FEMINIST PERSPECTIVES
ON
WEB FICTION
+ +
 
+wws index
+ web fiction home
+guidelines
+timetable
+bibliography
+ discussion list +LambdaMOO
+week two
+week three
+week four
+week five
+week six
+week seven
+week eight
+week nine
+week ten + + +
 
+contact:
+Ann Kaloski
+eakn1 at york
dot ac dot uk
+
+Centre for Women's Studies
+Grimston House + +
tel: x3671/4 + +
+ +

Marge Piercy
Body of Glass :: He She and It

+
+

We begin this option by reading a novel about the web. Body of Glass / He +She and It was written just as the World Wide Web was being +developed. The novel is a good read and explores many ideas that are pertinent +to this course. You might like to check out Piercy's website www.archer-books.com/Piercy.

+ +

    + +Some questions to think about:
    +
  • What are some of the powers of the web/ internet? +
  • How might the web affect subjectivity and identity? +
  • What is the role of information in a web-saturated society? What + are the gains and what are the dangers of the information highway?
  • How does sensuality, sexuality, affection feature in a techno-savvy + society?
  • What kinds of hierarchies might web-technology facilitate? What + kinds of freedoms? What kinds of controls? +
  • How is gender affected by the web - online and off? How is the + web affected by gender? +
  • What is a cyborg? What are the relationships between cyborgs + as a class and women as a class? +
  • What does the net feel like?
  • +
+ + + +

Paper Journal Exercise:

+

Before reading the novel please + write a page or two about your current impressions of the web/ internet. Use + whatever knowledge and experience you have to address some of the questions + above, and any other questions you feel strongly about.

+ +

Exercise for the first class session:

+

Come to class with a response + to the novel. This response can address any of the questions above, or something + else you find exciting, bearing in mind the remit of the course. Please also consult the presentation guidelines.

+ + + +
+  +
+ + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/Xena.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/Xena.html new file mode 100644 index 0000000..8535a89 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/Xena.html @@ -0,0 +1,117 @@ + + +Feminist Perspectives on Web Fiction: Xena + + + + + + + + + + + + + +
+FEMINIST PERSPECTIVES
ON
WEB FICTION
+ +
 
+wws index
+ web fiction home
+guidelines
+timetable
+bibliography
+ discussion list +LambdaMOO
+week two
+week three
+week four
+week five
+week six
+week seven
+week eight
+week nine
+week ten + + +
 
+contact:
+Ann Kaloski
+eakn1 at york
dot ac dot uk
+
+Centre for Women's Studies
+Grimston House + +
tel: x3671/4 + +
+ +

XENA
- with extras -

+
+

+For this week's work we go online. Having spent the past three weeks reading about different sorts of web experiences and engaging with different ways of writing 'the web'; and having dipped our virtual toes into MOO texts, now it's time to immerse ourselves in a piece of online writing.

+

I have chosen as the key text a site about the TV cult character Xena, Warrior Princess. The work is a doctoral dissertation about the 'Xenaverse' fan web sites. It is written and designed by Christine Boese who uses web-writing techniques to help her analyse online cultures. Alongside (re)introducing you to Xena and her fans, Boese's pages offer a journey into theories that are useful for assessing electronic writing.

+ +

The work was first published in 1998, and although new media is a fast moving field, the thesis offers a moment when many of the techniques and the theories were transparent and your expedition will, I hope, offer you a particular, almost palpable engagement with theory.

+

Christine Boese, The Ballad of the Internet Nutball: +Chaining Rhetorical Visions from the Margins of the Margins to the Mainstream in the Xenaverse, Rensselaer Polytechnic Institute +Troy, New York, 1998 (Site opens in a new browser; I recommend that you view it on 'full screen' :: menu - < view > < full screen > ) +

+ + +

Approaching The Xenaverse in Cyberspace:

+ +

This week, I would like you to concentrate on reading/ viewing/ playing with/ visiting the Xenaverse site. + +

+ + + + +
    + +Bringing out your responses to this text:
    +
  • Write down your first thoughts, however banal or confused - or even sophisticated! Do you feel lost, excited, annoyed, bored, fascinated? ..? Try to scrutinize your responses. How long did it take to begin to find your way around? + +
  • Which links do you find yourself following? + +
  • Does the site remind you of other texts, perhaps in a different medium? + +
  • Are you familiar with any of the theories from work in contemporary cultural or literary studies? + +
  • Write down your second, third thoughts... +
+
    Pursuing ideas generated by the site: + +
  • READING: If you would like to think about media-specific reading Experiments in the Future of Reading is a good place to start - it was an amazing project and art installation that questioned the way we read now as well as speculating, intelligently, as to what reading may become. + +
  • THEORIES OF WEB WRITING: see the 'theory' section in module bibliography and if you haven't done so already, make a start. Browse the Aarseth, Guertin, Hayles, Murray and Sheffield Sanford and begin your detailed study with the text you find most appealing. + +
  • ONLINE COMMUNITIES: +Nina Wakeford: Networks of Desire: Gender, Sexuality and Computing Culture Highly recommeded research on San Francisco net cultures, but unfortunately out of print, so use ILL. See also her article in Web Studies (David Gauntlett, ed) and The Cybercultures Reader (David Bell and Barbara Kennedy, eds).

    + +
  • FAN SITES: these are innumerable, so start with your own passions and then try something obscure. Research a defined area - say, UK TV sitcoms, or punk rock sites. Or a popular celebrity such as David Beckham or the (now historic) Spice Girls. + + + + + + +
+ + + + + + + + +
+  +
+ + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/ZerosandOnes.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/ZerosandOnes.html new file mode 100644 index 0000000..c0fffa9 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/ZerosandOnes.html @@ -0,0 +1,124 @@ + + +Feminist Perspectives on Web Fiction: The.PowerBook + + + + + + + + + + + + + +
+FEMINIST PERSPECTIVES
ON
WEB FICTION
+ +
 
+wws index
+ web fiction home
+guidelines
+timetable
+bibliography
+ discussion list +LambdaMOO
+week two
+week three
+week four
+week five
+week six
+week seven
+week eight
+week nine
+week ten + + +
 
+contact:
+Ann Kaloski
+eakn1 at york
dot ac dot uk
+
+Centre for Women's Studies
+Grimston House + +
tel: x3671/4 + +
+ +

Sadie Plant : : Zeros + Ones
+digital women + the new technoculture

+
+

+Ada's method [...] was to weave daydreams into seemingly +authentic calculations. (Doris Langley Moore, in Ada, Lady Lovelace, +possibly the first computer programmer)

+ +

Reading around Zeros and Ones:

+ +

Sadie Plant, 'The Future Loom: Weaving Women and Cybernetics', Mike Featherstone and Roger Burrows, eds Cyberspace/Cyberbodies/Cyberpunk: Cultures of Technological Embodiment 45-64. Sage, 1995. + +

+ +

review by Laura Lee.

+ +

Alex Galloway, Sadie Plant in relation to cyberfeminism, article.

+ +

Sexing the Machine. Sadie Plant in conversation.

+ +

Breaking the Myths. Interview with Susan Geller Ettenheim in Cybergrrl.

+ +

Sadie Plant and Linda Dement, interview with Miss M, as Plant was writing Zeros and Ones

+ +

Connected Texts

+ +

Linda Dement, Cyberflesh Girlmonster, 1995.
+"...Cyberflesh Girlmonster is a macabre comedy of monstrous femininity, of revenge, desire and violence...About 30 women donated body parts by scanning their chosen flesh and digitally recording sound. From these, conglomerate bodies were created, animated and made interactive..."
Sadly, I haven't yet been able to get hold of a copy of this extraordinary CDROM, a work that inspired Plant. But you can read about it in the interview with Miss M (details above) and on http://contactzones.cit.cornell.edu/artists/dement.html.

+ +

two works inspired by Zeros and Ones and 'Weaving Women' are:
+Alicia Felberbaum, Holes Linings Threads. Felberbaum uses source material from the textile mills of Batley, in Yorkshire. A longer version of this, including work by other artists, is available on CDROM from me.
+Helen Whitehead Web, Warp and Weft for a different take on the issues, and lots of useful links to other creative explorations of women and weaving.

+ + + + +
    + +Some ideas to think about:
    +
  • Imagine Zeros and Ones is an unfinished manuscript. Write the next chapter. (Taken from www.educ.sfu.ca/gentech/cyberfem.html). + +
  • Write a footnote to any aspect of a course text. + +
  • What is Zeros and Ones about? What are some of the key arguments? What do you make of them? Are Plants ideas liberating for women? Is that an inappropriate question? + +
  • How is history presented in Zeros and Ones? Focussing on specific 'historical' examples in the book, consider alternative approaches. + + +
  • If you have read Donna Haraway's Manifesto think about the similarities and the differences between the perspectives offered by these two major texts. + +
  • Think specifically about the new myths imagined by both Plant and Haraway, as well as those in He, She and It and The PowerBook and other feminist re-writings you have come across (try, for example, Thompson's Virtual Girl or Piercy's Woman on the Edge of Time). +Are new myths useful for women? Which women? Why now? Could you have a bash at developing a myth of your own ...? +

    + + + + + +
+ + + + + + + + +
+  +
+ + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/assignment04.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/assignment04.html new file mode 100644 index 0000000..d8e0402 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/assignment04.html @@ -0,0 +1,87 @@ + + +Feminist Perspectives on Web Fiction 2004 + + + + + + + + + + + + + +
+ + +

FEMINIST PERSPECTIVES
ON
WEB FICTION
2004

+ +wws index
+outline
+web fiction home +guidelines
+timetable
+bibliography
+ discussion list
+LambdaMOO
+week two
+week three
+week four
+week five
+week six
+week seven
+week nine
+week ten + +
 
+contact:
+Ann Kaloski
+eakn1 at york
dot ac dot uk
+
+Centre for Women's Studies
+Grimston House + +
tel: x3671/4 + +
+ +

Assignment Workshop

+
+ +

The aim of this workshop is:

+
    +
  • to kick-start your thinking about your module assignment +
  • to continue with the collaborative ethos of the module, offering each other support and ideas for the assignment +

+ +

Please come to the session prepared to discuss your ideas:

+
    +
  • Devise an essay question. This will need to be negotiated with me, but when thinking of a question reflect on the scope of your assignment (how many words and how much time do you have?), the remit of the course (how are you going to show that you have engaged with course materials and ideas?) and - very importantly - what provokes you about your chosen topic? (what ideas do you want to tease out and discuss as you write?). Read the list of essay suggestions as a starter. +
  • Consider what theoretical perspectives you might use, challenge, extend, and where you feel that in this new media you might be able to generate new angles and ideas, however tentative. +
  • Think about what technology you may need to help you answer the question: will your piece be online (or CDROM) or on paper, or a combination of both. As always, be cognizant of why you want to present paper or screen-read work. If using electronic media, begin to think about what further skills you need to acquire.

+ +

A word about electronic media: don't be overwhelmed. Quite simple text can be used very effectively - you don't need a 'flamboyant' site to make a valuable contribution to the field. In fact, as rule of thumb, I would advise you to use the minimum technology you need for your project. Concentrate on your words and your ideas, and let the technology (pencil, Word, HTML, hyperlinks, images) help you interrogate and present your ideas in the most effective way possible. + +

+ + + + + + + + + + + +
+  +
+ + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/assignmentideas.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/assignmentideas.html new file mode 100644 index 0000000..609679f --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/assignmentideas.html @@ -0,0 +1,75 @@ + + +Feminist Perspectives on Web Fiction 2004: Assignment Ideas + + + + + + + + + + +
+ + + +

some ideas for your assignment
  +

+
+

Please browse these questions and ideas and feel free to use any you like or to come up with your own question IN CONSULTATION WITH ME.

+

Whatever question you choose or formulate, remember that this is a module within a women's studies course, and you are expected to take account of feminist theory and gendered and or women's perspectives.

+ +
    +questions
    +
  • Is there such a thing as feminist web fiction? + +
  • Why do women MOO? + +
  • 'Contests for the meanings of writing are a major form of contemporary political struggle. . . Cyborg writing is about the power to survive, not on the basis of original innocence, but on the basis of seizing the tools to mark the world that marked them as other.' Donna Haraway, 1985. Discuss. + +
  • Is web fiction literature? + + + +
  • What kinds of connections does Winterson's The Powerbook make between desire and online personas? + +
  • What metaphors and phrases does Winterson use to explore the concept of 'freedom' in The Powerbook? What kind of freedom does the book seem to extol? Is it women's freedom? + +
  • What is the relationship between form and content in The Powerbook by Jeanette Winterson? + +
  • Is cyborg writing a feminist task? + +
  • Is the narrative of Winterson's The Powerbook convincing as a love story? Why/ why not? + +
  • How can 'Patchwork Girl' by Shelly Jackson be read? + +
  • How might Shelley Jackson's 'Patchwork Girl' be considered a feminist myth? + +
  • What is the value and limitation of the weaving metaphor for thinking about women's digital writing. + +
  • Does the fictionality of gender-play in virtual cities add anything to feminist understandings of gender? (In answering this question, use a critical evaluation of your own experiences in LambdaMOO alongside theoretical material and Winterson's ideas offered in The Powerbook and any other relevant novels you have read.) + +
  • Write a critical assessment of 'Diner'. Follow link at Riding the Meridian + +
+
    +ideas
    + +
  • Think about Jackson's 'My Body'. Could you produce something simple, but similar, of your own, that takes account of feminist undestandings of gender, sexuality, identity, race, bodies, auto/biography. + +
  • Are you (more) interested in the cultural or the artistic production of meaning surrounding digital fiction? What aspect will you focus on? + +
+

+ +return to assignment worksheet

+ +
+  +
+ + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/assignments.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/assignments.html new file mode 100644 index 0000000..6b1555e --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/assignments.html @@ -0,0 +1,82 @@ + + +Feminist Perspectives on Web Fiction: eassignments + + + + + + + + + + + + + + +
+FEMINIST PERSPECTIVES
ON
WEB FICTION
+ +
 
+wws index
+ web fiction home
+guidelines
+timetable
+bibliography
+ discussion list +LambdaMOO
+week two
+week three
+week four
+week five
+week six
+week seven
+week eight
+week nine
+week ten + + +
 
+contact:
+Ann Kaloski
+eakn1 at york
dot ac dot uk
+
+Centre for Women's Studies
+Grimston House + +
tel: x3671/4 + +
+ +

Module Assessment
Workshop

+
+ + + +

The aim of this workshop is: +

    +
  • to kick-start your thinking about your module assignment +
  • to continue with the collaborative ethos of the module, offering each other support and ideas for the assignment +

+ +

Please come to the session prepared to discuss your ideas: +

    +
  • Devise an essay question. This will need to be negotiated with me, but when thinking of a question reflect on the scope of your assignment (how many words and how much time do you have?), the remit of the course (how are you going to show that you have engaged with course materials and ideas?) and - very importantly - what provokes you about your chosen topic? (what ideas do you want to tease out and discuss as you write?). +
  • Consider what theoretical perspectives you might use, challenge, extend, and where you feel that in this new media you might be able to generate new angles and ideas, however tentative. +
  • Think about what technology you may need to help you answer the question: will your piece be online (or CDROM) or on paper, or a combination of both. As always, be cognizant of why you want to present paper or screen-read work. If using electronic media, begin to think about what further skills you need to acquire.

+ +

A word about electronic media: don't be overwhelmed. You have all clearly enjoyed 'playing' with HTML - and in some cases DHTML - and through this activity produced intriguing and creative draft sites. But the point of these exercises isn't just to have fun, but to enable you to think about how and why web page writing works; to consider the value and limitations of this new media form. You can now begin to make choices. Quite simple text can be used very effectively - you don't need a 'flamboyant' site to make a valuable contribution to the field. In fact, as rule of thumb, I would advise you to use the minimum technology you need for your project. Concentrate on your words and your ideas, and let the technology (pencil, Word, HTML, hyperlinks, images) help you interrogate and present your ideas in the most effective way possible. + +

+ + + + + +
+  +
+ + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/bib.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/bib.html new file mode 100644 index 0000000..f7da88c --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/bib.html @@ -0,0 +1,175 @@ + + +Feminist Perspectives on Web Fiction: Guidelines + + + + + + + + + + + + + + +
+FEMINIST PERSPECTIVES
ON
WEB FICTION
+ +
 
+wws contents
+ web fiction home
+guidelines
+ timetable
+bibliography
+ discussion list +LambdaMOO
+week two
+week three
+week four
+week five
+week six
+week seven
+week eight
+week nine
+week ten + + +
 
+contact:
+Ann Kaloski
+eakn1 at york
dot ac dot uk
+
+Centre for Women's Studies
+Grimston House + +
tel: x3671/4 + +
+ +

ON-GOING BIBLIOGRAPHY

+ + +

:: Items added frequently :: refresh your browser ::

+
+ +

This is a suggestive rather than a comprehensive bibliography (see Guidelines). Browse the web sites and the shelf of books in the CWS common room.

+ +

availability of paper texts:
JBM - Main Library; CWS - Common Room.

+ +

The hot linked external web sites listed on this page open in a new browser.

+ +

playing with words

+ +

the visual thesaurus: worth the wait for the site to load.

+

mostly fiction

+ + +

Jacqueline Gross, Modern Keller

+ +

Shelley Jackson, Patchwork Girl (Watertown, MA : Eastgate Systems, 1995) CDROM; JBM

+ +

Amy Thompson, Virtual Girl (Ace Books, 1993) A fabulous tale of cyborgs, transgender, sentience and power. This is currently out of print, but I have a few personal copies I will leave in the Centre for you to borrow.

+ + +

Kate Bornstein and Caitlin Sullivan, Nearly Roadkill (High Risk Books/ Serpent's Tail, 1996). An 'erotic adventure' on and off line that mixes the politics of power with sexualised and multi-gendered communication. Web site offers a downloadable first chapter CWS + +

Sue Thomas, Correspondence (Women's Press, 1991) Novel about machine-human merging (in common room). Essay and Extract CWS

+ +

mostly theory

+ +

Janet H Murray, Hamlet on the Holodeck: The future of narrative in cyberspace (MIT Press, 1998) Good and accessible introduction to new media literary criticism. JBM

+ +

Susan Hawthorne and Renate Klein, eds. Cyberfeminism: Connectivity, Creativity and Critique (Spinifex Press, 2000). An introductory volume that offers sociological and poetic analysis of cyberfeminism. The web site is useful, and see especially Sunita Namjoshi's 'A hypertext fable and some explanation'. JBM & CWS

+ +

N Katherine Hayles, Writing Machines (MIT Press, 2002). A new book which expands theoretical understandings of literature by one of the foremost thinkers in the field of new media writing. Hayles uses pseudo-autobiography to take the reader through some of the problematics of reading new media texts, and advocates a 'material' literary theory. Marries design and text to offer a "zine for grownups". See also the very useful and imaginative web supplement on http://mitpress.mit.edu/mediawork. Ask me for this book.

+ +

Carolyn Guertin, Queen Bees and the Hum of the Hive: +An Overview of Feminist Hypertext's Subversive Honeycombings In Beehive 1:2, July 1998

+ + +

Anne Balsamo, Technologies of the Gendered Body: Reading Cyborg Women (Duke UP, 1996). Sample pages available on Amazon.com. Book highly recommended. JBM

+ + +

George P Landow, Hypertext 2.0: The convergence of contemporary critical theory and technology (Baltimore : Johns Hopkins University Press, 1997).

+ +

Diane Greco, Cyborg : Engineering the Body Electric (Watertown, MA : Eastgate Systems, 1995) disk and manual. JBM

+ +

Espen Aarseth, Cybertext: Perspectives on Ergodic Literature +(Johns Hopkins University Press, 1997). Influential and original piece of work that links cyberwriting to many other forms of narrative. Also check out his web site which includes an online version of the Introduction to Cybertext.JBM & CWS

+ +

Sherry Turkle, Life on the Screen: Identity in the Age of the Internet (Simon and Schuster: 1995) Seminal and very readable analyis of subjectivity and bodies online. JBM & CWS

+ +

David Gauntlett, ed. Web.studies: Rewiring Media Studies for the Digital Age (Oxford UP, 2000). Useful introduction to cultural aspects. Also check out his web site Theory.Org.Uk for Judith Butler as a lego figure, Michel Foucualt on a trading card and much, much more.

+ +

Roland Barthes 'From Work to Text' in The Rustle of Language Trans. Richard Howard. New York, Hill and Wang:1986. 56-64. Written before hypertext, but worth thinking about the concepts raised in the light of the palpable hyperlinking that is now becoming part of contemporary literary endeavors.

+ +

CTheory Journal

+ +

hybrid texts

+ +

Mary Flanagan and Austin Booth, eds Reload: Rethinking women and cyberculture (MIT Press, 2002). Wonderful combination of fiction and theory. JBM & CWS +

+ +

+Christy Sheffield Sanford, The Roots of Nonlinearity: Toward a Theory of Web-Specific Art-Writing Beehive 3:1, February 2000

+ +

Web site of VNS Matrix, an influential and much-quoted Australian cyberfeminist group.

+ + + +

Mark Amerika, Grammatron (1997) on www.grammatron.com A classic and difficult piece that links narrative and theory. "A story about cyberspace, Cabala mysticism, digicash paracurrencies and the evolution of virtual sex ... GRAMMATRON depicts a near-future world where stories are no longer conceived for book production but are instead created for a more immersive networked-narrative environment that, taking place on the Net, calls into question how a narrative is composed, published and distributed in the age of digital dissemination." See what you make of it.

+ +

Sites offering links to useful material.

+

Use carefully - browse gently until you find a piece that interests you, then stay with it.

+ +

+Voice of The Shuttle. A fantastic resource that aims to "provide a structured and briefly annotated guide to online resources that at once respects the established humanities disciplines in their professional organization and points toward the transformation of those disciplines as they interact with the sciences and social sciences and with new digital media."

+ +

Cyberspace, Hypertext and Critical Theory, on +www.cyberartsweb.org/cpace/theory/theoryov.html

+ +

Social Science Hub: Cyberspace. Mostly sociological, as the name suggests, but very useful. Offers many pertinent links including work on MOOs and communities.

+ +

Electronic Literature Organization. This US organisation aims "to facilitate and promote the writing, publishing, and reading of literature in electronic media". Defintely worth a visit. +

+ +

Trace. Based at Nottingham Trent University. Hard to know where to place this web site. In many ways it is the UK equivalent to the ELO (above) but last year changed from a kind of 'online art centre' into more of an 'art journal', with the consequent gains and losses of this more dedicated site. Lots of resources, though many are currently hard to find behind the journal format. Good articles, and you might like to follow Kate Pullinger's journey from print to web writer. +

+ +

Online New Media Journals.

+ +

Frame: Journal of Culture and Technology published by the Trace online writing centre (see above). + +

Beehive : http://beehive.temporalimage.com/ + +

Rhizomes : Cyberfeminism

+ +

Journal of Digital Information: see especially special issues on hypertext and hyperfiction.

+ +

Electronic Writing Research Ensemble: a treasure trove.

+ +

GeekGirl A pleasure. + +

Riding the Meridian www.heelstone.com/meridian Not exactly a journal, more an art centre, and showcases some lovely online women's work as well as offering very thoughtful perpsectives on the medium. Browse - but don't miss 'Diner' and the rest of issue one, volume two 'Women and Technology' and the items on hypertext (follow 'archives' link)

+ +

Other Stuff

+ + +

The English Server Fiction Collection An eclectic site offering traditional fiction online, both on the site and via links to other sites. Edited by Martha Cheng and Geoff Sauer.

+ +

Tecriture :: Writing and Technology "Tecriture is a web site devoted to writing and technology. Whilst at present its main attraction is the free ebook service allowing users to search and convert etexts from the Gutenberg Archive, I hope that over time it becomes more of an online community for those of us who are passionate about the possibilities of text and the internet." (description from the web site) + + + + +

CLEAN A community (?) site devised by the Women's Library in London. +

+  +
+ + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/bib04.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/bib04.html new file mode 100644 index 0000000..59aa69c --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/bib04.html @@ -0,0 +1,178 @@ + + +Feminist Perspectives on Web Fiction 2004: Guidelines + + + + + + + + + + + + + + +
+

FEMINIST PERSPECTIVES
ON
WEB FICTION
2004

+ +wws contents
+outline
+ web fiction home
+guidelines
+ timetable
+bibliography
+ discussion list +LambdaMOO
+week two
+week three
+week four
+week five
+week six
+week seven
+week eight
+week nine
+week ten + + +
 
+contact:
+Ann Kaloski
+eakn1 at york
dot ac dot uk
+
+Centre for Women's Studies
+Grimston House + +
tel: x3671/4 + +
+ +

ON-GOING BIBLIOGRAPHY

+ + +

:: Items added frequently :: refresh your browser ::

+
+ +

This is a suggestive rather than a comprehensive bibliography (see Guidelines). Browse the web sites and the shelf of books in the CWS common room.

+ +

availability of paper texts:
JBM - Main Library; CWS - Common Room.

+ +

The hot linked external web sites listed on this page open in a new browser.

+ +

playing with words

+ +

the visual thesaurus: worth the wait for the site to load.

+ +

mostly fiction/art

+ +
+

Carolyn Guertin, web.arts A wonderful, inspiring collection of works by a feminist artist who also curates other women's works and critiques the medium. Browse, and linger.

+ +

Jacqueline Gross, Modern Keller

+ +

Shelley Jackson, Patchwork Girl (Watertown, MA : Eastgate Systems, 1995) CDROM; JBM

+ +

Amy Thompson, Virtual Girl (Ace Books, 1993) A fabulous tale of cyborgs, transgender, sentience and power. This is currently out of print, but I have a few personal copies I will leave in the Centre for you to borrow.

+ + +

Kate Bornstein and Caitlin Sullivan, Nearly Roadkill (High Risk Books/ Serpent's Tail, 1996). An 'erotic adventure' on and off line that mixes the politics of power with sexualised and multi-gendered communication. Web site offers a downloadable first chapter CWS + +

Sue Thomas, Correspondence (Women's Press, 1991) Novel about machine-human merging (in common room). Essay and Extract CWS

+ +

mostly theory

+ +

Janet H Murray, Hamlet on the Holodeck: The future of narrative in cyberspace (MIT Press, 1998) Good and accessible introduction to new media literary criticism. JBM

+ +

Susan Hawthorne and Renate Klein, eds. Cyberfeminism: Connectivity, Creativity and Critique (Spinifex Press, 2000). An introductory volume that offers sociological and poetic analysis of cyberfeminism. The web site is useful, and see especially Sunita Namjoshi's 'A hypertext fable and some explanation'. JBM & CWS

+ +

N Katherine Hayles, Writing Machines (MIT Press, 2002). A new book which expands theoretical understandings of literature by one of the foremost thinkers in the field of new media writing. Hayles uses pseudo-autobiography to take the reader through some of the problematics of reading new media texts, and advocates a 'material' literary theory. Marries design and text to offer a "zine for grownups". See also the very useful and imaginative web supplement on http://mitpress.mit.edu/mediawork. Ask me for this book.

+ +

Carolyn Guertin, Queen Bees and the Hum of the Hive: +An Overview of Feminist Hypertext's Subversive Honeycombings In Beehive 1:2, July 1998

+ + +

Anne Balsamo, Technologies of the Gendered Body: Reading Cyborg Women (Duke UP, 1996). Sample pages available on Amazon.com. Book highly recommended. JBM

+ + +

George P Landow, Hypertext 2.0: The convergence of contemporary critical theory and technology (Baltimore : Johns Hopkins University Press, 1997).

+ +

Diane Greco, Cyborg : Engineering the Body Electric (Watertown, MA : Eastgate Systems, 1995) disk and manual. JBM

+ +

Espen Aarseth, Cybertext: Perspectives on Ergodic Literature +(Johns Hopkins University Press, 1997). Influential and original piece of work that links cyberwriting to many other forms of narrative. Also check out his web site which includes an online version of the Introduction to Cybertext.JBM & CWS

+ +

Sherry Turkle, Life on the Screen: Identity in the Age of the Internet (Simon and Schuster: 1995) Seminal and very readable analyis of subjectivity and bodies online. JBM & CWS

+ +

David Gauntlett, ed. Web.studies: Rewiring Media Studies for the Digital Age (Oxford UP, 2000). Useful introduction to cultural aspects. Also check out his web site Theory.Org.Uk for Judith Butler as a lego figure, Michel Foucualt on a trading card and much, much more.

+ +

Roland Barthes 'From Work to Text' in The Rustle of Language Trans. Richard Howard. New York, Hill and Wang:1986. 56-64. Written before hypertext, but worth thinking about the concepts raised in the light of the palpable hyperlinking that is now becoming part of contemporary literary endeavors.

+ +

CTheory Journal

+ +

hybrid texts

+ +

Mary Flanagan and Austin Booth, eds Reload: Rethinking women and cyberculture (MIT Press, 2002). Wonderful combination of fiction and theory. JBM & CWS +

+ +

+Christy Sheffield Sanford, The Roots of Nonlinearity: Toward a Theory of Web-Specific Art-Writing Beehive 3:1, February 2000

+ +

Web site of VNS Matrix, an influential and much-quoted Australian cyberfeminist group.

+ + + +

Mark Amerika, Grammatron (1997) on www.grammatron.com A classic and difficult piece that links narrative and theory. "A story about cyberspace, Cabala mysticism, digicash paracurrencies and the evolution of virtual sex ... GRAMMATRON depicts a near-future world where stories are no longer conceived for book production but are instead created for a more immersive networked-narrative environment that, taking place on the Net, calls into question how a narrative is composed, published and distributed in the age of digital dissemination." See what you make of it.

+ +

Sites offering links to useful material.

+

Use carefully - browse gently until you find a piece that interests you, then stay with it.

+ +

+Voice of The Shuttle. A fantastic resource that aims to "provide a structured and briefly annotated guide to online resources that at once respects the established humanities disciplines in their professional organization and points toward the transformation of those disciplines as they interact with the sciences and social sciences and with new digital media."

+ +

Cyberspace, Hypertext and Critical Theory, on +www.cyberartsweb.org/cpace/theory/theoryov.html

+ +

Social Science Hub: Cyberspace. Mostly sociological, as the name suggests, but very useful. Offers many pertinent links including work on MOOs and communities.

+ +

Electronic Literature Organization. This US organisation aims "to facilitate and promote the writing, publishing, and reading of literature in electronic media". Defintely worth a visit. +

+ +

Trace. Based at Nottingham Trent University. Hard to know where to place this web site. In many ways it is the UK equivalent to the ELO (above) but last year changed from a kind of 'online art centre' into more of an 'art journal', with the consequent gains and losses of this more dedicated site. Lots of resources, though many are currently hard to find behind the journal format. Good articles, and you might like to follow Kate Pullinger's journey from print to web writer. +

+ +

Online New Media Journals.

+ +

Frame: Journal of Culture and Technology published by the Trace online writing centre (see above). + +

Beehive : http://beehive.temporalimage.com/ + +

Rhizomes : Cyberfeminism

+ +

Journal of Digital Information: see especially special issues on hypertext and hyperfiction.

+ +

Electronic Writing Research Ensemble: a treasure trove.

+ +

GeekGirl A pleasure. + +

Riding the Meridian www.heelstone.com/meridian Not exactly a journal, more an art centre, and showcases some lovely online women's work as well as offering very thoughtful perpsectives on the medium. Browse - but don't miss 'Diner' and the rest of issue one, volume two 'Women and Technology' and the items on hypertext (follow 'archives' link)

+ +

Other Stuff

+ + +

The English Server Fiction Collection An eclectic site offering traditional fiction online, both on the site and via links to other sites. Edited by Martha Cheng and Geoff Sauer.

+ +

Tecriture :: Writing and Technology "Tecriture is a web site devoted to writing and technology. Whilst at present its main attraction is the free ebook service allowing users to search and convert etexts from the Gutenberg Archive, I hope that over time it becomes more of an online community for those of us who are passionate about the possibilities of text and the internet." (description from the web site) + + + + +

CLEAN A community (?) site devised by the Women's Library in London. +

+  +
+ + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/clouds.jpg b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/clouds.jpg new file mode 100644 index 0000000..1548206 Binary files /dev/null and b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/clouds.jpg differ diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm.css b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm.css new file mode 100644 index 0000000..b8be2cc --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm.css @@ -0,0 +1,48 @@ + + +A:link {color:#cccccc; font-weight: 600; text-decoration: none; font-size:11pt; georgia, verdana, sans-serif; } + + +A:visited {color: #cccccc; font-weight: 600; text-decoration: none; font-size:11pt; georgia, verdana, sans-serif;} + +A:hover {color:#ffffff; font-weight: 600; text-decoration:none; font-size:11pt; georgia, verdana, sans-serif; } + +A:active {color:#ffffff; font-weight: 600; text-decoration: none; font-size:11pt; georgia, verdana, sans-serif ;} + + P.timtab {color:#6699cc; font-weight: 600; font-size: 12px; font-family: verdarna, sans-serif; text-align: center; margin-right: 0px; margin-left: 0px; margin-top: 5px; margin-bottom: 5px; letter-spacing: 0px; } + + + P.text {color:#000000; font-weight: 400; font-size: 12px; font-family: arial, helvetica, sans-serif; text-align: left; margin-right: 80px; margin-left: 80px; margin-top: 10px; margin-bottom: 10px; letter-spacing: 1px; } + + P.textblue {color:#6699cc; font-weight: 600; font-size: 12px; font-family: arial, helvetica, sans-serif; text-align: left; margin-right: 80px; margin-left: 80px; margin-top: 10px; margin-bottom: 10px; letter-spacing: 1px; } + +P.textleft {color:#000000; font-weight: 400; font-size: 12px; font-family: arial, helvetica, sans-serif; text-align: left; margin-right: 250px; margin-left: 80px; margin-top: 10px; margin-bottom: 20px; letter-spacing: 1px; } + +P.textright {color:#000000; font-weight: 400; font-size: 12px; font-family: arial, helvetica, sans-serif; text-align: left; margin-right: 80px; margin-left: 250px; margin-top: 10px; margin-bottom: 20px; letter-spacing: 1px; } + + +P.quote {color:#000000; font-weight: 400; font-size: 11px; font-family: verdana, serif; text-align: left; margin-right: 80px; margin-left: 180px; margin-top: 30px; margin-bottom: 30px; letter-spacing: 1px; } + + +P.cyb {color:#000000; font-weight: 600; font-size: 12px; font-family: verdana, sans-serif; margin-right: 0px; margin-left: 10px; margin-top: 0px; margin-bottom: 0px; } + +P.bib {color:#000000; font-weight: 400; font-size: 12px; font-family: arial, helvetica, serif; margin-right: 200px; margin-left: 50px; margin-top: 10px; margin-bottom: 10px; letter-spacing: 1px; } + +P.bibbette {color:#000000; font-weight: 400; font-size: 12px; font-family: arial, helvetica, serif; margin-right: 200px; margin-left: 100px; margin-top: 5px; margin-bottom: 5px; letter-spacing: 1px; } + + +P.bibright{color:#000000; font-weight: 400; font-size: 12px; font-family: arial, helvetica, sans-serif; text-align: left; margin-right: 80px; margin-left: 50px; margin-top: 10px; margin-bottom: 20px; letter-spacing: 1px; } + + + +P.cyborg {color:#6699cc; font-weight: 600; font-size: 12px; font-family: verdana, sans-serif; margin-right: 0px; margin-left: 10px; margin-top: 0px; margin-bottom: 0px; } + +P.weeks {color:#000000; font-weight: 600; font-size: 12px; font-family: verdana, sans-serif; text-align: center; } + +P.contact {color:#ffffff; font-weight: 400; font-size: 10px; font-family: verdana, sans-serif; text-align: right } + +P.head {color:#6699cc; font-weight: 600; font-size: 12px; font-family: verdana, sans-serif; text-align: center; } + +P.headbig {color:#000000; font-weight: 600; font-size: 14px; font-family: verdana, sans-serif; text-align: left; } + +P.secret {color:#ffffff; font-weight: 100; font-size: 1px; font-family: verdana, sans-serif; text-align: center; } \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm1.jpg b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm1.jpg new file mode 100644 index 0000000..195d8c5 Binary files /dev/null and b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm1.jpg differ diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm2.jpg b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm2.jpg new file mode 100644 index 0000000..a662cb8 Binary files /dev/null and b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm2.jpg differ diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm3.jpg b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm3.jpg new file mode 100644 index 0000000..8eca413 Binary files /dev/null and b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm3.jpg differ diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm4.jpg b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm4.jpg new file mode 100644 index 0000000..77711bd Binary files /dev/null and b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm4.jpg differ diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm5.jpg b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm5.jpg new file mode 100644 index 0000000..bcd66bc Binary files /dev/null and b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm5.jpg differ diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm6.jpg b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm6.jpg new file mode 100644 index 0000000..94bd7e7 Binary files /dev/null and b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm6.jpg differ diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm8.jpg b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm8.jpg new file mode 100644 index 0000000..b4df1ba Binary files /dev/null and b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cm8.jpg differ diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/col3.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/col3.html new file mode 100644 index 0000000..968da72 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/col3.html @@ -0,0 +1,46 @@ + + +Wired Women's Studies + + + + + + + + + + + + + +
+return to home page
+home page
+ +

+doctoral projects
research projects
+ + + +

+modules
+modules + +

+e-learning
e-learning
+ + +

+ diy simple web pages
+diy simple web pages + +

email: eakn1@york.ac.uk
+email ann kaloski +

+ + + + + diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborg.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborg.html new file mode 100644 index 0000000..68c0285 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborg.html @@ -0,0 +1,102 @@ + + +Feminist Perspectives on Web Fiction 2004: Cyborgs + + + + + + + + + + + + + +
+ + +

FEMINIST PERSPECTIVES
ON
WEB FICTION
2004

+ +wws index
+outline
+web fiction home +guidelines
+timetable
+bibliography
+discussion list
+LambdaMOO
+week two
+week three
+week four
+week five
+week six
+week seven
+week eight
+week nine
+week ten + +
 
+contact:
+Ann Kaloski
+eakn1 at york
dot ac dot uk
+
+Centre for Women's Studies
+Grimston House + +
tel: x3671/4 + +
+ +

Marge Piercy :: He, She and It
+Donna Haraway :: The Cyborg Manifesto

+
+ + +

key texts

+

Marge Piercy, He, She and It

+

Donna Haraway, 'The Cyborg Manifesto'

+ + +

Body of Glass(UK title) / He +She and It (US title) was written just as the internet was being +developed, and was inspired, in part, by 'The Cyborg Manifesto'. The novel is a good read and explores many ideas that are pertinent +to this course. You might like to check out Piercy's website www.archer-books.com/Piercy.

+ +

    + +Some questions to think about:
    +
  • What are some of the powers of the web/ internet? +
  • How might the web affect subjectivity and identity? +
  • What is the role of information in a web-saturated society? What + are the gains and what are the dangers of the information highway?
  • How does sensuality, sexuality, affection feature in a techno-savvy + society?
  • What kinds of hierarchies might web-technology facilitate? What + kinds of freedoms? What kinds of controls? +
  • How is gender affected by the web - online and off? How is the + web affected by gender? +
  • What is a cyborg? What are the relationships between cyborgs + as a class and women as a class? +
  • What does the net feel like?
  • + +
+ +

See also the worksheet on 'Cyberfeminism', which focuses on Haraway's manifesto, in the Females, Femininity and Feminism module booklet

+ + + + + + + + + + + +
+  +
+ + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgperspectives.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgperspectives.html new file mode 100644 index 0000000..93ed40f --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgperspectives.html @@ -0,0 +1,210 @@ + + + + +Cyborg Perspectives + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +  + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

CYBORG PERSPECTIVES :: women and technology today

+ +
+ + + +
+ + + +
+ + +START HERE (OVERVIEW) + +RESOURCES + + + +DISCUSSION LIST + +TIMETABLE + +'A CYBORG MANIFESTO' ONLINE + + +WIRED WOMEN'S STUDIES HOME + + + + + + + +
+ +

WEEK :: + +TWO :: +THREE :: + FOUR :: +FIVE :: +SIX :: +SEVEN :: +EIGHT :: + NINE :: + TEN :: +WEEK + +

+ +
+ + + +
+ + + +
+ +   + +
+ +

CONTACT
+ +Ann Kaloski:   E: eakn1   T: x3674
+Julie Palmer:   E: jdp108   T: x3029
+Centre for Women's Studies
Third Floor, Grimston House

+ +
+ + + + + + + + + +
+ + + + + + diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgtimetable.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgtimetable.html new file mode 100644 index 0000000..cef36c4 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgtimetable.html @@ -0,0 +1,305 @@ + + + + +Cyborg Perspectives week two + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

CYBORG PERSPECTIVES: women and technology today

+ +
+ +

MENU :: + + +OVERVIEW :: + +RESOURCES :: + +DISCUSSION :: + +TIMETABLE :: + + MANIFESTO :: + +MENU

+ +
+

 

+ +
+ +

WEEK :: + +TWO :: +THREE :: +FOUR :: +FIVE :: +SIX :: +SEVEN :: +EIGHT :: +NINE :: +TEN :: +WEEK + +

+ +
+

 

+ +
+ + +

taught by Ann Kaloski and Julie Palmer, Centre for Women's Studies, autumn term 2005.

+ +
+HOME + +

TIMETABLE

+

Classes will normally meet on Wednesday mornings from 10.15-12.15 in one of the lecture rooms on the third floor of Grimston House.

+ +

Links to worksheets will be added as we progress through the module.

+ + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

WEEK

+
+

TOPIC

+
+

STUDENTS
FACILITATING
SESSION

+
+

2 (19 October)

+
+Cyborg Experiences:
Reading and writing technobiographies
+
+

all

+
+

3 (26th October)

+
+A Cyborg Manifesto:
Donna Haraway
+
+

all

+
+

4 (2 November)

+
+Cyborg Imaginings:
Photographing cyborgs
+
+

all

+
+

5 (9 November)

+
+Cyborg Bodies:
Exploring ultrasounds
+
+

all

+
+

6 (16 November)

+
+Cyborg Subjectivities:
Shelley Jackson's Patchwork Girl
+ +
+

-

+
+

7 (23 November)

+
+student directed session

+
+

-

+
+

8 (30 November)

+
+student directed session

+
+

-

+
+

9 (7 December)

+
+student directed session

+ +
+

-

+
+

10 (14 December)

+
+Cyborg Futures:
Mini-manifestos + +
+

all

+
+ + +

+ + +  + +

+ + + + + +

+

Any problems? Contact Ann Kaloski or Julie Palmer

+ +
+ + + + + + + + + + +
+ + + + + + diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgweek2.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgweek2.html new file mode 100644 index 0000000..1b511d1 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgweek2.html @@ -0,0 +1,210 @@ + + + + +Cyborg Perspectives week two + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

CYBORG PERSPECTIVES: women and technology today

+ +
+ +

MENU :: + + +OVERVIEW :: + +RESOURCES :: + +DISCUSSION :: + +TIMETABLE :: + + MANIFESTO :: + +MENU

+ +
+

 

+ +
+ +

WEEK :: + +TWO :: +THREE :: +FOUR :: +FIVE :: +SIX :: +SEVEN :: +EIGHT :: +NINE :: +TEN :: +WEEK + +

+ +
+

 

+ +
+ + +

taught by Ann Kaloski and Julie Palmer, Centre for Women's Studies, autumn term 2005.

+ +
+HOME + +

WEEK TWO
+CYBORG EXPERIENCES: WRITING OUR TECHNOBIOGRAPHIES

+ + +

The ideologically charged question of what counts as daily activity, as experience, can be approached by exploiting the cyborg image. Feminists have recently claimed that women are given to dailiness, that women more than men somehow sustain daily life, and so have a privileged epistemo-logical position potentially. There is a compelling aspect to this claim, one that makes visible unvalued female activity and names it as the ground of life. 'Manifesto' p180

+ + + + +

The aim of this session is to encourage awareness of the prevalence of technology in our daily lives, and to think about the ways in which technology interacts with our everyday sense of self. By writing our own stories we shall, perhaps, begin to develop an understanding of relationships between technology, subjectivity and knowledge, three key concepts in Donna Haraway's 'Cyborg Manifesto'.

+ + +

The key reading each week is compulsory. For this first week, we ask you only to read three short chapters, two from Cyborg Lives, and one from Writing Machines. These texts will help explain what is meant by a 'technobiography'. Please then write your own technobiography. Only if there is time after this do you need to read any of the 'additional' texts, although you might find it useful to at least skim these before the class session. You may wish to return to these additional texts as the module proceeds. Any problems, or if this week's work isn't clear, please contact Julie or Ann.

+ +
+ +  + +
+ +

KEY READING:

+ + + +

Flis Henwood, Helen Kennedy, Nod Miller (eds) Cyborg Lives: Women's Technobiographies (Raw Nerve, 2001); read especially a) 'Cyborg Lives in Context', which is a useful introduction to the authors' project and also to our own workshop, and b) at least one of the other chapters that use the idea of Haraway's cyborg to examine everyday technologies - particularly recommended is 'Plugging into the mother country'.

+ + +

N Katherine Hayles, 'Media and Materiality' in her Writing Machines (MIT Press, 2002). Hayles uses pseudo-autobiography to take the reader through some of the dilemmas of reading digital fiction, and you might be interested in her chapter 'Media and Materiality' which recounts a literary scholar's first encounters with computers. And do*look* at the book, and consider the way computer-mediated technologies are influencing print production.

+ + +

EXERCISE:

+ +

Before the next session:
+ +1. Chose one day and jot down all the technologies you use throughout that day.
+2. Write about your relationship to one of these technologies. We're not looking for polished pieces of work, but rather a sense of how you engage with the technologies and a feeling for some of the excitements, problematics and ambivalences. Be as imaginative as you like, and allow yourself to reflect on the cultural as well as the personal aspects of your usage. Write about a page/ 300 words, and pictures and/or recorded sound are also welcome, but by no means obligatory!

+ +

In class:

+ +

Everyone will get the chance to read out their piece and to respond to all the others. We'll think about the range of the technologies, and the issues raised by our technobiographies and - along the way - we'll start to get to know each other.

+ + + + +

After class:

+ +

Please upload your technobiography to the Option module yahoo discussion list (url available soon) and you may find yourself returning to this work for future class exercises or assignments.

+ + + +

ADDITIONAL READING:

+ +

Lynn Cherny and Elizabeth Reba Weise (eds) Wired women: gender and new realities in cyberspace (Seal Press, 1996)

+ +

Jennifer Terry and Melodie Calvert (eds) Processed lives: gender and technology in everyday life (Routledge, 1997)

+ +

Sue Thomas Correspondence (excerpt) pp 195-208. In Mary Flanagan and Austin Booth (eds) Reload: Rethinking women and cyberculture (MIT Press, 2002). Full novel available from AKN

+ + + + + + + + + +
+

Any problems? Contact Ann Kaloski or Julie Palmer

+ +
+ + + + + + + + + + +
+ + + + + + diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgweek3.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgweek3.html new file mode 100644 index 0000000..8a1530c --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgweek3.html @@ -0,0 +1,197 @@ + + + + +Cyborg Perspectives week three + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

CYBORG PERSPECTIVES: women and technology today

+ +
+ +

MENU :: + + +OVERVIEW :: + +RESOURCES :: + +DISCUSSION :: + +TIMETABLE :: + + MANIFESTO :: + +MENU

+ +
+

 

+ +
+ +

WEEK :: + +TWO :: +THREE :: +FOUR :: +FIVE :: +SIX :: +SEVEN :: +EIGHT :: +NINE :: +TEN :: +WEEK + +

+ +
+

 

+ +
+ + +

taught by Ann Kaloski and Julie Palmer, Centre for Women's Studies, autumn term 2005.

+ +
+HOME + +

WEEK THREE
+CYBORG MANIFESTO

+ +
+ +

The aims of this session are: +
        1. to start to become familiar with 'A Cyborg Manifesto'; +
        2. to develop an understanding of the main themes, tropes, and arguments of the essay; +
        3. to begin to assess different ways of approaching the essay. +

+ + +

This essay has been a richly generative text for feminism since it was first written in the 1980s to encourage US socialist feminists to take account of the radical, political and cultural effects of computer mediated technology.

+ +

check out the wiki at < http://cyborg.wikispaces.com/ >

+ +
+ +  + +
+ +

KEY READING:

+ + + +

Donna Haraway 'A Cyborg Manifesto: Science, Technology, and Socialist-Feminism in the Late Twentieth Century'. In her Simians, Cyborgs and Women: The Reinvention of Nature, Free Association Books, 1991. Also available online, with page numbers from Simians: http://www.stanford.edu/dept/HPS/Haraway/CyborgManifesto.html
Live link on main menu.

+
+ +

Please read the essay as carefully as possible. It may seem quite difficult at first, as Haraway deploys references from many different fields of knowledge - biology, science fiction, feminist theory, post-colonial theory, science, politics, technology - and not all of her allusions will be familiar, or accessible. Such a lively essay can be read in multiple ways, and you are encouraged to find your own routes through her arguments. For instance, try reading the piece as 'poetry' paying attention to your responses - both emotional and intellectual - and to the associations that arise from your reading.

+
+ +

EXERCISE:

+ +

Before the next session:
+ +1. Pick out five phrases from the essay, write these out and think about how they relate to one another, and how they help construct Haraway's thinking.
+2. Write or type your chosen phrases onto pieces of paper (1/4 of A4) and bring them to class. + +

+ +

In class:

+ +

Come prepared to talk (for no more than 5 minutes) about the phrases you have selected and the connections between them.

+ + +
+ + +

ADDITIONAL READING:

+ +

Browse the general bibliography or library catalogue for additional texts directly related to the manifesto. See what interests you and what might add to your understanding of the key text. Read at least one additional piece.

+
+
+

Any problems? Contact Ann Kaloski or Julie Palmer

+ +
+ + + + + + + + + + +
+ + + + + + diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgweek4.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgweek4.html new file mode 100644 index 0000000..c8323ae --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgweek4.html @@ -0,0 +1,210 @@ + + + + +Cyborg Perspectives week four + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

CYBORG PERSPECTIVES: women and technology today

+ +
+ +

MENU :: + + +OVERVIEW :: + +RESOURCES :: + +DISCUSSION :: + +TIMETABLE :: + + MANIFESTO :: + +MENU

+ +
+

 

+ +
+ +

WEEK :: + +TWO :: +THREE :: +FOUR :: +FIVE :: +SIX :: +SEVEN :: +EIGHT :: +NINE :: +TEN :: +WEEK + +

+ +
+

 

+ +
+ + +

taught by Ann Kaloski and Julie Palmer, Centre for Women's Studies, autumn term 2005.

+ +
+HOME + +

WEEK FOUR
+CYBORG IMAGININGS: TAKING PHOTOGRAPHS/ USING VISION

+ +

Single vision produces worse illusions than double vision or many-headed monsters. 'Manifesto', p.154.

+ + + +

The overall aim of this session is to explore Haraway's ideas of objectivity and subjectivity. We're going to approach this by 'entering into the theory' and taking literally Haraway's metaphorical construction of vision. Our strategy is to play with the idea of 'situated' and 'multiple' seeing by a) taking photographs and b) using the images alongside Haraway's texts to produce a visual essay which will then be discussed in class.

+ + + +
+ +  + +
+ +

KEY READING:

+ + + +

Donna Haraway 'Situated Knowledges: The science question in feminism and the privilege of particle perspective' in her Simians, Cyborgs and Women: The re-invention of nature (Free Association Books, 1991).

+ + + + +
+ +

EXERCISE:

+ +

During the week, your task will be to take photos of 'cyborgs' in whatever sense you wish to use that term, and to then produce a short visual essay as a way of teasing out your responses to Haraway's work. This assignment does not have to be autobiographical, although it may be. You may, for instance, wish to examine ideas of global capitalism and consumer goods, or knowledge transfer. You should also re-read the Manifesto as well as your technobiography, if appropriate. +

+ +

This exercise may be undertaken either collaboratively or individually. +

+

At some stage, either before or after taking the photos, think of a question about cyborgs that you wish to address. You might like to use a quote from the manifesto, turn it into a question if necessary and then investigate it via your visual essay. You don't need to 'answer' the question but, as with all essay questions, think of ways to respond to and open up the question. + +

+
+

In class:

+ +

Bring along your visual essay and be prepared to discuss your work alongside those of your classmates.

+ + +
+ +

After class:

+ +

If you wish, we can display your essays in the web room.

+ +
+ +

ADDITIONAL READING:

+ +

Jo Spence and Joan Solomon (eds) What can a woman do with a camera (Scarlet Press. 1995) To help inspire your photographic sensibility.

+ +

Celia Lury Prosthetic Culture: Photography, memory and identity (Routledge, 1998). This is quite a difficult theoretical book which deals with, among other things, the effects of digital imaging on what it means to be human. You might like to start with sections 'The reversal of motivation' and 'Backstories and depth of character' in ch 8 'Humans and non-humand and heroes' (pp185-193) and then see if you want to go further. Don't worry unduly if you don't 'get' it, Lury's ideas are just one way of viewing cyborg-ness, and there are plenty of others around. +

+ + +
+ + + + + +
+

Any problems? Contact Ann Kaloski or Julie Palmer

+ +
+ + + + + + + + + + +
+ + + + + + diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgweek5.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgweek5.html new file mode 100644 index 0000000..4bb192e --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgweek5.html @@ -0,0 +1,236 @@ + + + + +Cyborg Perspectives week five + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

CYBORG PERSPECTIVES: women and technology today

+ +
+ +

MENU :: + + +OVERVIEW :: + +RESOURCES :: + +DISCUSSION :: + +TIMETABLE :: + + MANIFESTO :: + +MENU

+ +
+

 

+ +
+ +

WEEK :: + +TWO :: +THREE :: +FOUR :: +FIVE :: +SIX :: +SEVEN :: +EIGHT :: +NINE :: +TEN :: +WEEK + +

+ +
+

 

+ +
+ + +

taught by Ann Kaloski and Julie Palmer, Centre for Women's Studies, autumn term 2005.

+ +
+HOME + +

WEEK FIVE
+CYORG BODIES: ULTRASOUND CASE STUDY

+ +

It is certainly true that postmodernist strategies, like my cyborg +myth, subvert myriad organic wholes . . . In short, the certainty of what counts as nature - a source of insight and promise of innocence - is undermined, probably fatally. 'Manifesto' pp152-3.

+ + + + + +

Foetal images are very common in British popular culture and they have been the subject of much feminist critique in the field of reproductive politics. The techno-foetus is a cyborg that is not often named as such. The aim of this session is to think about foetal imaging in relation to Haraway's cyborg figure and see how this might change our thinking and offer new possibilities. We will pay particular attention to the usefulness and limitations of the cyborg metaphor in this case.

+ + + +
+ +  + +
+ +

KEY READING:

+ + + +

Donna J. Haraway. 1997. 'Fetus: The Virtual Speculum in the New World Order' In Modest Witness pp. 173-212.
+This is an opportunity to read some more of Haraway's work. In this piece Haraway situates the foetus or techno-foetus within contemporary visual culture, within technoscientific culture and within feminist reproductive politics. +

+ +

Marilyn Maness Mehaffy. 2000. Fetal Attractions: The limit of Cyborg Theory. Women's Studies 29: 177-194.
+This introduces some of the ways in which the foetal image is used in popular culture. Mehaffy engages with Haraway's cyborg, and explicitly addresses the limitations of cyborg theory. Try and read this piece critically, and keep your own understanding of the Manifesto in mind.

+ +

Also, spend some time looking at this website: +Joseph Woo. n.d. Obstetric Ultrasound: A Comprehensive Guide Available online < http://www.ob-ultrasound.net/ > +This will tell you more than you will ever need to know about ultrasound technology! But it is a good way to learn about the technology and how it works.

+ + +
+

QUESTIONS TO THINK ABOUT AS YOU READ:

+

Do you agree that the foetus is a cyborg? +Which boundaries are blurred and which are constructed in foetal imaging? (think about the female body but also think about nature/culture, self/other, science/art etc. . . )

+ +

What are the limits of the cyborg metaphor in this case?

+ +

Mehaffy contends that the 'cyborg body is not intrinsically exempt from appropriation and recontainment within hegemonic ideologies of the body'. Do you agree?

+ +

Could it be politically useful to think about the foetus as a cyborg? In what way?

+ +

Feminists have struggled to combat the political (mis)use of foetal images with something equally powerful, with little success. Do you have any ideas?

+ + +
+ + +

EXERCISE:

+ +

Before the next session:
+1. Find an example of an obstetric ultrasound image. +You might find them in newspapers and magazines, on the Internet, in advertisements for scanners or clinics. (If you have difficulty finding something, come and see me)
+2. Read it critically. Use the essential reading to inform your work as well as thinking back to the 'Cyborg Manifesto' and 'Situated Knowledges'. Come to class prepared to share your thoughts with the group.

+ +

+ +
+ +

SUGGESTIONS: Think about where the boundaries are in the image? What is excluded, what is included? Can you see the technology that produced the image? What might an mechanical/ technical understanding of how obstetric ultrasound works add to your reading? 'How is visibility possible? For whom, by whom, and of whom?' (Haraway p. 202) Does the image look like a cyborg? How is the cyborg nature of the foetus represented or hidden?

+ + +
+ + + +

ADDITIONAL READING:

+ +

Flis Henwood, 2001. In/different Screening: Contesting Medical Knowledge in an Antenatal Setting. In Cyborg Lives? Women's Technobiographies ed. Flis Henwood, Helen Kennedy and Nod Miller, 37-50. York: Raw Nerve Books Ltd.

+ +

JaneMaree Maher, 2002. 'Towards a Placental Body' Feminist Review 72: 95-107.

+ +

Lisa Mitchell and Eugenia Georges. 1998. Baby's First Picture: The Cyborg Fetus of Ultrasound Imaging. In Cyborg Babies: From Techno-sex to Techno-tots eds. Robbie Davis-Floyd and Joseph Dumit, 105-124. New York: Routledge.

+ +

Rosalind Pollack Petchesky, 1987. Foetal Images: The Power of Visual Culture in the Politics of Reproduction. In Reproductive Technologies: Gender, Motherhood and Medicine ed. Michelle Stanworth, 57-80. Cambridge & Oxford: Polity Press in association with Basil Blackwell.

+ +

Further reading available from Julie. + +

+ + +
+ + + + + +
+

Any problems? Contact Ann Kaloski or Julie Palmer

+ +
+ + + + + + + + + + +
+ + + + + + diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgweek6.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgweek6.html new file mode 100644 index 0000000..a498eae --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgweek6.html @@ -0,0 +1,236 @@ + + + + +Cyborg Perspectives week six + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

CYBORG PERSPECTIVES: women and technology today

+ +
+ +

MENU :: + + +OVERVIEW :: + +RESOURCES :: + +DISCUSSION :: + +TIMETABLE :: + + MANIFESTO :: + +MENU

+ +
+

 

+ +
+ +

WEEK :: + +TWO :: +THREE :: +FOUR :: +FIVE :: +SIX :: +SEVEN :: +EIGHT :: +NINE :: +TEN :: +WEEK + +

+ +
+

 

+ +
+ + +

taught by Ann Kaloski and Julie Palmer, Centre for Women's Studies, autumn term 2005.

+ +
+HOME + +

WEEK SIX
+CYBORG SUBJECTIVITIES: PATCHWORK GIRL

+ +

The cyborg is a matter of fiction and lived experience that changes what counts as women's experience in the late twentieth century. This is a struggle over life and death, but the boundary between science fiction and social reality is an optical illusion. 'Manifesto' p150. + +
+ +  + +
+ +Cyborg writing must not be about the Fall, the imagination of a once-upon-a-time wholeness before language, before writing, before Man. Cyborg writing is about the power to survive, not on the basis of original innocence, but on the basis of seizing the tools to mark the world that marked them as other. 'Manifesto' p175.

+ + + +

This session has two main objectives: firstly to consider Jackson's PG as a model of cyborg subjectivity and also to become familiar with hypertext fiction and think about its specificities

+ + + +
+ +  + +
+ +

KEY READING:

+ + + +

Shelley Jackson. 1995. Patchwork Girl: Or, a Modern Monster Watertown, Mass.: Eastgate Systems.
+This is the hypertext piece. Available on CD-Rom from the library or CWS.

+ +

Shelley Jackson. 1997. 'Stitch Bitch: The Patchwork Girl' http://web.mit.edu/m-i-t/articles/index_jackson.html

+ +

Jenny Sundn. 2003. 'What if Frankenstein('s Monster) was a Girl? Typing Female Machine Bodies in the Digital Age' Available: http://www.5thfeminist.lu.se/program/pdfs/sundenkeynote.pdf

+ + + +
+ + +

EXERCISES:

+ +

1. Electronic hypertext might be new to you. Make some notes about your reading experience. How did you find PG? Was it easy or difficult to read? Where did you start and how did you decide when you had finished?

+ +

2. How does Jackson describe hypertext in Stitch Bitch? Collect some quotations.

+
+

Questions to think about:

+

Consider this quotation from Hayles:

+ +

'Because electronic hypertexts are written and read in distributed cognitive environments, the reader necessarily is constructed as a cyborg, spliced into an integrated circuit with one or more intelligent machines. To be positioned as a cyborg is inevitably in some sense to become a cyborg, so electronic hypertexts, regardless of their content, tend towards cyborg subjectivity. Although this subject position may be evoked through the content of print texts, electronic hypertexts necessarily enact it through the specificity of the medium' (Hayles 2000, 13).

+ +

Did you feel that the text positioned you as a cyborg? What might this mean?

+
+

What kinds of meanings are produced by reading PG alongside the Cyborg Manifesto?

+ +

What kind of subjectivity does Jackson describe? Illustrate your answer with quotations from PG. + +What do the seams/scars signify in the text? How do they function in Jackson's model of subjectivity?

+ +

Jenny Sundn reconfigures Haraway's cyborg as a 'she-borg'. What difference does this make in her argument?

+ + + +
+ + + +

ADDITIONAL READING:

+ +

Rosi Braidotti. 1994. Nomadic Subjects: Embodiment and Sexual Difference in Contemporary Feminist Theory. New York: Colombia University Press. Chapter 4: Re-figuring the Subject. (To contextualise the cyborg in feminist work about subjectivity)

+ +

Shelley Jackson http://www.ineradicablestain.com/ (Shelley Jackson's homepage)

+ +

N. Katherine Hayles. 2000. Flickering Connectivities in Shelley Jackson's Patchwork Girl: The Importance of Media-Specific Analysis. Postmodern Culture 10(2) Available: http://www3.iath.virginia.edu/pmc/text-only/issue.100/10.2hayles.txt

+ +

N. Katherine Hayles. 2002. Writing Machines (for a more in depth consideration of hypertext fiction and its relationship with print fiction)

+ +

George P. Landow. 'Stitching Together Narrative, Sexuality, Self: Shelley Jackson's Patchwork Girl' Available: http://www.cyberartsweb.org/cpace/ht/pg/pgmain.html

+ +

Janet Murray, 1998. Hamlet on the Holodeck: the future of narrative in cyberspace. Cambridge, Mass: MIT Press. (First steps in hypertext fiction). + + +

+ + +
+ + + + + +
+

Any problems? Contact Ann Kaloski or Julie Palmer

+ +
+ + + + + + + + + + +
+ + + + + + diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgweek789.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgweek789.html new file mode 100644 index 0000000..45c098b --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/cyborgweek789.html @@ -0,0 +1,286 @@ + + + + +Cyborg Perspectives week seven eight nine + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

CYBORG PERSPECTIVES: women and technology today

+ +
+ +

MENU :: + + +OVERVIEW :: + +RESOURCES :: + +DISCUSSION :: + +TIMETABLE :: + + MANIFESTO :: + +MENU

+ +
+

 

+ +
+ +

WEEK :: + +TWO :: +THREE :: +FOUR :: +FIVE :: +SIX :: +SEVEN :: +EIGHT :: +NINE :: +TEN :: +WEEK + +

+ +
+

 

+ +
+ + +

taught by Ann Kaloski and Julie Palmer, Centre for Women's Studies, autumn term 2005.

+ +
+HOME + +

WEEKS SEVEN, EIGHT and NINE
+STUDENT DIRECTED SESSIONS

+
+ +

IMPORTANT: +Please read these guidelines carefully, and follow them!

+ +

The student-directed sessions offer everyone the opportunity to devise a workshop, presentation of other class activity which will focus on a specific theme, argument, image or quotation from the 'manifesto'.

+

The aims of these sessions are:
+ a) to provide space in the module for everyone to follow their own interests
+b) to enable everyone to develop skills in facilitating a session
+c) to offer everyone the chance to widen their understanding of the 'manifesto' by participating in each others sessions.
+d) to allow those whose course profile requires an assignment to explore provisional ideas for this with the whole class.

+ +

All student-directed sessions should be designed to stimulate debate. Once you have identified your particular topic, spend some time thinking about what you know, what you need to find out, what the important questions are, how much you can offer the class and what you would like them to explore with you.

+ +

You may present your work in any suitable way, for instance - as a short paper as a series of workshop exercises, as a debate between two people. You may work by yourself, or with someone else. Each person will have 50-55 minutes for their session.

+ +

TWO WEEKS BEFORE YOUR SESSION
+ +Arrange a short turorial with Julie or Ann to discuss your topic.

+ +

ONE WEEK BEFORE YOUR SESSION
+Offer your classmates a short worksheet outlining:
+a) your provisional topic
+b) how this relates to the concerns of the manifesto (you may, for instance, offer a quotation or two, or perhaps a paragraph of explanation
+c) one or two key texts to read
+d) your main question(s), if you have come up with any at this stage.
+If you send this worksheet to Ann electronically, she will add it to this web site.

+ +

SUGGESTIONS FOR STUDENT-DIRECTED SESSIONS

+

What follows are some sample ideas to set you thinking. You may use or amend these, or come up with your own. Don't forget to follow the guidelines above, and to arrange a for a tutorial with Ann or Julie beforehand.

+ + + +

QUOTE:
+ 'This chapter is an effort to build an ironic political myth faithful to feminism, socialism, and materialism. Perhaps more faithful as blasphemy is faithful, than as reverent worship and identification.' p149.

+ + +

QUESTION:
+What kinds of new myths might be developed in the twenty-first century? Could you develop your own mythical / poltical/ ironical essay, both 'faithful' and 'blasphemous'?

+ +
+ +

QUOTE:
+'Writing, power, and technology are old partners in Western stories of the origin of civilization, but miniaturization has changed our experience of mechanism. Miniaturization has turned out to be about power; small is not so much beautiful as pre-eminently dangerous, as in cruise missiles. Contrast the TV sets of the 1950s or the news cameras of the 1970s with the TV wrist bands or hand-sized video cameras now advertised. Our best machines are made of sunshine; they are all light and clean because they are nothing but signals, electromagnetic waves, a section of a spectrum, and these machines are eminently portable, mobile -- a matter of immense human pain in Detroit and Singapore.' p153

+ +

QUESTION:
+In what ways is 'miniaturization [. . . ] about power'? Whose power? What are the ambivalences in the power relationships when thinking about, for instance, cell phone cameras and CCTV surveillance?

+ +
+
+ +

QUOTE:
+'Ironically, it might be the unnatural cyborg women making chips in Asia and spiral dancing in Santa Rita jail whose constructed unities will guide effective oppositional strategies.'p154 + +

QUESTION:
+Haraway's use of 'Third World Women' has been much criticised, although critics such as Chela Sandoval have found her inspiring. What do you see as the value and limitations of the Haraway's strategy of networking in 'Third World' women workers? You might wish to approach this using an example you are familiar with.

+ +
+ +

QUOTE:
+' . . . a cyborg world might be about lived social and bodily realities in which people are not afraid of their joint kinship with animals and machines, not afraid of permanently partial identities and contradictory standpoints.'p154 + +

QUESTION:
+Explore this notion, using a concrete example to test the valiency of Haraway's argument

+ +
+ +

QUOTE:
+ +'It has become difficult to name one's feminism by a single adjective -- or even to insist in every circumstance upon the noun. Consciousness of exclusion through naming is acute. Identities seem contradictory, partial, and strategic. With the hard-won recognition of their social and historical constitution, gender, race, and class cannot provide the basis for belief in 'essential' unity. There is nothing about being 'female' that naturally binds women. There is not even such a state as 'being' female, itself a highly complex category constructed in contested sexual scientific discourses and other social practices. Gender, race, or class consciousness is an achievement forced on us by the terrible historica experience of the contradictory social realities of patriarchy, colonialism, and capitalism. And who counts as 'us' in my own rhetoric? Which identities are available to ground such a potent political myth called 'us', and what could motivate enlistment in this collectivity? Painful fragmentation among feminists (not to mention among women) along every possible fault line has made the concept of woman elusive, an excuse for the matrix of women's dominations of each other. For me - and for many who share a similar historical location in white, professional middle-class, female, radical, North American, mid-adult bodies - the sources of a crisis in political identity are legion. The recent history for much of the US left and US feminism has been a response to this kind of crisis by endless splitting and searches for a new essential unity. But there has also been a growing recognition of another response through coalition - affinity, not identity.'p155 + + +

QUESTIONS:
+There is a great deal here that you may wish to explore:
+1. What is the usefulness or otherwise of a cyborg identity for feminist purposes? What are Haraway's arguments; how much do you agree with them, and what counter-arguments might you make?
+2. How might 'affinity' work as a political strategy? How is it cyborgian?
+3. How do Haraway's arguments work, or not, for those not directly included in her deliniation of 'us'? +

+ +
+ + +

QUOTE:
'Taxonomies of feminism produce epistemologies to police deviation from official women's experience'.p156

+ + +

QUESTION:
+How might cyborgian epistemology challenge this?

+ +
+ +

QUOTE:
+'Why should our bodies end at the skin, or include at best other beings encapsulated by skin? 'p178

+ +

QUESTION:
+ +Consider the ways this idea is developed in real time in online virtual cities such as LambdaMOO, where computer users write their own body, homes, genders (there is a choice of 10) in text. Go to < telnet://lambda.moo.mud.org:8888 > and type in "connect guest".

+ +
+ + +

QUOTE:
+ +'One is too few, and two is only one possibility'.p180

+ +

QUESTION:
+How does Harway's idea of the cyborgs challenge dualistic thought? Offer a close textual reading of the 'manifesto'.

+ + + +
+ + +

QUOTE:
+ +'The cyborgs populating feminist science fiction make very problematic the statuses of man or woman, human, artefact, member of a race, individual entity, or body. Katie King clarifies how pleasure in reading these fictions is not largely based on idendfication.' p178

+ +

QUESTIONS:
+1. Taking a science fiction text of your choice, offer a close textual reading of what such works have to offer cyborg theory.
+2. You may, if you wish, like to explore what kinds of pleasure such readings afford, bearing in mind Katie King's comment.
+3. How do Haraway's arguments work when applied to digital fiction, a genre she could hardly imagine in the 1980s.
+

+ +
+ + +

QUOTE:
+ +'The poetry and stories of US women of colour are repeatedly about writing, about access to the power to signify; but this dme that power must be neither phallic nor innocent. Cyborg writing must not be about the Fall, the imagination of a once-upon-a-time wholeness before language, before writing, before Man. Cyborg writing is about the power to survive, not on the basis of original innocence, but on the basis of seizing the tools to mark the world that marked them as other. p175

+ +

QUESTION:
+How do women in different cultures use writing and story-telling as a tool of power? Focussing on one or two specific examples, discuss Haraway's argument that such writing 'must not be about the Fall [. . . but about ] 'seizing the tools to mark the world that marked them as other'. + + + + + +
+ + + +

+

Any problems? Contact Ann Kaloski or Julie Palmer

+ +
+ + + + + + + + + + +
+ + + + + + diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/down.gif b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/down.gif new file mode 100644 index 0000000..550fb74 Binary files /dev/null and b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/down.gif differ diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/elearning.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/elearning.html new file mode 100644 index 0000000..f362318 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/elearning.html @@ -0,0 +1,183 @@ + + +e-learning in CWS + + + + + + + + + + + +
+ + + + + + +
+ +

  e-learning at
  the centre for women's studies
  university of york
  england +

+ +

  contact: Ann Kaloski       email: eakn1@york.ac.uk       tel: x3671/4

+ + +

information for staff

+ + +

links:
+Centre for Women's Studies
+Wired Women's Studies index

+

+ + + + + + +

These pages offer information about the progress of e-learning within CWS. They will be updated as new ideas are mooted and new initiatives developed. As well as keeping us in the picture as to what's happening in women's studies e-learning, I hope they will also provide inspiration and support for new online teaching strategies.

+ +

Please send me details of any e-learning you offer, or are planning to offer, to Centre students, as well your comments - positive and negative - about the whole area of online pedagogy.

+ +

If there is enough demand I could organise a short women's studies workshop to address some of the issues involved; let me know if you're interested.

+ +

contents

+ +

+What's on offer in CWS +
+University Policy +
+Starting with VLEs +
+Some issues around assessment of electronic assignments + + + + +

What's on offer in CWS

+ +

+ +Wired Women's Studies is an initiative which aims to develop web skills, critique and theory in Women's Studies in the Humanities, with a current focus on contemporary literary and cultural studies. The project is concerned both with theoretical investigation into 'new media' and, of interest here, with extending the use of e-learning and assessing the value of various strategies.

+ +
    +E-learning aspects of Wired Women's Studies: +
  1. An option module Feminist Perspectives on Web Fiction. +
  2. Sessions on theory and methodology for the Master's programme (eg cyberfeminism; web page design) as well as digitally-based class assignments which are integrated into more 'traditional' teaching sessions (eg the body; popular culture). +
  3. MPhil/ PhD supervision which incorporates aspects of e-learning (online discussion and journaling). + +
  4. Online worksheets for topics in the Females, Femininity and Feminism modules (eg sexualities). + +
  5. Supervision and assessment of electronically-submitted master's assignments and dissertations. +
  6. A small web room with both electronic and print resources (networked computers, printing and scanning facilities, books and magazines). Incidentally, this room is deliberately designed to offer a relaxed and creative environment, with pictures, flowery chairs and plants, and is not set out as a standard 'computer room'. + +
+ +

Let me know of any other e-learning schemes for Women's Studies students and I will add them to this page.

+ +

back to contents

+ + +

University Policy

+ +

The University is currently bidding for resources to develop a university-wide Virtual Learning Environment (VLE). This would be a centrally supported and integrated system with the aim of enhancing existing teaching and learning provision within a variety of departments.

+ +

The Online Learning Strategy Implementation Group (OLSIG) have asked for departmental feedback (by 15th January 2004). Although some applications within a VLE will be fairly standard, some will be department-specific, and OLSIG are keen to identify specific departmental needs. In addition, it is likely that we will soon be required to develop a departmental e-learning policy.

+ + + + +

+ + +Details of the University's online learning strategy:
http://www.york.ac.uk/univ/org/learntech/olsig/strategyfinal.rtf

+ +

+Details of the internal Virtual Learning Conference:
+ http://www.york.ac.uk/univ/org/learntech/VLEConference.htm

+ +

The univeristy's Learning Technologist is Richard Walker, email: rw23; tel: x3850.

+ + +

back to contents

+ + +

Starting with a VLE

+
    These are three key areas where I think a Virtual Learning Environment (VLE) could enhance post-graduate education in CWS: +
  1. INFORMATION:
  2. + +
      +
    • Course content: print and online bibliographies, including links to useful sites; course worksheets.
    • +
    • Class management: 'news' and bibliographic updates; calendar.
    • +
    + + +
  3. COMMUNICATION: class discussion groups; real-time chat; archives of student-tutor and student-student discussion.
  4. +
  5. CREATIVE USES: student web pages and other publications; online journals (weblogs).
  6. +
+ + +

Email your ideas

+ +

 

+ +
    OLSIG Guidelines for developing a Departmental Learning Strategy + +
  1. Pedagogical aims and objectives for e-learning within your subject area.
  2. +
  3. The range of online support that will be offered to students.
  4. +
  5. The relevance of online support to the students attracted to the discipline.
  6. +
  7. The contribution of e-learning to individual study needs.
  8. +
  9. Accessibility issues associated with the discipline.
  10. +
  11. Skills (including computing and information technology) which students will require to work online.
  12. +
  13. Relevant activities which may be supported online.
  14. +
  15. The assessment process.
  16. + +
+

back to contents

+ +

Some issues around assessment of electronic assignments

+ +
    + +
  1. Electronic assignments, mean, in practice, work submitted on a CDROM (although the work may also be available on the web). Using a CDROM ensures that work cannot be tampered with after submission and can be stored as 'hard-copy'. In all other ways (length, criteria for submission and assessment) the assignment will be similar to a paper submission.
  2. + +
  3. So far assigments have been in the field of contemporary literary and cultural studies, and have not been readily transferable into paper submissions.
  4. + +
      Media-specific techniques include: +
    • hypertext +
    • ideas offered in small chunks or 'lexias' +
    • movement on the page/ screen (applets & javascript) +
    • 3D textual landscape +
    • interactivity between author and reader +
    • self-conscious and unfamiliar design (of pages, paragraphs, sections & citations) +
    • complex relationship between words and images
    + +
  5. Assignments produced in electronic form should be connected to, and aim to enhance, +the topic of the dissertation or essay. This does not mean that such work should be only about new media technology, but there should be an intellectual rationale for not offering assignments in paper form. Creative electronic projects may be useful for, in particular, a) critical explorations of electronic fiction and b) theoretical investigations that include cultural aspects of the web, but they should not be seen as restricted to these areas.
  6. + +
  7. Issues for examination include: +
      +
    • reading onscreen work +
    • assessing relatively unfamiliar 'new' media (how different from examining interdisciplinary essays written in a traditional form? How different from examining 'creative' pieces of work?) +
    • evaluating students technical skills (how much help from others, if any, is acceptable? how much weight, if any, should be given to technical expertise?) +
    • need for examiners to have appropriate hardware (PC/ MAC systems, up- to-date, etc..) and software (for reading 'advanced' pieces that may use sound and images alongside relatively straightforward written pages).
+ + +

back to contents +
top of page +
 
+

+ +
+ +
+ + + diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/electronic.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/electronic.html new file mode 100644 index 0000000..339dd8a --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/electronic.html @@ -0,0 +1,126 @@ + + +Feminist Perspectives on Web Fiction: electronic fiction + + + + + + + + + + + + + + +
+FEMINIST PERSPECTIVES
ON
WEB FICTION
+ +
 
+wws index
+ web fiction home
+guidelines
+timetable
+bibliography
+ discussion list +LambdaMOO
+week two
+week three
+week four
+week five
+week six
+
week seven
+week eight
+week nine
+week ten + + +
 
+contact:
+Ann Kaloski
+eakn1 at york
dot ac dot uk
+
+Centre for Women's Studies
+Grimston House + +
tel: x3671/4 + +
+ +

Electronic
Fiction

+
+ + + + +

What electronic fiction have you read over the course? What do you like? What pleasures and problems have you had in reading different sorts of fiction?

+ +

For this week's work I would like everyone to post on Yahoo the address of at least one piece of web fiction they find interesting, with a specific question that will help open up class discussion. Please post your work by Friday 28th February.

+ +

I will add the urls and the questions to this worksheet, and we will all then spend some time reading and evaluating the sites as a prelude to class discussion.

+ + +

You might find it useful to look back at the worksheets for writing web pages, and to consider, especially, the ideas about electronic writing raised at the start of lessons two, three and four. Please also continue with your 'theory' reading so that you can refer to different sorts of perspectives - feminist and otherwise - on web fiction.

+
+

Andrea's site:


+

Christy Sheffield Sanford The Roots of Nonlinearity: Toward a Theory of Web-Specific Art-Writing
(opens in new browser)

+
    +A few questions that she touches upon: + +
  • What does `nonlinear' mean? I've had a definition in my head this +whole time, but it didn't occur to me until today that there +could be so many different meanings/connotations. I thought it might +be constructive if everyone could come up with a definition or jot +down five (or more) words that you think are related +to `nonlinearity.' +
+
    Some other questions to think about: +
  • Is this type of writing satisfying? Why or why not? +
  • Is it useful (For the writer? For the reader?) +
+ +
+

Melanie's site:


+

Jacqueline Gross Modern Keller (opens in new browser)

+ +
    +questions: + +
  • Did you actually follow the story??!!?? (see also the site we used +for the history seminar with Helen and Emma...which I've lost the +reference for in the junk-shop that is my bedroom...sorry!) + +
  • Do the fonts used on the opening page, and the layout of the fonts +make it easier/harder for you to read online. Imagine this was your +first encounter with reading on the web, would this site encourage +you to do more? Is this fiction easy to read online? + +
  • What are the benefits/downfalls of this site using pictures. Do they help the narrative? + +
  • The site uses many interesting and fascinating noises, sounds and +tunes. How effective are these in adding something to the narrative +that wouldn't be gained just by using text? Imagine (or maybe its +true) that you don't have sound on your computer, can the fiction +still be read without the sounds? + +
  • What are the Content vs Aesthetic ethics of web sites? Are both as +important as each other? Can a page's content be overshadowed by the +aesthetics? Is a site's content nothing without visuals? + +
  • what things would +you do differently if you were desgning the layout and content of the +site, if anything. +
+ + + + + +
+  +
+ + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/embossline.gif b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/embossline.gif new file mode 100644 index 0000000..3db3f8a Binary files /dev/null and b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/embossline.gif differ diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/fpowf.css b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/fpowf.css new file mode 100644 index 0000000..bce5431 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/fpowf.css @@ -0,0 +1,48 @@ + +BODY {font-family: Verdana, sans-serif; font-size: 10pt; font-weight: 400; margin: 2pc;} + +TD {font-family: Verdana, sans-serif; font-size: 10pt; font-weight: 400; color: #993333;} + +P {font-family: Verdana, sans-serif; font-size: 10pt; font-weight: 400; font-weight: 400; color: #993333; text-align: justify; margin-left: 1pc; margin-right: 1pc;} + +P.small {font-family: Verdana, sans-serif; font-size: 8pt; font-weight: 400; font-weight: 400; color: #993333; text-align: justify; margin-left: 1pc; margin-right: 1pc;} + + +P.medium {font-family: Verdana, sans-serif; font-size: 9pt; font-weight: 400; font-weight: 400; color: #993333; text-align: justify; margin-left: 1pc; margin-right: 1pc; } + +P.quote {font-family: Verdana, sans-serif; font-size: 9pt; font-weight: 400; font-weight: 400; color: #993333; text-align: justify; margin-left: 3pc; margin-right: 3pc; margin-bottom: -1pc;} + +P.shade {font-family: Verdana, sans-serif; font-size: 9pt; font-weight: 400; font-weight: 400; color: #993333; background-color: #FFFFF0; text-align: justify; margin-left: 1pc; margin-right: 1pc;} + +P.green {font-family: Verdana, sans-serif; font-size: 10pt; font-weight: 600; color: #336600; margin-top: 1pc; margin-bottom: -1pc; } + + +TD.green {background color: #99CC99; font-family: Verdana, sans-serif; font-size: 10pt; font-weight: 400; } + +H1 {font-family: Verdana, sans-serif; font-size: 14pt; font-weight: 600; } + +H3 {font-family: Verdana, sans-serif; text-align: center; color: #669966; border-style: solid; border-width: thin; } + +P:link {color: #990099; font-weight: 400; text-decoration: none} + +A:link {color: #990099; font-weight: 400; text-decoration: none} + + +A:visited {color: #990099; font-weight: 400; text-decoration: none} + +A:hover {color: #cc33cc; font-weight: 400; text-decoration: underline} + +A:active {color: #cc33cc; font-weight: 400; text-decoration: underline} + +UL {color: #993333; font-family: Verdana, sans-serif; font-weight: 400; font-size: 10pt; margin-top: 2pc; margin left: 1pc; text-align: left;} + +LI {color: #993333; font-family: Verdana, sans-serif; font-weight: 400; font-size: 10pt; margin-top: 1pc; margin-left: 2pc; text-align: left; } + + +BLOCKQUOTE {color:#000000; font-family: Times, serif; font-weight: 400; font-size: 12pt} +BLOCKQUOTE.spec {font-weight: 400; font-family: "Times New Roman", Times, serif; font-size: 14px; line-height: 130%} +DT {font-family: Times, serif; font-size: 12pt; font-weight: 600; color: black;} +DT.space {line-height: 2} +DT.bspace {line-height: 3; background-color: FFFFCC}.cover { border: 1px #333333 solid} +.lines { font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: 400; background-color: #FFFF99} +.lined { font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: 400; text-decoration: underline} diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/fpowf04.css b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/fpowf04.css new file mode 100644 index 0000000..cca0ed3 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/fpowf04.css @@ -0,0 +1,62 @@ + +BODY {background-color: ffffff; font-family: Verdana, sans-serif; font-size: 10pt; font-weight: 400; margin: 2pc; } + +TD {font-family: Verdana, sans-serif; font-size: 10pt; font-weight: 400; color: #FF33CC; } + +P {font-family: Verdana, sans-serif; font-size: 10pt; font-weight: 400; font-weight: 400; color: #330066; text-align: left; margin-left: 1pc; margin-right: 1pc;} + +P.t {font-family: Verdana, sans-serif; font-size: 10pt; font-weight: 400; color: #FF33CC; text-align: center; margin-left: 1pc; margin-right: 1pc;} + + +P.fill {font-family: Verdana, sans-serif; font-size: 10pt; font-weight: 400; font-weight: 400; color: #993333; text-align: justify; margin-left: 2pc; margin-right: 1pc; border-color: 66CC66; background-color: CCFFCC} + +P.small {font-family: Verdana, sans-serif; font-size: 8pt; font-weight: 400; font-weight: 400; color: #330066; text-align: justify; margin-left: 1pc; margin-right: 1pc;} + +P.large {font-family: Verdana, sans-serif; font-size: 11pt; font-weight: 400; color: #FF33CC; margin-left: 1px; } + + +P.medium {font-family: Verdana, sans-serif; font-size: 9pt; font-weight: 400; font-weight: 400; color: #330066; text-align: justify; margin-left: 1pc; margin-right: 1pc; } + +P.quote {font-family: Verdana, sans-serif; font-size: 9pt; font-weight: 400; font-weight: 400; color: #993333; text-align: justify; margin-left: 3pc; margin-right: 3pc; margin-bottom: -1pc;} + +P.shade {font-family: Verdana, sans-serif; font-size: 9pt; font-weight: 400; font-weight: 400; color: #993333; background-color: #FFFFF0; text-align: justify; margin-left: 1pc; margin-right: 1pc;} + +P.pink {font-family: Verdana, sans-serif; font-size: 10pt; font-weight: 600; color: #FF33CC; margin-top: 1pc; margin-bottom: -1pc; } + + P.pinker {font-family: Verdana, sans-serif; font-size: 9pt; font-weight: 400; color: #FF33CC; margin-top: 1pc; margin-bottom: 1pc; text-align: center; } + + +H1 {font-family: Verdana, sans-serif; font-size: 14pt; font-weight: 600; } + +H3 {font-family: Verdana, sans-serif; text-align: center; color: #FF33CC; border-style: solid; border-width: thin; } + +P:link {color: #FF33CC; font-weight: 400; text-decoration: none} + +A:link {color: #FF33CC; font-weight: 400; text-decoration: none} + + +A:visited {color: #FF33CC;font-weight: 400; text-decoration: none} + +A:hover {color: #336699; font-weight: 400; text-decoration: underline; color: #6699CC;} + +A:active {color: #336699; font-weight: 400; text-decoration: underline; color: #6699CC;} + + + +A:hover.b {color: #336699; font-weight: 400; text-decoration: none; background-color: #C4BEE0;} + +A:active.b {color: #336699; font-weight: 400; text-decoration: none; background-color: #C4BEE0;} + + +UL {color: #330066; font-family: Verdana, sans-serif; font-weight: 400; font-size: 10pt; margin-top: 2pc; margin left: 1pc; text-align: left;} + +LI {color: #330066; font-family: Verdana, sans-serif; font-weight: 400; font-size: 10pt; margin-top: 1pc; margin-left: 2pc; text-align: left; } + + +BLOCKQUOTE {color:#000000; font-family: Times, serif; font-weight: 400; font-size: 12pt} +BLOCKQUOTE.spec {font-weight: 400; font-family: "Times New Roman", Times, serif; font-size: 14px; line-height: 130%} +DT {font-family: Times, serif; font-size: 12pt; font-weight: 600; color: black;} +DT.space {line-height: 2} +DT.bspace {line-height: 3; background-color: FFFFCC}.cover { border: 1px #333333 solid} +.lines { font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: 400; background-color: #FFFF99} +.lined { font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: 400; text-decoration: underline} diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/guidelines.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/guidelines.html new file mode 100644 index 0000000..29d63fc --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/guidelines.html @@ -0,0 +1,165 @@ + + +Feminist Perspectives on Web Fiction: Guidelines + + + + + + + + + + + + + +
+FEMINIST PERSPECTIVES
ON
WEB FICTION
+ +
 
+wws contents
+ web fiction home
+guidelines
+ timetable
+bibliography
+ discussion list +LambdaMOO
+week two
+week three
+week four
+week five
+week six
+week seven
+week eight
+week nine
+week ten +
 
+ + +contact:
+Ann Kaloski
+eakn1 at york
dot ac dot uk
+
+Centre for Women's Studies
+Grimston House + +
tel: x3671/4 + +
+ +

GUIDELINES FOR STUDENTS

+ + +

Purpose of module

+

This option module offers a range of texts on and about web narratives and fiction. The course very deliberately builds up over the nine weeks and develops various conceptual and thematic connections between different texts. While this is true to some extent of all courses, it is particularly important for the way you should approach Web Fiction.

+ +

Managing the Course Reading

+

Each week will feature one or two compulsory texts, while the reading list should be consulted throughout the course. This bibliography contains both background and further reading. Many of the texts are available in the JB Morrell Library or online, and I shall also leave books and articles in the Centre. You are strongly advised to spend time browsing print and electronic texts to enable you to evaluate the range of materials on offer. You are also encouraged to develop your research skills by searching for your own materials by following up references, perusing, and sharing useful information.

+ + + +

Class Presentations

+

These are a vital part of the course ethos. When you are presenting, please + frame your response in a manner designed to provoke discussion: + ask questions, bring in other material that makes useful connections with the key text or devise + a class exercise. This cant be overestimated I am not expecting and do not want a coherent 'paper + but a response from you that opens up the key texts.
+If more than one person is presenting, it is preferable (though not compulsory) that you work together on your class plan.

+ +

Session Worksheets

+

These will vary each week, as appropriate for the topic. I will, as a rule, offer broad rather than tight guidelines for reading, and encourage you to create your own reading lists. As the module proceeds, you may wish to add your own worksheets to the web site.

+ +
+  +
+ + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/guidelines04.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/guidelines04.html new file mode 100644 index 0000000..1156534 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/guidelines04.html @@ -0,0 +1,180 @@ + + +Feminist Perspectives on Web Fiction 2004: Guidelines + + + + + + + + + + + + + +
+FEMINIST PERSPECTIVES
ON
WEB FICTION
2004
+ +
 
+ + +wws index
+outline
+web fiction home
+guidelines
+ timetable
+bibliography
+discussion list +LambdaMOO
+week two
+week three
+week four
+week five
+week six
+week seven
+week eight
+week nine
+week ten +
 
+ + +contact:
+Ann Kaloski
+eakn1 at york
dot ac dot uk
+
+Centre for Women's Studies
+Grimston House + +
tel: x3671/4 + +
+ +

GUIDELINES FOR STUDENTS

+ + +

Purpose of module

+

This option module offers a range of texts on and about web narratives and fiction. The course very deliberately builds up over the nine weeks and develops various conceptual and thematic connections between different texts. While this is true to some extent of all courses, it is particularly important for the way you should approach Web Fiction.

+ +

Managing the Course Reading

+

Each week will feature one or two compulsory texts, while the reading list should be consulted throughout the course. This bibliography contains both background and further reading. Many of the texts are available in the JB Morrell Library or online, and I shall also leave books and articles in the Centre. You are strongly advised to spend time browsing print and electronic texts to enable you to evaluate the range of materials on offer. You are also encouraged to develop your research skills by searching for your own materials by following up references, perusing, and sharing useful information.

+ + + +

Facilitating Sessions

+

This is your module, and I want you to make the most of it. To this end, the module encourages a great deal of student input. Each of the weeks 4, 5 and 6 will be co-facilitated by about three students. This is a vital part of the course ethos.
When you are facilitating, please + frame your ideas in a manner designed to provoke discussion. You may, if you wish, use any of the questions I offer on the web page worksheets, otr you may devise your own questions, bring in material that makes useful connections with the key text or devise + a class exercise. This method cant be overestimated I am not expecting and do not want a coherent 'paper + but an attempt at opening up the key texts.
+ +All this may sound a bit scary, but I hope you also find it exciting: you have the chance to direct discussion in a way that interests, or inspires, or puzzles you. Students are often quite apprehensive at first, but invariably find that this method helps them to understand the issues in some depth, and to participate fully in the module.
+We will discuss this in more detail in week 3. In the meantime, as you browse the timetable, think about which of the sessions from week 4, 5 or 6 you would like to co-facilitate. +Please liaise carefully with your co-facilitators to make the session as thought provoking and as useful as possible.

+ + +

Session Worksheets

+

These will vary each week, as appropriate for the topic. I will, as a rule, offer broad rather than tight guidelines for reading, and encourage you to create your own reading lists. As the module proceeds, you may wish to add your own worksheets to the web site.

+ +

Online Discussion Group

+

Please sign up to this as soon as you can, and contact me if you have difficulties. I hope that the discussion list will become a place where silly, exciting, off-the-cuff comments can be made and provocative as well as mundane questions asked. It's a place where we can discuss anything relevant to the course, in the broadest possible terms, and add resources and ideas to a class archive.
+You can use it just like email, but you can also visit the discussion group website to read the archives and access stored files.

+ + +

Web room

+

Do use the Centre's web room. Students taking 'Web Fiction' have priority for using the room when they are doing module work. Spend time online, by yourself and with others from the group, and browse web resources as well as the book and magazine collection. Alongside the computers, printer and scanner, the room also has a fair collection of books about web fiction and culture, as well as books on HTML. You may read the books in the web room (there is a comfortable chair!) or borrow them for a week at a time so long as you sign them out. Please also use the notice boards - put notes up about useful websites or articles, or your latest idea!

+ + +
+  +
+ + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/hayles.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/hayles.html new file mode 100644 index 0000000..b707d35 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/hayles.html @@ -0,0 +1,114 @@ + + +Feminist Perspectives on Web Fiction 2004: Writing Machines + + + + + + + + + + + + + +
+ + +

FEMINIST PERSPECTIVES
ON
WEB FICTION
2004

+ +wws index
+outline
+web fiction home +guidelines
+timetable
+bibliography
+ discussion list
+LambdaMOO
+week two
+week three
+week four
+week five
+week six
+week seven
+week eight
+week nine
+week ten + +
 
+contact:
+Ann Kaloski
+eakn1 at york
dot ac dot uk
+
+Centre for Women's Studies
+Grimston House + +
tel: x3671/4 + +
+ +

N Katherine Hayles
+extract from Writing Machines

+
+ +

key text

+

+N Katherine Hayles 'Entering the Electronic Environment' in Writing Machines (MIT Press, 2002).

+ +

Writing Machines has been called a 'zine for adults' and an 'art book', and the book designer, Anne Burdick, is given almost as much credit as Katherine Hayles. I shall bring the book to class so that you can see, and feel, the artifact: the cover is ribbed and the inside pages self-consciously and riotously deploy design elements such as fonts and images. I hope you enjoy the experimental style of the key chapter.

+ + +

compulsory exercise

+ +
    +
    +
  • Read/ browse through the chapter fairly quickly, jotting down your first impressions (both intellectual and emotional). + +
  • Now read the piece more carefully. What do you make of Hayles' semi-autobiographical methodology? In what ways do you find such a method useful, in what ways constraining? + +
  • Hayles reflects on her encounters with computers and fiction. Did you enjoy her narrative? Think about which parts of her life she picks out, and which parts you feel she is omitting - are there places you wanted her to go? Do you identify with any of her musings? How is your relationship with computers and fiction different from that of Hayles? + +
  • Now write your own narrative of your relationship to a) computers, b) fiction, or c) fiction and computers. Bring to class a short piece (about 3 minutes) as a starting point for discussion. + +
+ +

secondary reading

+ +

See the Writing Machines web site on http://mitpress.mit.edu/e-books/mediawork/. This contains a rather intriguing web supplement and a response to the book by Erik Loyer. As well as browsing, think about how the web faciliates new ways to respond to texts. List some of the values and limitations of these web responses.

+ +

For other accessble and sassy autobiographical responses to contemporary technology, read: +
Flis Henwood, Helen Kennedy and Nod Miller (eds), Cyborg Lives: Women's Technobiographies (Raw Nerve, 2001). Details on www.rawnervebooks.co.uk/detailscl.html (opens in new browser).

+ +

Lynn Cherny and Elizabeth Reba Weise (eds), Wired Women: Gender and New Realities in Cyberspace (Seal Press, 1996).

+ +

after the class session

+

Once you have had a chance to reflect on the class discussion, post a response on Yahoo. Read what others say, and keep talking . . .

+ + + + + + + + + + + + + + + + + + + + +
+  +
+ + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/hullo.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/hullo.html new file mode 100644 index 0000000..77ee618 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/hullo.html @@ -0,0 +1,28 @@ + + +Hybrid Women + + + + + + +
+ + +
+

Welcome to Hybrid Women!

+

The course is a Masters level option module in contemporary cultural and literary studies. Throughout the course we shall investigate ideas of cultural hybridity represented in, and generated by, fiction and theoretical material via engaging with both print and web-based media. The module is interdisciplinary in its scope and deploys a variety of methods - not all of them traditional to academia - to explore issues of identity, subjectivity, sexuality, gender, race, class, and technology. No expertise in any of the areas is absolutely necessary, although if you have no literary background please talk to me before enrolling. No computer or internet skills are assumed.

+

Former students have found that the course helps in understanding contemporary theory through 'doing it without realizing' and have also benefited from the variety of methods and perspectives which offer accessible ways of thinking about complex ideas. If you are open-minded, and if you enjoy the demands of finding your own routes through taxing contemporary issues within a supportive and creative environment, Hybrid Women could be for you.

+

Please browse these option course web pages to give you an idea of the course. The pages also contain information about key texts, the course programme, the discussion board, and the student course web pages we shall work on as a group throughout the module.

+

Need to discuss the course? Contact me on eakn1@york.ac.uk.

+ +
click here to return to Hybrid Women home page + +
+
+ + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/hybridwomen.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/hybridwomen.html new file mode 100644 index 0000000..4a21d15 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/hybridwomen.html @@ -0,0 +1,88 @@ + + + Hybrid Women + + + + + + + + + + + + + + + + + + + + +
+

This module is no longer active. Many thanks to all the former students who taught me so much as we grappled with the political and intellectual implications of turn-of-the-century women's writing and culture.

+ +

I have left some pages online as they may be of more general interest: welcome, key texts, and designing a simple web page from scratch.

+

In January 2003 I will offer a new Master's option course: 'Feminist Perspectives on Web Fiction'. Details

+
September 2002
+ +
  + +

welcome

+ +

timetable

+ + +

key texts

+ +

discussion list

+ +

class web pages

+ + +

Wired Women's Studies

+
+

I want the freedom to carve +and chisel my own face, to +staunch the bleeding with +ashes, to fashion my own +gods out of my entails. +And if going home is denied +me then I will have to stand and +claim my space, making a new +culture - una cultura mestiza +- with my own lumber, +my bricks and mortar and my +feminist architecture. +(Gloria Anzalda, Chicana writer)

+

+Ada's method [...] was to weave +daydreams into seemingly +authentic calculations. +(David Langley Moore, on Lady Lovelace, +possibly the first computer programmer)

+ + +
taught by:
Ann Kaloski-Naylor
Room 307, Grimston House
Centre for Women's Studies
University of + York
tel: (direct) 3674
(messages) 3671
email:
eakn1@york.ac.uk +
+

hybrid women

+

contemporary fictions
of gender and technology

+ + +
+ + + + + + + diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/index.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/index.html new file mode 100644 index 0000000..445e9d0 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/index.html @@ -0,0 +1,138 @@ + + + + + Wired Women's Studies + + + + + + + + + + + + + + + + + + + + + +
+ +Wired Women's Studies + + +
+ + + + + + +

Wired Women's Studies: +developing web skills, critique and theory in Women's Studies in the Humanities.
 
+ + +We offer:
+a)Supervision of appropriate Masters, MPhil and PhD research projects. We welcome proposals in the field of gender and technology, particularly those with a literary or cultural emphasis. research projects
+ +b)Literary and cultural studies master's option courses. details
+ + +c)Skills and methods training in online research
+ +d)Co-ordination of women's studies e-learning at York. information for staff + + +
 
+Click on the logo above to browse the site. +

+

WWS was made possible through a funding grant from the University's Teaching Committee.
Ideas, articles, links, and other correspondence welcome
 
+Ann Kaloski
+Centre for Women's Studies
+University of York
+York YO10 5DD
+England
+tel: +1904 433674 (direct)     +1904 433674 (messages)     fax: +1904 433670
+eakn1@york.ac.uk + +

+ + +
+
+ + + + +

+

+ + +
+Wired Women's Studies + +
+ + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/keytexts.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/keytexts.html new file mode 100644 index 0000000..7ccea5f --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/keytexts.html @@ -0,0 +1,90 @@ + + + key texts + + + + + + +
+ + +
+

Key Texts

+
This page outlines the key texts that all of the group will be reading throughout the course. Please try to buy the editions suggested here, as it makes discussion in class so much easier if we are all working to the same page numbers. Books marked R will be available on RESERVE in the JB Morrell library (borrowable for 4 hours at a time, or overnight, see library webpage). I have kept reserve texts to a minimum as reading to a tight schedule can take away a lot of the pleasure. However, if you take out a book from the ordinary collection that you know others want, please be generous and share. Nonetheless, it is expected that, where we use paper texts, you will buy the key book for each week (see timetable) to enable close and lively discussion in class. I have used a paperback edition where possible, and many of the books are available cheaply from local bookshops and from Amazon.co.uk. Books are ordered from Blackwell's University Bookshop, and list are kept on http://readinglists.co.uk/ +
+
+ + + + + +
+You will need to obtain an individual copy of these texts: +
+

Gloria Anzalda Borderlands/ La Frontera: The New Mestiza (Spinsters/ Aunt Lute, + 1987)R

+

Donna Haraway 'A Cyborg Manifesto: Science, Technology and Socialist-Feminism + in the late Twentieth-century.'In Simians, Cyborgs, and Women (Free Association + Books, 1991)R.
+Available on-line, with page refs to the Simians version. Manifesto
Early (1983) version also available The Ironic Dream of a Common Language for Women in the Integrated Circuit: Science, Technology, and Socialist Feminism in the 1980s or A Socialist Feminist Manifesto for Cyborgs +

+

Caeia March Three Ply Yarn (Women's Press, 1995)

+

Marge Piercy Body of Glass (Penguin, 1992) (Currently out of print. I will be able to supply copies of this text.) + +

Minnie Bruce Pratt S/HE (Firebrand, 1995)

+

+Jeanette Winterson The.PowerBook (Vintage, 2001) web site on http://www.jeanettewinterson.com

+ +
+ + +
+ + + + + +
+I will not be providing an exhaustive bibliography for Hybrid Women, for reasons that I hope will become clear as the module proceeds. However, some texts will be added to this list throughout the course, and students will be encouraged to add annotated items - books and sites they find useful - during the course. Throughout the term I will also leave some books in the Centre for reading on the premises, or for short-term borrowing. + +

+Christine Boese Studies in Cyberculture on http://www.nutball.com/
A lively hypertextual doctoral thesis on Xena that explains as well as enacts its rationale.

+

Alicia Felberbaum Holes Linings Threads on http://www.aliciafelber.com/projects/holes/holesliningsthreads/index.htm
A work inspired by Zeros and Ones. Felberbaum uses source material from the textile mills of Batley, in Yorkshire.

+

Susan Hawthorne and Renate Klein, eds. Cyberfeminism (Spinifex Press, 2000)
An extensive, introductory volume that offers sociological and poetic analysis of cyberfeminism. Vist the web site on http://www.spinifexpress.com.au/cf/cfcontent.htm

+

Sadie Plant Zeros and Ones: Digital Weavers The New Technoculture (Fourth Estate, + 1997)R

+

Amy Thompson Virtual Girl (Ace Books, 1993)R
This is currently out of print, but I have a few personal copies I will leave in the Centre for you to borrow.

+

Sherry Turkle Life on the Screen: Identity in the Age of the Internet Simon and Schuster: 1995.
seminal and very readable analyis of subjectivity and bodies online.

+ + + +

+useful sites to browse:

+

Lesbian.org and The Knitting Circle for useful UK and US based resources on lesbian lives, histories and theories +

Judy Malloy, producer GENID/NEME: Gender and Identity in New Media instigated in 1999 as "a public interactively created document begun during the Invencao Conference, Sao Paulo, Brazil -- is a community building experimental hybrid of online conferencing, hypertextual documents, and discussion archives. It addresses the question: 'As we begin a new Millennium, what is the role of gender/gender identity in shaping the convergence of art, science and technology?'" +

Sandy Stone gender, performitivity, theory, transgender, cybercultures +

Riding the Meridian women's cybertexts; literature, art and theory +

VNS Matrix an influential and much-quoted Australian cyberfeminist group +

Marge Piercy Home Page information and sources on the influential US writer +

Minnie Bruce Pratt's Home Page (thanks to Amy). + +

Border Crossings Thanks, Ali. Check out, in particular, the sections on 'gender' and on 'cyborgs'. +

trAce on-line writing centre A vast and very varied UK-based resource for writers and artists who use the web. Many useful links to creative sites. + +

+ + + + +
+
click here to return to Hybrid Women home page + +
+
+ + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/modules.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/modules.html new file mode 100644 index 0000000..28022ea --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/modules.html @@ -0,0 +1,46 @@ + + +Wired Women's Studies: Courses + + + + + + + + + + + +
+ +

+___e-learning___research projects___modules___diy web pages___contact___

+

return to index

+ +

  + + + + +

+

+"Contests for the meanings of writing are a major form of contemporary political struggle. Releasing the play of writing is deadly serious. ... Cyborg writing must not be about the Fall, the imagination of a once-upon-a-time wholeness before language, before writing, before Man. Cyborg writing is about the power to survive, not on the basis of original innocence, but on the basis of seizing the tools to mark the world that marked them as other."

+

Donna Haraway, A Cyborg Manifesto: Science, Technology, and Socialist-Feminism in the Late Twentieth Century

+
+

modules:

+ +

Hybrid Women: Contemporary Fictions of Gender and Technology
+
Feminist Perspectives on Web Fiction 2003
+Feminist Perspectives on Web Fiction 2004 +
Cyborg Perspectives: Women and Technology Today +

+ + + + +
+ + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/overview.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/overview.html new file mode 100644 index 0000000..02ea77c --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/overview.html @@ -0,0 +1,178 @@ + + + + +Cyborg Perspectives overview + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

CYBORG PERSPECTIVES: women and technology today

+ +
+ +

MENU :: + + +OVERVIEW :: + +RESOURCES :: + +DISCUSSION :: + +TIMETABLE :: + + MANIFESTO :: + +MENU

+ +
+

 

+ +
+ +

WEEK :: + TWO :: +THREE :: +FOUR :: +FIVE :: +SIX :: +SEVEN :: +EIGHT :: +NINE :: +TEN :: +WEEK + +

+ +
+

 

+ +
+ + +

taught by Ann Kaloski and Julie Palmer, Centre for Women's Studies, autumn term 2005.

+ +
+HOME + +

'This module is an argument for pleasure in the confusion of boundaries and for responsibility in their construction.'
(quotation taking liberties with Haraway's 'A Cyborg Manifesto'*).

+ +
+ + 
+ + +

In CYBORG PERSPECTIVES we will assesses the cultural impact of contemporary technologies on women's lives and feminist thought by focussing on one of the key essays in this field - Donna Haraway's 'A Cyborg Manifesto' (1985/1991). Using both traditional and more experimental methodologies to expand our understanding we will look at the internet, cell phones, ultrasound imaging, digital photography, electronic fiction, and much more. There will be space in the module for students to pursue any particular interests in this area. No specific disciplinary background is required, but you need to be willing to work creatively and collaboratively. While a great deal of support will be given, you are expected to work hard and to take full responsibility for out-of-class assignments and workshops, as required. We hope this will be fun as well as intellectually challenging, and students who have taken similar modules in the past have found it so.

+ + +

WHAT WILL YOU DO?: You might, for instance, design your own web page or produce a visual essay; write your own techno-biography or take photos of 'cyborgs'; read electronic fiction or work on a wikki site; chat via a class discussion list or meet over coffee for collaborative workshops; write a traditional essay or hand in a web-based assignment.

+ +

CLASSES will normally be held on Wednesday mornings between 10.15-12.15 in one of the lecture rooms on the 3rd floor of Grimston House.

+ + + +

This WEB SITE will act as a base for the module. The pages will become live as the module continues, and offer weekly worksheets, bibliographies, and links to the discusion list and 'A Cyborg Manifesto'. Pop in to see Julie or Ann if anything is unclear.

+ + +

* 'This chapter is an argument for pleasure in the confusion of boundaries and for responsibility in their construction.' Haraway, 1991, p150.) + +

+

Want to find out more? Contact Ann Kaloski or Julie Palmer

+ +
+ + + +
 
+ +

DETAILS

+ +

Donna Haraway's 'Cyborg Manifesto' was written over twenty years ago, and since then has become an influential and indeed iconic essay within many areas of feminist thought. The manifesto is a call for feminists to take account of the epistemological, political and cultural effects of computer-mediated technology; it is a complex, interdisciplinary exploration of the effects of 'new technologies' for women living within a globalised monetary and cultural economy.

+ +

In this module we take a detailed look at the Manifesto and its legacy. Alongside close textual analysis of Haraway's essay, we investigate some of the varied and often contradictory ways in which this piece has made sense to people, both within the academic environment and beyond. Our investigation will involve using critical articles, novels, digital fiction, video games and image-based material. In addition, students own experiences and understandings of communication technologies will form an integral part of this process and in the spirit of the eclectic style of the manifesto we will make use of a number of innovative methodologies, both text-based and visual. For instance, we will test the usefulness of auto/photography, web page design and online discussion, as well as more traditional approaches, in order to develop our awareness of the issues raised by Haraway and her critics.

+ +

A willingness to collaborate in the group and to think creatively are more important than any prior +knowledge, although existing literary, cultural or technological expertise is very welcome. Within the +remit of the module there is scope for participants to develop particular trains of thought, and there +is some choice over the material we look at. Students are encouraged to devise their own assignments in +consultation with the convenors, and this can be presented in traditional form or, if more appropriate, +as a digital or partly visual essay. + + + + + + + +

+ + + + + + diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/page.gif b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/page.gif new file mode 100644 index 0000000..dfc6e2a Binary files /dev/null and b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/page.gif differ diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/patchworkbodies.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/patchworkbodies.html new file mode 100644 index 0000000..2ad3558 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/patchworkbodies.html @@ -0,0 +1,170 @@ + + +Feminist Perspectives on Web Fiction 2004: Patchwork Bodies + + + + + + + + + + + + + +
+ + +

FEMINIST PERSPECTIVES
ON
WEB FICTION
2004

+ +wws index
+outline
+web fiction home +guidelines
+timetable
+bibliography
+discussion list
+LambdaMOO
+week two
+week three
+week four
+week five
+week six
+week seven
+week eight
+week nine
+week ten + +
 
+contact:
+Ann Kaloski
+eakn1 at york
dot ac dot uk
+
+Centre for Women's Studies
+Grimston House + +
tel: x3671/4 + +
+ +

Patchwork Bodies
Shelley Jackson +

+
+ +

key texts

+ +

Shelley Jackson Patchwork Girl: Or, a Modern Monster Watertown, MA: Eastgate Systems, 1995. CDROM available in web room. details. + +

Shelly Jackson My Body: A Wunderkammer + +
+ + +

This week we explore some of the work by Shelley Jackson, one of the most exciting 'new media' artists/ writers. My Body is fairly simple, and probably the best to start with, while Patchwork Girl is more of a challenge. This latter work is becoming rather canonical, but we wont let that put us off! It does address key issues within feminist and postmodern theory, and is quite absorbing once you start reading/ browsing.

+ +

Try to be disciplined and read Shelley's texts before the critical pieces, then return once you've taken in some of the theory.

+ +

 

+ +

secondary reading

+ + +

Shelley Jackson's website Ineradicable Stain
+

+ George P Landow Stiching together Narrative, Sexuality, Self: Shelley Jackson's Patchwork Girl" +

+ +

Jenny Sunden What if Frankenstein(s Monster) was a Girl? Typing Female Machine Bodies in the Digital Age 2003.

+ +

N Katherine Hayles 'Flickering Connectivities in Shelley Jackson's Patchwork Girl: The Importance of Media-Specific Analysis', Postmodern Culture 10:2, 2000.
+ ________Writing Machines MIT Press, 2002.

+ +

Carolyn Guertin short piece from Queen Bees and the Hum of the Hives

+ +

Mary Shelley Frankenstein, or, The modern Prometheus [1818]various editions.

+ +

Frank Baum Patchwork Girl of Oz Dover Publications, 1990.

+ +
+

interviews

+ +

Mark Amerika 'Stitch Bitch: The Hypertext Author As Cyborg-Femme Narrator: An interview with Shelley Jackson" Amerika On-Line 7. + +

Megan Lynch A conversation with Shelley Jackson

+
+

related artistic texts

+

Caitlin Fisher These Waves of Girls

+
+

related theoretical material

+ +

Theresa M. Senft Introduction: Performing the digital body: A ghost story 17:nd.

+ +

Carolyn Guertin Three-Dimensional Woman

+ +
+
    before the session + +
  • read both key texts as carefully as you can +
  • read at least two critical pieces. + +
  • decide on a word or term that impresses you about one or both of Jackson's texts, and come to class prepared to offer a 5 minute presentation around that term. You can be as creative or as traditional as you like (and the two are not mutually exclusive!) but be as sharp and provocative as you can. You may want to link your term to other texts from the module, and beyond. +
      suggestions: +
    • body +
    • words +
    • reading +
    • sewing +
    • memory +
    • identity +
    • gender +
    • hype + +
    • add you own . . . + + +
    + +
+ + +
    + +Some questions to think about that may help:
    + + +
  • What is it like reading these texts. Try to compare the reading process with your engagement with Holes, Linings, Threads. Have you 'moved on'? Is the reading experience different, and why? + +
  • Jenny Sunden (2003) suggests that Shelley Jacksons Patchwork Girl embodies woman as fully monstrous. What does she mean? What kinds of meanings might be produced by reading PG alongside 'The Cyborg Manifesto'? + + +
  • What are the similarities and differences between 'patchwork' and 'weaving' as metaphors for women's creativity or lives or identies? + +
  • 'Patchwork Girl does not fit the idea of transparent, dissolving language that leaves the reader with a seamless illusion of reality. It rather treats language as material, even corporeal, to the point where it is no longer possible (or even meaningful) to tell the difference between the creation of texts and the creation of bodies: +"I had made her, writing deep into the night by candlelight, until tiny black letters blurred into stitches and I began to feel that I was sewing a great quilt, as the old women in town do night after night [...] and their strokes grow thicker than machinery and tight enough to score deep creases in the cloth. I have looked with reciprocal coolness their way, not wandering what stories joined the fragments in their workbaskets."'(Sunden, 2003).
    + +OR
    +'You could say all bodies are written bodies, all lives pieces of writing.'
    + +Compare Jackson's use of language (especially in PG) to that of Winterson in The Powerbook. Where do the differences and similarities reside? + +
  • What do you make of the term 'assemblage'? How does it work as a metaphor AND as the physical form of the texts. + +
  • Did you 'enjoy' either of these pieces? + +
  • What might your own version of My Body look like? + +
  • Compare the personal websites of Jackson and Winterson. + +
  • Consider this comment by George Landow: 'Sooner or later all information technologies, we recall, have always convinced those who use them both that these technologies are natural and that they provide ways to describe the human mind and self. At the early stage of a digital information regime, Patchwork Girl permits us to use hypertext as powerful speculative tool (sic) that reveals new things about ourselves while at the same time retaining the sense of strangeness, of novelty.' + +
+ + +
+  +
+ + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/pointless.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/pointless.html new file mode 100644 index 0000000..58d0c83 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/pointless.html @@ -0,0 +1,172 @@ + + +Feminist Perspectives on Web Fiction: what is the point of this link? + + + + + + + + + +
+ + + + +
+ + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/powerbook.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/powerbook.html new file mode 100644 index 0000000..ec0fad2 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/powerbook.html @@ -0,0 +1,109 @@ + + +Feminist Perspectives on Web Fiction: The.PowerBook + + + + + + + + + + + + + +
+FEMINIST PERSPECTIVES
ON
WEB FICTION
+ +
 
+wws index
+ web fiction home
+guidelines
+timetable
+bibliography
+ discussion list +LambdaMOO
+week two
+week three
+week four
+week five
+week six
+week seven
+week eight
+week nine
+week ten + + +
 
+contact:
+Ann Kaloski
+eakn1 at york
dot ac dot uk
+
+Centre for Women's Studies
+Grimston House + +
tel: x3671/4 + +
+ +

Jeanette Winterson : : The.PowerBook
+LambdaMOO

+
+

This week we will focus on Winterson's print novel The.PowerBook, a tale of love and identity online and offline. In order to help us think about the decisions Winterson has made about imagining and and also writing online communication, we shall also look at the non-fictional virtual community of LamdaMOO.

+ +

Reading around Winterson:

+ +

There is a great deal of material available about Jeanette Winterson's oevre. You can find reference to much of it on Winterson's official web site and on the reader's web site (both these sites open in new browsers).

+ +

Reading about MOOs:

+ + +

As a start, see my articles:
 
+ 'Bisexuals Making out with Cyborgs' in Merl Storr, Bisexuality: A Critical Reader (Routledge, 1999) (read especially the section where I offer a view of a 'first trip to Lambda') (available JBM and CWS)
 
and
 
+'"She Says She's a Woman": Feminine Friendships in Virtual Reality' (with Sue Thomas and Francesca da Rimini) in Ruth Symes et al, Celebrating Women's Friendship (Raw Nerve, 1999), especially the section about translating MOO communication into something more coherent, and the end section which tells you how to make the journey to Lambda. (available JBM & CWS)

+ +

Visiting LambdaMOO

+
    +
  • Use the instructions in Celebrating Women's Friendship, details above +
  • OR
    telnet directly to Lambda MOO at telnet://lambda.moo.mud.org:8888 +
  • OR
    use this link +
+

Introductory tutorials in Celebrating Women's Friendship or online at LinguaMOO

+ + +

+Whether or not you visit Lambda before next week, you will gain a flavour from the reading.

+
+
    + +Some questions to think about:
    +
  • Where do you imagine scenes in the novel as being set? Can you always be sure of the location? + +
  • What do you think Winterson is saying about subjectivity and identity? Do you find her arguments convincing? Why? Why not? + +
  • What kinds of connections does the book make between desire and identity? Between desire and online personas? + +
  • What metaphors and phrases does Winterson use to explore the concept of 'freedom'? What kind of freedom does the book seem to extol? + +
  • What do you make of the ways that Winterson changes her language from that of chat rooms or MOOS to a more conventional print form? What are the effects of the shifts? + +
  • Is the narrative convincing as a love story? Why/ why not? + +
+ + + + + + + + +
+  +
+ + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/projects.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/projects.html new file mode 100644 index 0000000..b15fe6c --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/projects.html @@ -0,0 +1,32 @@ + + +Wired Women's Studies: Courses + + + + + + + + + + + +
+ +

+___e-learning___research projects___modules___diy web pages___contact___

+

return to index

+ +

  + + + + +

+ +
+ + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/reading.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/reading.html new file mode 100644 index 0000000..2e29634 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/reading.html @@ -0,0 +1,91 @@ + + +Feminist Perspectives on Web Fiction 2004 + + + + + + + + + + + + + +
+ + +

FEMINIST PERSPECTIVES
ON
WEB FICTION
2004

+ +wws index
+outline
+web fiction home +guidelines
+timetable
+bibliography
+ discussion list
+LambdaMOO
+week two
+week three
+week four
+week five
+week six
+week seven
+week eight
+week nine
+week ten + +
 
+contact:
+Ann Kaloski
+eakn1 at york
dot ac dot uk
+
+Centre for Women's Studies
+Grimston House + +
tel: x3671/4 + +
+ +

Reading
Week

+
+ +

tasks for this week

+
 
+
    +There will be no taught session in week 2. + +
  • During the week, begin to find your way around the course both on this web site and by making a start on the reading. Use the bibliography link on the menu to the left, and read the guidelines for suggestions of how to approach the range of material on offer. + +
  • Think ahead, and make sure you copy or buy (as appropriate) any print key texts needed in the first few weeks. (Plant's article for week 4; Winterson's book for week 5). I will leave copies of He, She and It in Helen Webster's room for you to buy for £6. +
  • Browse this site, especially the first page, guidelines, timetable and the first few week's worksheets. Get to know its structure. +
  • Think about which sessions you might like to facilitate (see the section about this on the guidelines page. +
  • Log on to the yahoo discussion list - see the link on the module menu to the left. Post an introductory comment. This can be very broad; the discussion list is a space to chat about your concerns and interests around women, technology and writing. +
  • For next week: make sure you have read the chapter by Hayles, and have written a short piece about your own relationship with technology to bring to the session. Check out the worksheet for next week - see the menu on your left. +
+ + + + + + + + + + + + + + + + + +
+  +
+ + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/resources.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/resources.html new file mode 100644 index 0000000..08212a2 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/resources.html @@ -0,0 +1,210 @@ + + + + +Cyborg Perspectives resources + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

CYBORG PERSPECTIVES: women and technology today

+ +
+ +

MENU :: + + +OVERVIEW:: + +RESOURCES :: + +DISCUSSION :: + +TIMETABLE :: + + MANIFESTO :: + +MENU

+ +
+

 

+ +
+ +

WEEK :: +TWO :: +THREE :: +FOUR :: +FIVE :: +SIX :: +SEVEN :: +EIGHT :: +NINE :: +TEN :: +WEEK + +

+ +
+

 

+ +
+ + +

taught by Ann Kaloski and Julie Palmer, Centre for Women's Studies, autumn term 2005.

+ + +HOME + +

 

+ +

ongoing bibliography

+ +
+ +

check out the wiki at < http://cyborg.wikispaces.com/ >

+ +

Anne Balsamo, Technologies of the Gendered Body: Reading Cyborg Women (Duke UP, 1996). Sample pages available on Amazon.com. JBM

+ +

David Bell and Barbara M. Kennedy (eds) The Cybercultures Reader (Routledge, 2000)

+ + +

Kate Bornstein and Caitlin Sullivan, Nearly Roadkill (High Risk Books/ Serpent's Tail, 1996). An 'erotic adventure' on and off line that mixes the politics of power with sexualised and multi-gendered communication. Web site < http://www.tootallblondes.com/KatePages/roadkill_reviews.htm > CWS + +

Mike Featherstone and Roger Burrows (eds) Cyberspace/Cyberbodies/Cyberpunk: Cultures of Technological Embodiment (Sage, 1995)

+ + + +

Chris Hables Gray (ed) The Cyborg Handbook. (Routledge, 1995)

+ +

Diane Greco Cyborg : Engineering the Body Electric (Watertown, MA : Eastgate Systems, 1995) disk and manual. JBM

+ +

Donna Haraway Modest_Witness@Second_Millenium. FemaleMan_Meets_OncoMouse (Routledge, 1997)

+ + +

________ Simians, Cyborgs and Women: The Reinvention of Nature(Free Association Books, 1991)

+ +

________ The Haraway Reader (Routledge, 2004)

+ + +

________ and Thyrza Goodeve How Like a Leaf: An Interview with Donna Haraway (Routledge, 1999) (available from JP)

+ + +

________ The Companion Species Manifesto: Dogs, People and Significant Otherness (Prickly Paradigm Press, 2003) (available from JP)

+ + +

Sarah Kember Photography, New Technologies and Subjectivity (Manchester University Press, 1998) (esp. chapter 5) (available from JP)

+ + + +

Ann Kaloski 'Bisexuals Making Out with Cyborgs' Journal of Gay, Lesbian and Bisexual Identity 2(1), 1997: 47-64.

+ + +

Gill Kirkup, Linda Janes, Kath Woodward & Fona Hovenden (eds) The Gendered Cyborg: A Reader (Routledge, 2000)

+ + +

Nina Lykke and Rosi Braidotti. (eds) Between Monsters, Godesses and Cyborgs: Feminist Confrontations with Science, Medicine and Cyberspace (Zed Books, 1996)

+ + +

Esperanza Miyake 'My is that Cyborg a Little bit Queer?' Journal of International Women's Studies 5(2) 2004. < http://www.bridgew.edu/soas/jiws/Mar04/ >

+ + +

Marge Piercy He, She and It (Fawcett Books, 1991)

+ + + +

Sadie Plant Zeros and Ones: Digital Women and the New Technoculture (Doubleday, 1997). Here Plant explores some of the ideas introduced in 'Weaving Women' in more depth. Beautifully written and highly recommended.

+ +

Chela Sandoval 'New Sciences: Cyborg Feminism and the Methodology of the Oppressed' in Jenny Wolmark Cybersexualities(Edinburgh University Press, 2000)

+ + +

Lucy Tatman 'I'd rather be a sinner than a cyborg' in The European +Journal of Women's Studies 10(1): 51-64 (2003). +Available as an e-journal. Tatman asks: 'Upon which Christian theological +metaphors and models in Donna Haraway's understanding of 'cyborg' +ontologically dependent, and how and why might it matter?'

+ + + +

Sue Thomas Hello World: Travels in Virtuality (Raw Nerve, 2004)

+ + +

Amy Thompson, Virtual Girl (Ace Books, 1993) A fabulous tale of cyborgs, transgender, sentience and power. This is currently out of print, but AK has a few personal copies she will leave in the Centre for you to borrow.

+ + +

Sherry Turkle, Life on the Screen: Identity in the Age of the Internet (Simon and Schuster: 1995) Seminal and very readable analyis of subjectivity and bodies online. JBM & CWS

+ +

Border Crossings at http://www.uiowa.edu/~commstud/resources/bordercrossings/

+ +

see also bibliographies of other Wired Women's Studies modules < http://www.york.ac.uk/teaching/cws/wws/modules.html >

+ +
+

Any queries? Contact Ann Kaloski or Julie Palmer

+ +
+ + + + + + diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/sketch.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/sketch.html new file mode 100644 index 0000000..54d8012 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/sketch.html @@ -0,0 +1,21 @@ + + +Feminist Perspectives on Web Fiction: sketch + + + + + + + + + +
+ + + +
+ +return to week six + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/sketch04.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/sketch04.html new file mode 100644 index 0000000..463fe24 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/sketch04.html @@ -0,0 +1,21 @@ + + +Feminist Perspectives on Web Fiction: sketch + + + + + + + + + +
+ + + +
+ +return to week eight + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/soakingblood.jpg b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/soakingblood.jpg new file mode 100644 index 0000000..ec515ca Binary files /dev/null and b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/soakingblood.jpg differ diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/stringq.jpg b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/stringq.jpg new file mode 100644 index 0000000..568af1e Binary files /dev/null and b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/stringq.jpg differ diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/studentchoice.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/studentchoice.html new file mode 100644 index 0000000..15d7d07 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/studentchoice.html @@ -0,0 +1,112 @@ + + +Feminist Perspectives on Web Fiction 2004: Student Choice + + + + + + + + + + + + + +
+ + +

FEMINIST PERSPECTIVES
ON
WEB FICTION
2004

+ +wws index
+outline
+web fiction home +guidelines
+timetable
+bibliography
+discussion list
+LambdaMOO
+week two
+week three
+week four
+week five
+week six
+week seven
+week eight
+week nine
+week ten + +
 
+contact:
+Ann Kaloski
+eakn1 at york
dot ac dot uk
+
+Centre for Women's Studies
+Grimston House + +
tel: x3671/4 + +
+ +

Really Reading Women's Web Writing
A Celebration +

+
+ +

key texts

+

Carolyn Guertin and Marjorie Coverley Luesebrink, 'The Progressive Dinner Party' Riding the Meridian, commentary by N. Katherine Hayles and Talan Memmott (follow 'diner' or 'archives' link).

+ +
+ + +

This week it is over to you. The aim of the week's work is to encourage you to choose and 'really read' a piece of women's web writing.

+ + + + + + +

before the class

+ +

Visit 'The Diner' if you haven't done so already, and browse. You will notice that there is a noble attempt to define the genre of the pieces, and you may wish to reflect on this. You may choose any genre for your reading.

+ +

Concentrate on one piece and prepare a short, 10 minute presentation for class on your chosen work.

+ +

Post your choice of work on the yahoo web site, so we can all read each piece beforehand.

+ +
+

questions to address

+ +
    + +
  • Who is the author? +
  • What is the piece saying? Can you identify a main question, theme, topic, or narrative? + +
  • Concentrate on this one: What methods and strategies does she use to convey her ideas? Think about such traditional literary concepts as metaphor, narrative structure, imagery and so on, as well as new media concepts of image-use, movement and hypertext. Think about some of the provocative and fruitful ways of reading digital fiction that you all developed last week, and don't forget Katherine Hayles' comment from Writing Machines. + +
  • If you have time: What is the reading process like? Are you getting any closer to identifying and extending ideas on new media reading/viewing/browsing? + + + +
+ +

Allow other texts to make critical interventions into your reading: use paper fiction, theoretical work, our class exercises, the questions and hints from the 'Patchwork Bodies' worksheet.

+
+

in class

+ + +

Each person will have 15-18 minutes - which includes discussion time - so come to class with a short and pithy 10 minute presentation on 'Really Reading your piece'. We will have internet access in class.

+
+ +

secondary reading

+ +

You don't really need me now. Continue to utilise the bibliography; read about Judy Chicago's work; follow your own work patterns.

+ + +
+  +
+ + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/swp.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/swp.html new file mode 100644 index 0000000..34e586d --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/swp.html @@ -0,0 +1,32 @@ + + +class web pages + + + + + + +
+ + +
+

class web pages

+

Throughout the course we may develop a simple web site as a critical group response to the issues raised by the module. There are many reasons for this, including: +

  • the exercise offers a chance to learn and develop specific skills, in this case how to write web pages using basic HTML (web markup language). These pages can be very simple, or more complex, depending on the interests and skills of the group.
  • +
  • the pages will help you develop a critical awareness of the structures and theoretical assumptions of cyber writing.
  • +
  • working with web pages can be a good way to generate original connections between ideas.
  • +
  • much of academic writing is individual; with this group exercise you get a chance for collaborative work.
  • +
  • it's fun!
  • + +

    web pages

    +

    Start with the basics:
    lesson one: a simple web page     lesson two: simple formatting

    +

    lesson three: linking web texts     lesson three: images +

    click here to return to Hybrid Women home page + +
    +
    + + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/swp1.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/swp1.html new file mode 100644 index 0000000..91464d8 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/swp1.html @@ -0,0 +1,49 @@ + + +diy simple web pages + + + + + + + + + + + +
    + +

    +___e-learning___modules___diy web pages___contact___

    +

    return to index

    + + + +

    + + 

    + +

    These pages are intended for complete beginners to web page writing/design.
     
    +If you have basic word processing and computer navigation skills (know how to write a Word or WordPerfect file, and how to place the saved file in a folder) then you can learn simple web page construction in about two hours. In addition, these lessons encourage you to think about the underlying format of the pages, in order to encourage the beginnings of web literacy.
     
    +As a start, next time you are browsing a web page, check on the source code by clicking the menu on VIEW- (PAGE) SOURCE. While web pages are becoming more complex, the majority still use the basic formula of HTML.
     
    +Check out this page now, and then later when you have written your first page.
     
    + +Although these lessons teach only basic HTML, it's possible to do a great deal by playing and stretching the capabilities of the code and by using and assessing hypertext links. If you get hooked, there are web design books in the Wired Women's Studies Room in Grimston House, the computimg service offer a variety of excellent courses, and I also suggest web sites that offer good tutorials.
     
    + + + + +

    + + + +

    web pages

    +

    Start with the basics:
     
    first web page
     
    simple formatting
     
    + linking web texts
     
    inserting images + + +

    + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/textasimage.gif b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/textasimage.gif new file mode 100644 index 0000000..936206c Binary files /dev/null and b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/textasimage.gif differ diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/timtab.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/timtab.html new file mode 100644 index 0000000..281cad4 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/timtab.html @@ -0,0 +1,173 @@ + + +Feminist Perspectives on Web Fiction: Timetable + + + + + + + + + + + + + + +
    +FEMINIST PERSPECTIVES
    ON
    WEB FICTION
    + +
     
    +wws contents
    + web fiction home
    +guidelines
    +timetable
    +bibliography
    + discussion list +LambdaMOO
    +week two
    +week three
    +week four
    +week five
    + week six
    + week seven
    + week eight
    +week nine
    +week ten +

    + + +
     
    +contact:
    +Ann Kaloski
    +eakn1 at york
    dot ac dot uk
    +
    +Centre for Women's Studies
    +Grimston House + +
    tel: x3671/4 + +
    + +

    timetable

    + + + +

    The class will normally meet on Wednesday mornings from 10.15-12.15 in Grimston House, room V/X/331.
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +week + +topic +
    +2 (15 jan) + +He, She and It +
    +3 (22 jan) + +The Powerbook +
    +4 (29 jan) + +Zeros and Ones +
    +5 (5 feb) + +Xena +
    +6 (12 feb) + +web site workshop +
    +7 (19 feb) + +Guest Workshop
    +CocoaReworks
    +Emma Robertson
    Helen Graham +
    +8 (26 feb) + +designing our own web sites +
    +9 (5 march ) + +electronic fiction +
    +10 (12 march) + +assignment workshop +
    + +

    +  +
    + + + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/timtab04.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/timtab04.html new file mode 100644 index 0000000..1cbe90b --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/timtab04.html @@ -0,0 +1,205 @@ + + +Feminist Perspectives on Web Fiction 2004: Timetable + + + + + + + + + + + + + + +
    +

    FEMINIST PERSPECTIVES
    ON
    WEB FICTION

    + + +wws contents
    +outline
    + web fiction home
    +guidelines
    +timetable
    +bibliography
    + discussion list +LambdaMOO
    +week two
    +week three
    +week four
    +week five
    +week six
    +week seven
    +week eight
    +week nine
    +week ten +

    + + +
     
    +contact:
    +Ann Kaloski
    +eakn1 at york
    dot ac dot uk
    +
    +Centre for Women's Studies
    +Grimston House + +
    tel: x3671/4 + +
    + +

    timetable

    + + +

     

    +

    The class will normally meet on Wednesday mornings from 10.15-12.15 in Grimston House, room V/X/331.
    +

     

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    WEEK

    +
    +

    TOPIC

    +
    +

    STUDENTS
    FACILITATING
    SESSION

    +
    +2 (21 jan) + +reading week + +

    -

    +
    +3 (28 jan) + +extract from Writing Machines + +

    all

    +
    +4 (4 feb) + +Weaving Women + +

    Tamsin

    +
    +5 (11 feb) + +Powerbook and MOOs + +

    Karen, Julie

    +
    +6 (18 feb) + +The Cyborg Manifesto
    He, She and It
    + +
    +

    Renske, Jessie, Janet

    +
    +7 (25 feb) + +Patchwork Bodies + +

    all

    +
    +8 (THURSDAY
    4 march) +
    +web page workshop + +

    all

    +
    +9 (10 march ) + +assignment workshop + + +

    all

    +
    +10 (17 march) + +celebrating women's web writing + + +

    all

    +
    + +
    +  +
    + + + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/toofar.gif b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/toofar.gif new file mode 100644 index 0000000..d3997a7 Binary files /dev/null and b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/toofar.gif differ diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/up.gif b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/up.gif new file mode 100644 index 0000000..b8f6ca2 Binary files /dev/null and b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/up.gif differ diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/vle.css b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/vle.css new file mode 100644 index 0000000..fc468e7 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/vle.css @@ -0,0 +1,47 @@ + +BODY {font-family: Verdana, sans-serif; font-size: 10pt; font-weight: 400; margin: 2pc;} + +TD {font-family: Verdana, sans-serif; font-size: 10pt; font-weight: 400; color: #993333;} + +P {font-family: Verdana, sans-serif; font-size: 10pt; font-weight: 400; font-weight: 400; color: #993333; text-align: justify; margin-left: 1pc; margin-right: 1pc;} + +H1 {font-family: Verdana, sans-serif; font-size: 15px; font-weight: 600; color: #6699cc; text-align: left; margin-left: -3px; margin-right: -3px; margin-top: -3; background-color: #FFFFCC} + +P.h {font-family: Verdana, sans-serif; font-size: 14px; font-weight: 400; color: #000000; text-align: right; margin-left: 520px; margin-right: 5px; margin-top: -90px; } + +P.j {font-family: Verdana, sans-serif; font-size: 10px; font-weight: 400; color: #000000; text-align: left; margin-left: 10px; margin-right: 1px; margin-top: 62px; border-color: #FFFFCC; } + + + +P.k {font-family: Verdana, sans-serif; font-size: 12px; font-weight: 400; color: #000000; text-align: left; margin-left: 50px; margin-right: 100px; margin-top: 50px; } + +P.z {font-family: Verdana, sans-serif; font-size: 12px; font-weight: 600; color: #000000; text-align: justify; margin-left: 50px; margin-right: 50px; margin-top: 50px; } + + +P.m {font-family: Verdana, sans-serif; font-size: 12px; font-weight: 400; color: #000000; text-align: left; margin-left: 50px; margin-right: 50px; margin-top: 10px; margin=bottom: 20px; } + +P.small {font-family: Verdana, sans-serif; font-size: 12px; font-weight: 600; color: #000000; text-align: left; margin-left: -3px; margin-right: -3px; margin-top: -11px; background-color: #6699CC} + +OL, LI {font-family: Verdana, sans-serif; font-size: 12px; font-weight: 400; color: #000000; text-align: left; margin-left: 50px; margin-right: 20px; margin-top: 10px; margin=bottom: 20px; } + + +UL {font-family: Verdana, sans-serif; font-size: 12px; font-weight: 400; color: #000000; text-align: left; margin-left: 10px; margin-right: 20px; margin-top: 10px; margin=bottom: 20px; } + + +A:link {color: #000000; font-weight: 400; text-decoration: underline; } + + +A:visited {color: #000000; font-weight: 400; text-decoration: underline;} + +A:hover {color: #6699CC; font-weight: 400; text-decoration: underline; } + +A:active {color: #6699CC; font-weight: 400; text-decoration: underline; } + +A:link.yellow {color: #000000; font-weight: 600; text-decoration: underline; } + + +A:visited.yellow {color: #000000; font-weight: 600; text-decoration: underline;} + + A:hover.yellow {color: #6699CC; font-weight: 600; text-decoration: underline; background-color: #FFFFCC;} + +A:active.yellow {color: #6699CC; font-weight: 600; text-decoration: underline; background-color: #FFFFCC;} \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/w.gif b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/w.gif new file mode 100644 index 0000000..c6ecd9b Binary files /dev/null and b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/w.gif differ diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/weavingwomen.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/weavingwomen.html new file mode 100644 index 0000000..5c29cbe --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/weavingwomen.html @@ -0,0 +1,121 @@ + + +Feminist Perspectives on Web Fiction 2004: Weaving Women + + + + + + + + + + + + + +
    + + +

    FEMINIST PERSPECTIVES
    ON
    WEB FICTION
    2004

    + +wws index
    +outline
    +web fiction home +guidelines
    +timetable
    +bibliography
    + discussion list
    +LambdaMOO
    +week two
    +week three
    +week four
    +week five
    +week six
    +week seven
    +week eight
    +week nine
    +week ten + +
     
    +contact:
    +Ann Kaloski
    +eakn1 at york
    dot ac dot uk
    +
    +Centre for Women's Studies
    +Grimston House + +
    tel: x3671/4 + +
    + +

    Alicia Felberbaum :: Holes-Linings-Threads
    +Sadie Plant :: Weaving Women

    +
    + +

    key texts

    +

    +Alicia Felberbaum, 'Holes, Linings, Threads', 1998. http://www.aliciafelber.com/projects/holes/holesliningsthreads/index.htm

    + + + +

    Sadie Plant, 'The Future Loom: Weaving Women and Cybernetics' in Mike Featherstone and Roger Burrows, eds Cyberspace/Cyberbodies/Cyberpunk: Cultures of Technological Embodiment 45-64. Sage, 1995

    + +

    Felberbaum work was inspired by Plant's article, and she uses source material from the textile mills of Batley, Yorkshire in order to explore and expand Plant's theories. Taken together, the two works offer a history of computing that is part fact, part myth, and which places women firmly within the stories that a society tells about its culture.

    + + + +

    some ideas to start your thinking

    +
    +
      + +
    • READING ONLINE. What was it like engaging with Holes-Linings-Threads? Was it like reading? Or browsing? Or viewing? Make some notes on how you read: what caught your imagination, and why? Where there parts that were hard to understand, and do you know why? How was it different from reading a print oral history text? What did you find out about the lives of the Batley women? What did you find out about artistic intent? + +
    • ARGUMENT. What is 'Weaving Women' about? What are some of the key arguments? What do you make of them? Are Plant's ideas liberating for women? Is that an inappropriate question? + +
    • HISTORY. How is history presented in both the Plant and the Felberbaum? Focussing on specific 'historical' examples in both texts, consider alternative approaches. + +
    • THEORY, ART AND HISTORY. How did reading the Plant and the Felberbaum together help you understand each text? + +
    • MYTHS. Think about the new myths imagined by Plant and Felberbaum. Are new myths useful for women? Which women? Why now? Could you have a bash at developing a myth of your own ...? +
      If this aspect interests you, think about myths in other key texts: He, She and It by Marge Piercy; The PowerBook by Jeanette Winterson; 'The Cyborg Manifesto' by Donna Haraway as well as other feminist re-writings you have come across (try, for example, Amy Thompson's Virtual Girl or Piercy's Woman on the Edge of Time). + +
    +

    class discussion

    +

    If you are facilitating this class session, feel free to use any of the ideas above to begin your investigation, although you may develop your own questions if something really grabs you. Make sure you bring ideas to class which attempt to provoke discussion. What do you really want to discuss about these texts?

    + +

    secondary reading

    + +

    Sadie Plant Zeros and Ones: Digital Women and the New Technoculture (Doubleday, 1997). Here Plant explores some of the ideas introduced in 'Weaving Women' in more depth. Beautifully written and highly recommended.

    +

    See also these reviews and commentaries on Plant's ideas:

    +

    +review of Zeros and Ones by Laura Lee.

    +

    +Alex Galloway, Sadie Plant in relation to cyberfeminism, article.

    +

    +Sexing the Machine; Sadie Plant in conversation.

    + +

    Breaking the Myths; interview with Susan Geller Ettenheim in Cybergrrl.

    + + +

    Sadie Plant and Linda Dement, interview with Miss M, as Plant was writing Zeros and Ones.

    +

    see also: Linda Dement, Cyberflesh Girlmonster, 1995.
    +"...Cyberflesh Girlmonster is a macabre comedy of monstrous femininity, of revenge, desire and violence...About 30 women donated body parts by scanning their chosen flesh and digitally recording sound. From these, conglomerate bodies were created, animated and made interactive..."
    Sadly, I haven't yet been able to get hold of a copy of this extraordinary CDROM, a work that inspired Plant. But you can read about it in the interview with Miss M (details above) and on http://contactzones.cit.cornell.edu/artists/dement.html.

    + + +

    Helen Whitehead Web, Warp and Weft Also inspired by Plant, and offering a different take on the issues, and lots of useful links to other creative explorations of women and weaving.

    + +

    Alicia Felberbaum and others The Future Looms available on CDROM from me.

    + +

    CocoaReworks An Oral history of Rowntree's chocolate factory in York, developed by Emma Robertson, Helen Graham and others from Emma's MA dissertation, and funded by a lottery grant. A different take on recording womens's lives - this one is meant to be read by the women who worked in the Rowntree factory.

    + + + + +
    +  +
    + + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webfiction.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webfiction.html new file mode 100644 index 0000000..6cd1b32 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webfiction.html @@ -0,0 +1,140 @@ + + +Feminist Perspectives on Web Fiction + + + + + + + + + + + + + +
    +FEMINIST PERSPECTIVES
    ON
    WEB FICTION
    + +
     
    +wws index
    +web fiction home +guidelines
    +timetable
    +bibliography
    + discussion list
    +LambdaMOO
    +week two
    +week three
    +week four
    +week five
    +week six
    +week seven
    +week eight
    +week nine
    +week ten + +
     
    +contact:
    +Ann Kaloski
    +eakn1 at york
    dot ac dot uk
    +
    +Centre for Women's Studies
    +Grimston House + +
    tel: x3671/4 + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Sorry, your browser doesn't support Java(tm). + + +

    This literary and cultural studies module examines writing on and about the web. We will look at both paper and online texts in order to:

    +
      +
    • investigate the relationship between 'new' media technologies, writing and reading +
    • assess changing definitions of literature and of fiction +
    • evaluate cultures of web use +
    +

    Our critical tools will be varied, drawing on existing feminist ideas within cultural and literary criticism and on media-specific analysis of web fiction as well as, of necessity, developing our own - perhaps tentative - perspectives and theories.

    + +

    A willingness to take risks and a desire to engage with web technologies is more important than any prior knowledge, although existing literary, cultural or technical expertise is very welcome. This is, after all, new media and I am happy to work with a variety of starting skills, a range that will, undoubtedly, enhance the learning process for the entire group.

    + +

    Alongside reading texts we will also write texts, perhaps via the production of simple web pages or through collaborative, simultaneous online writing. The point of these workshops is to generate understanding of the process of new media fiction, so 'bad writing' is fine!

    + +

    While this module expects a lot of its students, full support will be given to help you develop the apposite skills. You are encouraged to devise your own assignment in consultation with me, and this can be presented in traditional form or, if more appropriate, as an electronic essay. By the end of the course you should:

    + +
      +
    • understand relevant literary and cultural feminist theory +
    • be skilled in reading web-based creative work +
    • have access to a range of methodologies suitable for assessing and theorising web-based and other, similar, electronic media (eg CDROMS) +
    • be reasonably proficient in simple web writing, which might include a basic knowledge of HTML, using BLOGs and interacting on MOOS +
    + + +
    +  +
    + + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webfiction04.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webfiction04.html new file mode 100644 index 0000000..b3976cb --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webfiction04.html @@ -0,0 +1,175 @@ + + +Feminist Perspectives on Web Fiction 2004 + + + + + + + + + + + + + +
    +

    FEMINIST PERSPECTIVES
    ON
    WEB FICTION
    2004

    + + + +wws index
    +outline
    +web fiction home +guidelines
    +timetable
    +bibliography
    + discussion list
    +LambdaMOO
    +week two
    +week three
    +week four
    +week five
    +week six
    +week seven
    +week eight
    +week nine
    +week ten + + +
     
    +contact:
    +Ann Kaloski
    +eakn1 at york
    dot ac dot uk
    +
    +Centre for Women's Studies
    +Grimston House + +
    tel: x3671/4 + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Sorry, your browser doesn't support Java(tm). + + + +
     
    + +

    These web pages are a base for Feminist Perspectives on Web Fiction. They contain important guidelines for the module, core worksheets, links to the class discussion list, and bibliographic suggestions. It is vital that you use these pages alongside the weekly contact time in order to keep up-to-date with the module.

    + + + +
      The module consists of: +
    • A 2-hour class session on Wednesday mornings 10.15 - 12.15 in Room V/X301. Please make sure you are prompt, and feel free to bring coffee. + +
    • Key texts, usually one or two per week. These must be read carefully and notes made. Whether you are presenting or not, you must be prepared to enter into the class discussion. + +
    • Background reading. This includes theoretical and artistic texts (and many which cross the boundaries), and both print and digital material. It is vital you read around the main texts; please read the Guidelines for advice about this (see menu on left). + +
    • Online discussion. This is an integral and, I hope, fun part of our contact. The discussion list will enable you to ask questions, make comment and suggest bibliographic sources outside of the classroom. As the discussion is archived it will serve as an excellent group resource. + +
    • Your own web pages. Everyone will have a chance to play at making a web page and the opportunity, if you so wish, to develop a web site, which may form part of your formal or informal assessment. + +
    • Assessment. The module is informally assessed through participation in class and online discussion, and formally assessed by one assignment of 3000-4000 words. This may be presented electronically or as a more traditional essay, as appropriate for your topic. You are encouraged to devise your own essay question in full consultation with me. Details of assessment are in the Women's Studies Handbook, and further details of this module assessment will be available as the course develops. + +
    + +
      Before starting the module you should: + +
    • Re-read the module outline (see menu on left) and browse some of the suggested prelimary texts, both print and digital. + +
    • Peruse these class web pages so that you get an idea of its structure and know how to navigate it. + +
    • Read the Guidelines for the course. You will note that as well as engaging with key texts, wider reading and discussion both in class and online are integral parts of the module. + +
    • Think about how you will structure your time and devise a timetable for yourself so that you don't get behind with the work and you are able to make the most of the opportunities the module offers. + +
    + +
      Early in the module you should: + +
    • Sign up for the yahoo disussion group (see menu on left) and learn how to use it. +
    + +
      Throughout the module you should: + +
    • Make sure you buy or download and carefully read all key texts in good time. + +
    • Make sure you read at least one background text each week; most weeks you will read much more than this. + +
    • Post at least one comment per week on the yahoo list, although I expect most people will enter into lively disccuion and not count the times they send a message. + + +
    • Let me know if you spot any typos or broken links on the web pages! + +
    + + + +
    +  +
    + + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webfiction2004.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webfiction2004.html new file mode 100644 index 0000000..594ac42 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webfiction2004.html @@ -0,0 +1,167 @@ + + +Wired Women's Studies: Web Fiction 2004 + + + + + + + + + + + + +
    + +

    +___e-learning___ modules___diy web pages___contact___

    +

    return to index

    + +

     

    + +

    PLAIN
    TEXT
    PRINTABLE
    VERSION

     
    + + +EXISTING
    STUDENTS:
    GO TO
    MODULE
    WEB PAGES

    + +

    + +Feminist Perspectives on Web Fiction :: 2004

    +

    Feminist Perspectives on Web Fiction :: 2004

    + +

    Tutor: Dr Ann Kaloski-Naylor
    Centre for Women's Studies, 3rd Floor, Grimston House
    +x3674(direct); x3671(messages); eakn1

    + +

    +Description +

    Contests for the meanings of writing are a major form of contemporary political struggle. . . . Cyborg writing is about the power to survive, not on the basis of original innocence, but on the basis of seizing the tools to mark the world that marked them as other. Donna Haraway, 1985

    + + +

    +Over the past decade the web and the rest of the internet have become well-used sites for information gathering and for communication. This literary and cultural studies module examines a third aspect of web-use, that of creativity, focussing particularly on writing on and about the web.

    + +

    Women have been at the forefront of 'seizing the tools' of the web in order to expand radical definitions of subjectivity, imagination, power and narrative. We will look at both paper and web-native online texts in order to:

    + +
      +
    • investigate the relationship between 'new' media technologies, writing, reading and theory +
    • assess changing definitions of literature and of fiction +
    • develop transferable web literacy skills +
    • generate a variety of salient feminist understandings of electronic fiction +
    • have fun experimenting with digital writing +
    + +

    Our critical tools will be varied, drawing on existing feminist ideas within cultural and literary theory and on media-specific analysis of web writing as well as, of necessity, developing our own, perhaps tentative, perspectives.

    + +

    A willingness to take risks and a desire to engage with web technologies is more important than any prior knowledge, although existing literary, cultural or technical expertise is very welcome. This is, after all, new media and I am happy to work with a variety of starting skills, a range that will, undoubtedly, enhance the learning process for the entire group. Alongside reading texts we will also write texts, perhaps via the production of simple web pages or through collaborative, simultaneous online writing.

    +

    While this module expects much of its students, full support will be given to help you develop the apposite skills. Within the remit of the course there is scope for students to develop particular trains of thought, and you will have some choice over the material we look at. A mutually supportive environment will be fostered via seminar participation and through the online class discussion list. You are encouraged to devise your own assignment in consultation with me, and this can be presented in traditional form or, if more appropriate, as a digital essay.

    + +

    I realize that taking this course will be entering new territory for many, if not all, students. If you would like additional information to help you decide whether this course is for you, it may be a good idea to browse through last year's version of the option, available here. I can also put you in touch with students who took the module in 2003, or answer any queries myself (email contact button at the top of the page, or send a note to Ann Kaloski at the Centre for Women's Studies).

    + +

    Further details of the module will be available online in autumn 2003.

    + +

    +Learning Outcomes
    +After successfully completing this course students should: + +

      +
    • be familiar with a variety of fiction native to the web +
    • have access to a range of feminist methodologies and theoretical models (both canonical and emergent) suitable for investigating digital media +
    • be critically aware of the historical and cultural specificities of web use +
    • be comfortable enough with the genre to develop personal likes and dislikes and (hopefully!) continue to read digital work for pleasure +
    • be reasonably proficient in simple web writing, which might include a basic knowledge of HTML, using BLOGs or interacting on MOOS +
    • have developed skills in seminar participation and in online discussion +

    + +

    +Teaching Programme
    +One two-hour seminar a week, usually focussing on a key text and issue. The following is a draft programme: +

      +
    1. Technology and Subjectivity: extract from Writing Machines by N Katherine Hayles +
    2. Identity online: The Powerbook (Jeanette Winterson) and MOOs +
    3. A Feminist Story 1: Zeros and Ones by Sadie Plant +
    4. Web writing workshop +
    5. Imagining the Web: He, She and It by Marge Piercy and 'A Cyborg Manifesto' by Donna Haraway +
    6. A Feminist Story 2: The Roots of Nonlinearity: Toward a Theory of Web-Specific Art-Writing by Christy Sheffield Sanford +
    7. Student-directed session +
    8. Student-directed session +
    9. Assignment workshop and moving on. +
    +

    + +

    +Preliminary Reading

    +
    + +
    Round table discussion with N Katherine Hayles, Marjorie Perloff, Dianne Greco, Linda Carroli and Shelley Jackson, hosted by Jennifer Ley Women and Technology, Beyond the Binary
    +
    Intelligent and assessible introduction to feminism and digital fiction from some of the leading artists and critics in the field. Highly recommended.
    +
    David Bell and Barbara Kennedy, eds. The Cybercultures Reader (Routledge, 2000)
    +
    Especially sections on Cyberfeminisms, Cyberbodies, and Post-(cyber)bodies.
    + +
    Rosi Braidotti 'Cyberfeminism with a difference'
    +
    Early theoretical analysis of women's creative engagement with web media.
    + +
    Carolyn Guertin and Marjorie Coverley Luesebrink, eds. 'The Progressive Dinner Party' Riding the Meridian 1:2; follow 'diner' link.
    +
    A feast of web-specific work by women; browse and enjoy!
    + +
    Susan Hawthorne and Renate Klein, eds. Cyberfeminism: Connectivity, Creativity and Critique (Spinifex Press, 2000)
    +
    A diverse volume of essays offering sociological, cultural and poetic analysis.
    + +
    Donna Haraway, A Cyborg Manifesto: Science, Technology, and Socialist-Feminism in the Late Twentieth Century
    +
    Ironically foundational text for contemporary feminist cultural theory
    + +
    N Katherine Hayles Writing Machines (MIT Press, 2002)
    +
    An introductory and informative 'zine for adults' by a leading theorist of digital literature and culture.
    + +
    Janet H Murray Hamlet on the Holodeck: The future of narrative in cyberspace (MIT Press, 1998)
    +
    Popular (with students) and accessible introduction to new media literary criticism.

    + + +

    Language No language other than English is required.

    + + + +
    + + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webfiction2004plain.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webfiction2004plain.html new file mode 100644 index 0000000..1865127 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webfiction2004plain.html @@ -0,0 +1,121 @@ + + +Wired Women's Studies: Web Fiction 2004 + + + + + + + + + + + +
    + + + +

    Feminist Perspectives on Web Fiction :: 2004

    + +

    Tutor: Dr Ann Kaloski-Naylor
    +Centre for Women's Studies, 3rd Floor, Grimston House
    +01904 433674(direct); 01904 433671(messages); eakn1@york.ac.uk

    + + +

    "Contests for the meanings of writing are a major form of contemporary political struggle. . . . Cyborg writing is about the power to survive, not on the basis of original innocence, but on the basis of seizing the tools to mark the world that marked them as other." Donna Haraway, 1985

    + + +

    +Description
    +Over the past decade the web and the rest of the internet have become well-used sites for information gathering and for communication. This literary and cultural studies module examines a third aspect of web-use, that of creativity, focussing particularly on writing on and about the web.

    + +

    Women have been at the forefront of 'seizing the tools' of the web in order to expand radical definitions of subjectivity, imagination, power and narrative. We will look at both paper and web-native online texts in order to:

    + +
      +
    • investigate the relationship between 'new' media technologies, writing, reading and theory +
    • assess changing definitions of literature and of fiction +
    • develop transferable web literacy skills +
    • generate a variety of salient feminist understandings of electronic fiction +
    • have fun experimenting with digital writing +
    + +

    Our critical tools will be varied, drawing on existing feminist ideas within cultural and literary theory and on media-specific analysis of web writing as well as, of necessity, developing our own, perhaps tentative, perspectives.

    + +

    + +A willingness to take risks and a desire to engage with web technologies is more important than any prior knowledge, although existing literary, cultural or technical expertise is very welcome. This is, after all, new media and I am happy to work with a variety of starting skills, a range that will, undoubtedly, enhance the learning process for the entire group. Alongside reading texts we will also write texts, perhaps via the production of simple web pages or through collaborative, simultaneous online writing.

    +

    While this module expects much of its students, full support will be given to help you develop the apposite skills. Within the remit of the course, there is scope for students to develop particular trains of thought, and you will have some choice over the material we look at. A mutually supportive environment will be fostered via seminar participation and through the online class discussion list. You are encouraged to devise your own assignment in consultation with me, and this can be presented in traditional form or, if more appropriate, as a digital essay.

    + +

    I realize that taking this course will be entering new territory for many, if not all, students. If you would like additional information to help you decide whether this course is for you it may be a good idea to browse through last year's version of the option, available on www.york.ac.uk/teaching/cws/wws/webfiction.html. I can also put you in touch with students who took the module in 2003, or answer any queries myself (email contact button at the top of the page, or send a note to Ann Kaloski at the Centre for Women's Studies).

    + +

    Further details of the module will be available online in autumn 2003.

    + +

    +Learning Outcomes
    +After successfully completing this course students should: + +

      +
    • be familiar with a variety of fiction native to the web +
    • have access to a range of feminist methodologies and theoretical models (both canonical and emergent) suitable for investigating digital media +
    • be critically aware of the historical and cultural specificities of web use +
    • be comfortable enough with the genre to develop personal likes and dislikes and (hopefully!) continue to read digital work for pleasure +
    • be reasonably proficient in simple web writing, which might include a basic knowledge of HTML, using BLOGs or interacting on MOOS +
    • have developed skills in seminar participation and in online discussion +

    + +

    +Teaching Programme
    +One two-hour seminar a week, usually focussing on a key text and issue. The following is a draft programme: +

      +
    1. Technology and Subjectivity: extract from Writing Machines by N Katherine Hayles +
    2. Identity online: The Powerbook (Jeanette Winterson) and MOOs +
    3. A Feminist Story 1: Zeros and Ones by Sadie Plant +
    4. Web writing workshop +
    5. Imagining the Web: He, She and It by Marge Piercy and 'A Cyborg Manifesto' by Donna Haraway +
    6. A Feminist Story 2: The Roots of Nonlinearity: Toward a Theory of Web-Specific Art-Writing by Christy Sheffield Sanford +
    7. Student-directed session +
    8. Student-directed session +
    9. Assignment workshop and moving on. +
    +

    + +

    +Preliminary Reading

    +
    + +
    Round table discussion with N Katherine Hayles, Marjorie Perloff, Dianne Greco, Linda Carroli and Shelley Jackson, hosted by Jennifer Ley 'Women and Technology, Beyond the Binary', on http://www.heelstone.com/meridian/rtable3.html
    +
    Intelligent and assessible introduction to feminism and digital fiction from some of the leading artists and critics in the field. Highly recommended.
    + + +
    David Bell and Barbara Kennedy, eds. The Cybercultures Reader (Routledge, 2000)
    +
    Especially sections on Cyberfeminisms, Cyberbodies, and Post-(cyber)bodies.
    + +
    Rosi Braidotti 'Cyberfeminism with a difference', on http://www.let.uu.nl/womens_studies/rosi/cyberfem.htm
    +
    Early theoretical analysis of women's creative engagement with web media.
    + +
    Carolyn Guertin and Marjorie Coverley Luesebrink, eds. 'The Progressive Dinner Party', on http://www.heelstone.com/meridian/ Riding the Meridian 1:2; follow 'diner' link.
    +
    A feast of web-specific work by women; browse and enjoy!
    + +
    Susan Hawthorne and Renate Klein, eds. Cyberfeminism: Connectivity, Creativity and Critique (Spinifex Press, 2000)
    +
    A diverse volume of essays offering sociological, cultural and poetic analysis.
    + +
    Donna Haraway, 'A Cyborg Manifesto: Science, Technology, and Socialist-Feminism in the Late Twentieth Century, widely antholgised and also available on line on http://www.stanford.edu/dept/HPS/Haraway/CyborgManifesto.html
    +
    Ironically foundational text for contemporary feminist cultural theory
    + +
    N Katherine Hayles Writing Machines (MIT Press, 2002)
    +
    An introductory and informative 'zine for adults' by a leading theorist of digital literature and culture.
    + +
    Janet H Murray Hamlet on the Holodeck: The future of narrative in cyberspace (MIT Press, 1998)
    +
    Popular (with students) and accessible introduction to new media literary criticism.

    + + +

    Language No language other than English is required.

    + + + +
    + + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webpage1.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webpage1.html new file mode 100644 index 0000000..ebb8fef --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webpage1.html @@ -0,0 +1,87 @@ + + +webpage1 + + + + + + +
    +

    STARTING . . .

    + + +

    There are lots of ways to create web pages using already coded programmes. These lessons will teach you how to use the underlying HyperText Markup Language - HTML. +
    +

    HTML isn't computer code, but is a language that uses US English to enable texts (words, images, sounds) to be inserted and formatting such as colo(u)r and centre/ering to be written in. The process is fairly simple; the main difficulties often lie in small mistakes - if you slip up while word processing your reader may pick up your typos, but the page will still be legible. However, if your HTML is inaccurate the page may not appear - writing web pages is, at the least, very good practice for proof reading!

    + +

    Learning HTML will enable you to: +

      +
    • create your own simple pages +
    • read and appreciate pages created by others +
    • develop an understanding of the creative and literary implications of web-texts +
    • have the confidence to branch out into more complex web design +

    + +

    A HTML web page is made up of tags. Tags are placed in brackets like this < tag > . A tag tells the browser how to display information. Most tags need to be opened < tag > and closed < /tag >. + +

    To make a simple web page you need to know only four tags: +

      +
    • < HTML > tells the browser your page is written in HTML format +
    • < HEAD > this is a kind of preface of vital information that doesn't appear on the screen. +
    • < TITLE >Write the title of the web page here - this is the information that viewers see on the upper bar of their screen. (I've given this page the title 'webpage1'). +
    • < BODY >This is where you put the content of your page, the words and pictures that people read on the screen. +
    +

    All these tags need to be closed. + +

    EXERCISE

    + +

    Write a simple web page.

    +

    Copy out exactly the HTML below, using a WP program such as Notepad.
    +Information in italics indicates where you can insert your own text, other information is HTML and needs to be exact. However, make sure there are no spaces between the tag brackets and the text inside.
    +(Find Notepad by going to the START menu\ PROGRAMS\ ACCESSORIES\ NOTEPAD). +

    +< HTML >
    +< HEAD >
    +< TITLE > title of page< /TITLE >
    +< /HEAD >
    +< BODY>
    + write what you like here: 'my first web page', or a piece about what you are reading, or a few thoughts on the course, or copy out a few words from a book or cornflake packet. Just type in your words using no extras such as bold, or italics, as these have special HTML tags, although you may use upper and lower case letters and single spaces.
    + +< /BODY >
    +< /HTML >
    + +

    Save the file as 'first.html' (ie. call the file anything at all) It's useful if you start a folder - just as you would for word-processing - and call it something like WEBPAGES, and put your first.html file in the folder. + +

    NOW - open your browser.
    +On Netscape the process is:
    +Top menu; FILE\ OPEN PAGE\ CHOOSE FILE
    +Click on your WEBPAGES folder\ FIRST file
    +Click 'open' and your page should appear. +

    On Internet Explorer:
    +Top menu; FILE\ OPEN\ BROWSE
    +Click on your WEBPAGES folder\ FIRST file
    +Click 'open' and your page should appear.
    + + +

    If the page doesn't open, go back over your notepad typing and make sure that all the HTML tags are correct. Check there are no spaces between tags and internal text; check that all tags are closed; check that you haven't written < HTLM > or < BDDY >. Your page will work eventually. +

    +Make another page. Call it somethingdifferent.html and place it in the same WEBPAGES folder as detailed above. +

    start formatting in lesson two +
    back to wws index

    +

    + + +
    + + +
    + + + + + + + + + diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webpage2.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webpage2.html new file mode 100644 index 0000000..40f3dce --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webpage2.html @@ -0,0 +1,123 @@ + + +webpage2 + + + + + + +
    +

    First Steps in Formatting

    + + +
    + +

    The formatting of words has always been an integral part of the writing/ reading process: think about hand-written medieval manuscripts with their beautiful illuminated texts, or consider the design of the inside pages of contemporary novels or, indeed, of your essays and dissertations (page size, title page, contents, bibliography, font size, punctuation ...). We have become so familiar with certain print conventions that the medium has become largely transparent or, when it does assert itself we tend to 'feel' it as a sensual artifact ("I like taking books to bed").

    + +

    A new medium such as the web demands self-conscious attention to the format of its text, and millions of words (print and online) are dedicated to the topic of 'web design'. More precisely, within the genre of web-specific fiction, formatting techniques are used to generate literary/ artistic meaning, and explicit attention to formatting is the first characteristic of web writing.

    + +

     

    + +

    +This lesson will teach you simple formatting:
    how to change the colo(u)r of the font and background, how to apply font emphasis such as bold or italic, how to change the size of your font, and how to position text on the page. +

     

    + +

    BODY COLO(U)R

    +

    +To change the body colo(u)r you need to add the attribute to the   < BODY > tag, like this:

    < BODY BGCOLOR="black" > + +

     

    + +

    FONT ATTRIBUTES

    + +

    You can specify the font colour by using the BODY tag: +

    +< BODY BGCOLOR="black" TEXT="green" > +

    +Or you can stipulate the attributes of different chunks of text throughout the body of the page. +
    This involves a new tag, the < FONT > tag and its partner < /FONT>. +

    You type the font tag at the beginning and end of your text to change features such as colour and size. For example: +

    < FONT COLOR="red" SIZE="4"> This is quite bold and bright < /FONT > +
    You can use numbers 1-7 inclusive.

    +

    < B > bold < /B>

    +

    < I > italic < /I >

    +

    < U > underline < /U >

    + +

    < H > Heading tags can be used from a large < H1> down to a very small font < H6 >, and tags must always be closed.
    +For example:

    < H1 > BIG HEADING < /H1 >

    Try the out the other sizes, and note the space above and below the typed line.

    + + +

     

    + +

    POSITIONING TEXT

    + + +

    < BR > This forces a line break.
    < BR > This tag doesn't need to be closed. + + +

    < P > Starts a paragraph. Close like so: < /P >

    +

    < P > Then repeat to start the next paragraph, and pay attention to the line spacing that results from this technique. < /P >

    +

    < P> Are you getting the hang of this? It is quite a challenge to position text accurately with these basic techniques - not like word processing at all. Later on you can learn how to draw TABLES - a grid which enables the precise setting of web page elements - but, for now, see how much you can do with a few simple tricks. < /P >

    + + + +

    < CENTER > puts text in the centre of a page. Close < /CENTER >
    + +

    < PRE >

    +		This enables you to have some control
    +		over the positioning of text.
    +		BUT
    +		the font, as you see, is mono-type.
    +
    +		Remember 
    +		to
    +                    close
    +                           the
    +			        tag.
    < /PRE >

    + +

     

    +

    Don't forget - there is no space between the brackets and the text inside.

    + +

    and just for fun: < HR > draws a horizonal line across the page. No need to close this tag.


    + +

    +
    + + +

    EXERCISE

    + +Have some fun and produce a web page that exploits the colour and font attributes you have learnt.
    +Take a piece of print writing - your own or a found text - and convert it into HTML. Stretch the simple techniques of this lesson. Focus on the process: play and make mistakes and see where such mistakes take you. When you have written something you like, or you get bored and want to move on, save your page in your WEBPAGES folder.

    + + +

     

    + +

    EXTRA

    + +

    +COLOUR: There are more complicated and subtle ways of choosing and writing colo(u)rs than by using their ordinary names. This involves specifying the 'hexadecimal' number of each of the 216 web-safe colo(u)rs. When you are ready, check out these pages by Kaz Madigan (opens in new browser). Click on the 'web safe colours' link.
    +But everyday names are fine to start with

    + + +

     

    +

    In the next lesson we look at how to make links to other pages (your own pages and those already on the web). + +

    go to: +

    lesson one: a simple web page      +lesson three: linking web texts
    +back to wws index

    +

    +
    + + +
    + + + + + + + + + diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webpage3.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webpage3.html new file mode 100644 index 0000000..7c36106 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webpage3.html @@ -0,0 +1,94 @@ + + +webpage3 + + + + + + + + +
    +

    Making + Connections:
    Linking + Webtexts

    + + +
    "The metaphor of the Text is that of the network" Roland Barthes + +

    We now turn to the second innovative characteristic of the web for creative work: the ability to allow clickable links, known as hyperlinks or hypertext. In fact, for many people hypertext is the web.

    + +

    A useful way to begin to understand the connectivity of the web is to make your own links. This is relatively straightforward, once you have got used to being very precise with your typing.

    +

     

    +

    LINK TO ANOTHER WEB SITE

    +

    This is written via a tag that needs to be opened and closed.
    +Choose a web page you would like to link to - it could be one of a favourite writer, a home page of a friend, or your favourite band. Note the URL (address of the first page of the site). (The easiest way is to highlight this in the bar above the page, then copy it ready to paste into your tag.) + +

    This is the tag you use: +

    +< A HREF="http://www.website" >your text < /A> + +

    Be sure that: +

      +
    • there are no spaces between the tag and the text +
    • you enter the full URL
    + +

    example - here is the HTML for a link to The Center for Women and Information Technology at Maryland University, Baltimore County, USA
    + +

    < A HREF="http://www.umbc.edu/cwit/" > CWIT < /A> +

    The link is live - try it! +

     

    + + +

    LINKS BETWEEN YOUR OWN PAGES

    +

    When you have written more than one page you can make links between them. This is the tag you use:
    +< A HREF="yourpage.html" >linking text < /A> + +

    +example- here is the HTML code for a link to the first web page lesson: +

    < A HREF="webpage1.html > A Simple Web Page < /A> +

    I could have written anything instead of 'A Simple Web Page' - written a whole paragraph, or inserted an image (see next lesson): it's the < A > tags that do the work. + +

     

    +

    A LINK TO YOUR OWN EMAIL ADDRESS

    + +

    This is the tag I would use:
    +

    < A HREF="mailto:eakn1@york.ac.uk" > email me < /A> +

    This HTML opens up an email message page. Try the one above to see what happens - and send me a message when you reach this point. + +

     

    +

    LINKING FROM IMAGES

    + +

    This is covered in lesson four. +

     

    + +

    EXERCISE: MAKING YOUR CONNECTIONS

    +

    Plan a simple web site on paper with a home page and at least five links. These should include a link between at least two pages of your own, as well as links to other pages on the net and a live email link. This is an exercise, not a definitive site, so don't worry too much about what you choose. Scribble your ideas, include arrows to show where you will put the links and which direction they will link. Your plan might look something like this. +
    +
    Now transfer your plan to an electronic format and save your work in your WEBPAGES folder. +

    + + + +
     
    + +

    links:
    +lesson one: A Simple Web Page       lesson two: Simple Formatting
    lesson four: Images

    +

    back to wws index

    + + +
    + + +
    + + + + + + + + + + + + diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webpage4.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webpage4.html new file mode 100644 index 0000000..56856fd --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webpage4.html @@ -0,0 +1,112 @@ + + +webpage4 + + + + + + +
    +
    THE WORD IMAGES
    + +

     

    +
    + +The third characteristic of web page writing is the blurring of boundaries between words and images. The technology of the web encourages this: in work devised for the screen it is nearly as easy, and as inexpensive, to insert an image instead of written text. For instance, the title of this page - 'IMAGES' - is a simple image prepared in Photoshop (view 'SOURCE' to check this out).

    + +

    + + + +

    This lesson introduces you to working with images - a huge topic in itself. I offer some suggestions for obtaining images, show you how to insert an image in a web page, and how to make a hyperlink from that image.

    + +

    OBTAINING IMAGES

    + +

    There are three main ways to get hold of images for use in web pages. +

      +
    1. Use an image from the clip art packages offered with systems such as Microsoft Works.
    2. +
    3. Take images from the web. This is remarkably easy:
    4. +
        +
      • If you see an image you like on a web page, move your mouse over the image.
      • +
      • Right click your mouse, and select 'Save picture as'
      • . (Try this with the title image at the top of the page). +
      • Save the file: it is best if you create a New Folder called something like IMAGES, and place this folder in your WEBPAGES folder. The saving is very similar to the process involved in saving a Word or WordPerfect file; the main difference is that you will notice the file is called 'something.jpg' (or jpeg) or 'something.gif'. You can change the name (the 'something' of the file designation) but you must retain the format extension (ie jpg/jpeg or gif).

      • +COPYRIGHT: Though few people are likely to be concerned about you taking an image for personal use, you must always respect the artists right over their work, as you would for work offered in books and journals. For master's essays, which are not published work, it is acceptable to use images without asking for permission SO LONG AS YOU SUPPLY A FULL REFERENCE. For Master's dissertations, and especially for PhD work, the area is more complex and the issues of copyright are still being resolved. If in doubt, write to the web designer and ask for permission. +
      +
    5. Create your own.
    6. +
        +
      • Use any image-manipultaing software.
        +This area of graphics manipulation is obviously a huge area in its own right, and beyond the scope of the course. However, due in part to the popularity of digital photography basic image manipulation software is widely available and easy to use: if you have computer you might well have something bundled in with your computer software. Simple programmes can obtained most months from the 'free' CDs on computer magazines (.Net is one of the best, but check out the others too). You can also download many free programmes - try finding what you need though a GOOGLE search. Of course, you can only use this new material if you have your own computer, as you cannot install new programmes on to the University system.
      • + +
      • Scanners can be very useful. Scan in your image at no more than 150 dpi (dots per inch), though I use 70 dpi for preference. If you do it denser than this the image will take a l-o-n-g t-i-m-e t-o d-o-w-n-l-o-a-d when you open your webpage. You can use photos, published images, and bits and pieces (lace material, crumpled paper, 3D objects ...)
        +Don't forget to save the image as a gif or jpg file (ie save it in that formant and give it the appropraite suffix).
    + + +

     

    +

    INSERTING IMAGES

    + +

    The tag used is: +

    < IMG SRC=image.jpg > or < IMG SRC=image.gif >

    + + +

    Making your inserted image look good

    + +

    You can place your image "left" or "right" on the page by using a modifying tag like so: +

    < IMG SRC=image.jpg ALIGN="right" > + +

    When an image is aligned "left" or "right" written text will wrap around the image. You can add space between words and image by adding the attributes VSPACE (for vertical space)and HSPACE (for horizontal!) +

    < IMG SRC=image.jpg ALIGN="right" VSPACE="5" HSPACE="2"> + + + +

     

    + + +

     

    + +

     

    +

     

    + +

    MAKING LINKS FROM IMAGES

    +feminist cartoon +

    This is done in exactly the same way as linking text files, by using the < A > tag. +

    +The basic code for inserting the image to the left is: + +

    < A HREF="http://www.york.ac.uk/inst/cws/ " >
    < IMG SRC="toofar.gif" ALIGN="left">< /A> + +

    the url after < A HREF > is the name of the destination site (in this case the CWS home page) +

    'too far.gif' is the name I gave to the linking image - the cartoon. + +

    If I had wanted to remove the default border from the cartoon linking image I could have added "BORDER="0" inside the < A > tag. + +

     

    + +

    EXERCISE

    + +
      +
    • Surf the web and pick up a few images as instructed above. Save them in your IMAGES folder. +
    • Insert an image in one of your web pages with some text. Move the image around: Align it 'left' or 'right' and look to see what happens. Try adjusting the 'V' (vertical) and 'H'(horizontal) properties. Add and remove the image border. +
    • When you are happy with the format of the page, make a link from the image to another web page. +
    + +

     

    +

    links:
    +lesson one: A Simple Web Page     lesson two: Simple Formatting +
    lesson three: Linking Web Texts

    +

    back to wws index

    +

    + + + + +
    + + + + + + + + + diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webpages.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webpages.html new file mode 100644 index 0000000..ca47970 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webpages.html @@ -0,0 +1,289 @@ + + +Feminist Perspectives on Web Fiction: Writing a Web Page + + + + + + + + + + + + + + +
    +FEMINIST PERSPECTIVES
    ON
    WEB FICTION
    + +
     
    +wws index
    + web fiction home
    +guidelines
    +timetable
    +bibliography
    + discussion list +LambdaMOO
    +week two
    +week three
    +week four
    +week five
    +week six
    +week seven
    +week eight
    +week nine
    +week ten + + +
     
    +contact:
    +Ann Kaloski
    +eakn1 at york
    dot ac dot uk
    +
    +Centre for Women's Studies
    +Grimston House + +
    tel: x3671/4 + +
    + +

    writing our own
    WEB PAGES :: 1

    +
    + +

    +

    "In the proud tradition of giving children their own web domain as a christening present, my creators have given me my own website."

    +

    + +footnote: read about Lucy the robot orang-utan

    + + +

    This week we decamp to the web room for a practical workshop that aims to introduce you to the joys and frustrations of writing your own web pages.

    + +

    By the end of the session everyone will have:

    + +
      +
    • written a few web pages +
    • linked pages together into the beginnings of a site +
    • offered links to other sites +
    • (if you wish) uploaded your pages to a server so that the web site is live and accessible on the World Wide Web. +
    • developed an understanding of basic HTML +
    + +

    With just simple formatting it is possible to produce a useful and attractive site, and you are strongly encouraged to play with this basic formatting - becoming competent with the fundamentals of HTML, stretching the way the code is used, learning to appreciate the nuances of basic web sites - before moving on to more complex elements of design. However, I don't intend to hold anyone back, and I will point you in the direction of many resources, both online and in the books.

    + + +

    Before the session

    + +

    There is no key text or compulsory pre-session work this week. Instead, I offer a few suggestions for ways to take advantage of your study time:

    + + + +

    Some useful web design sites

    + +

    BigNoseBird.Com

    + +

    Web Monkey

    + +

    Dynamic Drive

    + + + +
    +  +
    + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webpages04.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webpages04.html new file mode 100644 index 0000000..c4cb625 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/webpages04.html @@ -0,0 +1,306 @@ + + +Feminist Perspectives on Web Fiction 2004: web pages + + + + + + + + + + + + + + + + + +
    + + +

    FEMINIST PERSPECTIVES
    ON
    WEB FICTION
    2004

    + +wws index
    +outline
    +web fiction home +guidelines
    +timetable
    +bibliography
    + discussion list
    +LambdaMOO
    +week two
    +week three
    +week four
    +week five
    +week six
    +week seven
    +week eight
    +week nine
    +week ten + +
     
    +contact:
    +Ann Kaloski
    +eakn1 at york
    dot ac dot uk
    +
    +Centre for Women's Studies
    +Grimston House + +
    tel: x3671/4 + +
    + +

    web page workshop
      +

    +
    + +

    "In the proud tradition of giving children their own web domain as a christening present, my creators have given me my own website." Lucy, a robot orang-utan

    + +

     

    +

    This week's work is to design a simple web site. Your work may remain on paper, or be transferred to a CDROM. It's probably better not to rely on online stability at this stage!

    + +
      The aim of the exercise is two-fold: + +
    • to think about the structure of web sites +
    • to approach a conceptual aspect of the course from a simple, 3D, web-design perspective. + +
    + +

    I am not seeking a complicated design but, rather, an analysis of the process.

    + +

    before the session

    + + + + + +

    during the session

    + +

    There will be presentations and discussion of all web sites. Come to class with your papers, a few digital pages if you want, and some thoughts on the process, and how this challenges, confirms, or relates in some way to web-theories.

    + +

    Discussion should aim to relate the web-sites-in-progress to ideas and perspectives you have been reading about during the module.

    + +

    NB: This exercise can form the basis of an assignment, either in its form, or though the ideas you generate, although it need not.

    + +

    Some useful web design sites

    + +

    BigNoseBird.Com

    + +

    Web Monkey

    + +

    Dynamic Drive

    + +

    Also, check out the courses and online guides offered by York's computing services.

    + + +
    +  +
    + + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/winterson04.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/winterson04.html new file mode 100644 index 0000000..5fe35b5 --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/winterson04.html @@ -0,0 +1,114 @@ + + +Feminist Perspectives on Web Fiction 2004: Winterson and MOOs + + + + + + + + + + + + + +
    + + +

    FEMINIST PERSPECTIVES
    ON
    WEB FICTION
    2004

    + +wws index
    +outline
    +web fiction home +guidelines
    +timetable
    +bibliography
    + discussion list
    +LambdaMOO
    +week two
    +week three
    +week four
    +week five
    +week six
    +week seven
    +week eight
    +week nine
    +week ten + +
     
    +contact:
    +Ann Kaloski
    +eakn1 at york
    dot ac dot uk
    +
    +Centre for Women's Studies
    +Grimston House + +
    tel: x3671/4 + +
    + +

    Jeanette Winterson :: The.PowerBook
    +LambdaMOO

    +
    + +

    key texts

    +

    This week we will focus on Winterson's print novel The.PowerBook, a tale of love and identity online and offline. In order to help us think about the decisions Winterson has made about imagining and also writing online communication, we shall also look at the non-fictional(?) virtual community of LamdaMOO.

    + +

    Reading around Winterson:

    + +

    There is a great deal of material available about Jeanette Winterson's oevre. You can find reference to much of it on Winterson's official web site and on the reader's web site (both these sites open in new browsers).

    + +

    Reading about MOOs:

    + +

    There is an abundance of material about MOOs, but I suggest you start with: +

    Sue Thomas Hello World: Travels in virtuality (Raw Nerve, forthcoming). Section 3, pp23-25, offers a short manual for entering Lambda; section 4, pp25-37, is a reflective commentary on Mooing. This book is not yet published, but I will leave a proof copy of the relevant sections in the Common Room, or download a PDF of the first part of the book from the Yahoo York Gurls file store. (NB: still in draft form NOT FOR DISTRIBUTION) + details of book

    + +

    For a more distanced view, try: Caroline Bassett, 'Virtually Gendered: Life in an on-line world' in Ken Gelder and Sarah Thornton The Subcultures Reader (London & New York: Routledge, 1997), 537-550.

    + + +

    Visiting LambdaMOO

    +
      +
    • Use the instructions in Hello World, details above +
    • OR
      telnet directly to Lambda MOO at telnet://lambda.moo.mud.org:8888 +
    • OR
      use this link +
    +

    A good introductory tutorial is available at LinguaMOO.

    + + +

    +Whether or not you visit Lambda before next week, you will gain a flavour from the reading.

    +
    +
      + +Some questions to think about:
      +
    • Where do you imagine scenes in the novel as being set? Can you always be sure of the location? + +
    • What do you think Winterson is saying about subjectivity and identity? Do you find her arguments convincing? Why? Why not? + +
    • What kinds of connections does the book make between desire and identity? Between desire and online personas? + +
    • What metaphors and phrases does Winterson use to explore the concept of 'freedom'? What kind of freedom does the book seem to extol? + +
    • What do you make of the ways that Winterson changes her language from that of chat rooms or MOOS to a more conventional print form? What are the effects of the shifts? + + +
    • Is the narrative convincing as a love story? Why/ why not? + +
    • What do you think of the idea of MOOing as 'fiction writing'? + +
    • Does the gender-switching in virtual cities add anything to feminist understandings of gender? In answering this question, use a critical evaluation of your own experiences in LambdaMOO alongside theoretical material and Winterson's ideas offered in The Powerbook. If the idea of playing with gender interests you, you might like to read an earlier novel by Winterson, Written on the Body. + + +
    + + +
    +  +
    + + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/writingpages.html b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/writingpages.html new file mode 100644 index 0000000..e30ca4d --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/writingpages.html @@ -0,0 +1,74 @@ + + +Feminist Perspectives on Web Fiction: Writing a Web Page : 2 + + + + + + + + + + + + + + +
    +FEMINIST PERSPECTIVES
    ON
    WEB FICTION
    + +
     
    +wws index
    + web fiction home
    +guidelines
    +timetable
    +bibliography
    + discussion list +LambdaMOO
    +week two
    +week three
    +week four
    +week five
    +week six
    +
    week seven
    +week eight
    +week nine
    +week ten + + +
     
    +contact:
    +Ann Kaloski
    +eakn1 at york
    dot ac dot uk
    +
    +Centre for Women's Studies
    +Grimston House + +
    tel: x3671/4 + +
    + +

    writing our own
    WEB PAGES :: 2

    +
    + +

    For this week's session everyone should come to class prepared to offer an idea for the beginnings of a web site.

    + +

    Each person will be expected to offer a short presentation with a paper diagram of their proposed site and at least two pages in electronic form. Please bring the electronic version into class on disk, or saved on your notebook computer.

    + +

    The aim of this exercise - and of the class discussion - is to think about the process of producing web pages, to assess the decisions that need to made, and to evaluate the effects of web writing.

    + + +

    Please read this worksheet in conjunction with the details for week six, and continue with the exercises suggested therein.

    + + + + + + +
    +  +
    + + + \ No newline at end of file diff --git a/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/wws.css b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/wws.css new file mode 100644 index 0000000..5455f2d --- /dev/null +++ b/ipns-tutorial/www.york.ac.uk/teaching/cws/wws/wws.css @@ -0,0 +1,58 @@ + + + +A:link {color:#000000; font-weight: 400; text-decoration: none} + + +A:visited {color: #000000; font-weight: 400; text-decoration: none} + +A:hover {color:#fffff0; font-weight: 400; text-decoration: text-decoration: underline (color:#fffff0);} + + + +A:active {color:#fffff0; font-weight: 400; text-decoration: underline;} + +P.side {color:#000000; font-family: Verdana, sans-serif; font-weight: 400; font-size: 8pt; text-align: left; margin-right: 600px; margin-left: 20px; margin-top: -25px; margin-bottom: 0px;} + + +P.normal {color:#000000; font-family: Verdana, sans-serif; font-weight: 400; font-size: 10pt; text-align: center; line-height: 1.25; margin-right: 10pc; margin-left: 10pc; margin-top: 1pc; margin-bottom: 1pc; text-align: left;} + +P.a {color:#663399; font-family: Verdana, sans-serif; font-weight: 600; font-size: 14pt; text-align: center; margin-right: 10px; margin-left: 12px; margin-top: -50px; margin-bottom: 4px; } + +P.b {color:#cccccc; font-family: Verdana, sans-serif; font-weight: 600; font-size: 14pt; text-align: center; margin-right: 6px; margin-left: 10px; margin-top: -26px; margin-bottom: 30px; } + +P.c {color:#666699; font-family: Verdana, sans-serif; font-weight: 400; font-size: 10pt; text-align: left; margin-right: 120px; margin-left: 120px; margin-top: 20px; margin-bottom: 20px; } + +P.d {color:#666699; font-family: Verdana, sans-serif; font-weight: 400; font-size: 8pt; text-align: justify; margin-right: 190px; margin-left: 190px; margin-top: 20px; margin-bottom: 20px; } + +P.e {color:#000000; font-family: Verdana, sans-serif; font-weight: 600; font-size: 14pt; text-align: left; margin-right: 6px; margin-left: 140px; margin-top: 10px; margin-bottom: 30px; } + +P.names {color:#666669; font-family: Verdana, sans-serif; font-weight: 400; font-size: 10pt; text-align: center; margin-right: 6px; margin-left: 10px; margin-top: -25px; margin-bottom: 60px; } + +OL, UL {color:#666699; text-align: left; font-family: Verdana, sans-serif; font-weight: 400; font-size: 10pt; margin-right: 170px; margin-left: 190px; margin-top: 10px; margin-bottom: 10px; } + + +DL {color:#666699; font-family: Verdana, sans-serif; font-weight: 400; font-size: 10pt; text-align: left; margin-right: 120px; margin-left: 120px; margin-top: 0px; margin-bottom: 0px; } + +UL.p, LI.p, OL.p, DT.p, DL.p {color:#000000; font-family: Verdana, sans-serif; font-weight: 400; font-size: 10pt; text-align: left; margin-right: 20px; margin-left: 50px; margin-top: 10px; margin-bottom: 10px; } + + +DD {color:#666699; font-family: Verdana, sans-serif; font-weight: 400; font-size: 8pt; text-align: left; margin-right: 20px; margin-left: 10px; margin-top: 0px; margin-bottom: 10px; } + +DD.p {color:#000000; font-family: Verdana, sans-serif; font-weight: 400; font-size: 8pt; text-align: left; margin-right: 20px; margin-left: 100px; margin-top: -10px; margin-bottom: 10px; } + + + P.norm {font-family: Verdana, sans-serif; font-weight: 600; font-size: 10pt; text-align: center; margin-right: 2pc; margin-left: 2pc; margin-top: 0pc; margin-bottom: 0pc; text-align: center;} + +P.norma {color:#fffff0; font-family: Verdana, sans-serif; font-weight: 600; font-size: 10pt; line-height: 1.25; margin-right: 10pc; margin-left: 10pc; margin-top: 1pc; margin-bottom: 1pc; text-align: left;} + + P.nor {color:#000000; font-family: Verdana, sans-serif; font-weight: 400; font-size: 8pt; text-align: justify; margin-right: 10pc; margin-left: 10pc; margin-top: 1pc; margin-bottom: 1pc; } + + +P {color:#fffff0; font-family: Verdana, sans-serif; font-weight: 400; font-size: 8pt; text-align: center; line-height: 1.25; } + +P.p {color:#000000; font-family: Verdana, sans-serif; font-weight: 400; font-size: 10pt; text-align: left; margin-right: 20px; margin-left: 20px; margin-top: 10px; margin-bottom: 10px; } + +P.q {color:#000000; font-family: Verdana, sans-serif; font-weight: 400; font-size: 8pt; text-align: left; margin-right: 100px; margin-left: 100px; margin-top: 30px; margin-bottom: 30px; } + +P.f {color:#000000; font-family: Verdana, sans-serif; font-weight: 400; font-size: 8pt; text-align: left; margin-right: 100px; margin-left: 140px; margin-top: -20px; margin-bottom: 40px; } \ No newline at end of file diff --git a/multiformats_tut/.gitignore b/multiformats_tut/.gitignore deleted file mode 100644 index d5f19d8..0000000 --- a/multiformats_tut/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules -package-lock.json diff --git a/multiformats_tut/README.md b/multiformats_tut/README.md index c859227..5257506 100644 --- a/multiformats_tut/README.md +++ b/multiformats_tut/README.md @@ -3,26 +3,93 @@ This tutorial is a part of Medium Article Series ***"Understanding IPFS in Depth You can read the full article here: [*Understanding IPFS in Depth(4/6): What is MultiFormats?*](https://hackernoon.com/understanding-ipfs-in-depth-4-6-what-is-multiformats-cf25eef83966). -## Prerequisite +In short, multiformats answers to the questions when we do peer-to-peer networking +* what is the network address of the peer? what network transport protocol do we use? +* what is the format the data should be in? +* what is the size of the useful data? what is the overall size? +* what application will use the data? -Make sure that you have NodeJs installed. +Beware that **the code of the Medium post is obsolete**. Use the code here instead. It runs with +* node@12.18.4 +* multiaddr@9.0.1 +* multibase@4.0.4 +* multicodec@3.0.1 +* multihashes@4.0.2 -* [node](https://nodejs.org): version >= 8.0.0 - -To test your installation, run the below command. +# Prepare the dependencies +* Run `cd multiformats_tut` to enter this folder +* Run `npm install` to install the dependencies. +## Run the multiaddr tutorial +* Run `node multiaddr_tut.js` to run the tutorial on Multiaddr +```console +$ node maddr.js + -> addr raw = + -> addr.bytes raw = Uint8Array(8) [ + 4, 127, 0, 0, + 1, 6, 0, 80 +] + -> addr.buffer raw = undefined + -> addr toString = /ip4/127.0.0.1/tcp/80 + -> addr.protos raw = [ + { code: 4, size: 32, name: 'ip4', resolvable: false, path: false }, + { code: 6, size: 16, name: 'tcp', resolvable: false, path: false } +] + -> addr.nodeAddress raw = { family: 4, address: '127.0.0.1', port: 80 } + -> new proxy raw = + -> new full raw = + -> {proxy/addr} full toString = /ip4/192.168.2.1/tcp/3128/ip4/127.0.0.1/tcp/80 ``` -node --version +We see how the IP address+port is described and stored as a multiaddress, internally as a Unint8Array, in human form as `/ip4/127.0.0.1/tcp/80` + +We see how this IP address+port can be encapsulate in another IP address+port `/ip4/192.168.2.1/tcp/3128` + +## Run the multibase tutorial +Multibase is a protocol for disambiguating the encoding of base-encoded binary appearing in the text (e.g., base32, base64, base58, etc.). -//vXX.XX.X +* Run `node multibase_tut.js` to run the tutorial on Multiaddr +```console +$ node mbase.js + InitialText = Hey, how is it going + -> encoded raw = Uint8Array(29) [ + 122, 50, 49, 86, 119, 98, 106, 112, + 65, 90, 105, 54, 70, 52, 105, 55, + 107, 49, 102, 113, 105, 98, 55, 102, + 71, 78, 77, 122, 118 +] + -> encoded hex = 7a 32 31 56 77 62 6a 70 41 5a 69 36 46 34 69 37 6b 31 66 71 69 62 37 66 47 4e 4d 7a 76 + -> base encoding value = base58btc + Decoded text = Hey, how is it going ``` +## Run the multicodec tutorial +Multicodec is a self-describing multiformat, it wraps other formats with a tiny bit of self-description. A multicodec identifier is a varint. _A varInt (variable integer) is a field used in transaction data to indicate the number of upcoming fields, or the length of an upcoming field._ -## Running this tutorial -* Run `npm install` to install the dependencies. -* Run `node multiaddr_tut.js` to run the tutorial on Multiaddr +* Run `node multicodec_tut.js` to run the tutorial on Multicodec. here we use the `Protobuf` codec. +```console +$ node mcodec.js + Initial buffer to code = + --> prefixedProtobuf Uint8Array(21) [ + 80, 11, 238, 199, 181, 234, + 63, 15, 219, 201, 93, 13, + 212, 127, 60, 91, 194, 117, + 218, 138, 51 +] + --> codec prefixedProtobuf hex = 50 0b ee c7 b5 ea 3f 0f db c9 5d 0d d4 7f 3c 5b c2 75 da 8a 33 + --> Protobuf codec value = 50 + --> Prefixed Data codec name = protobuf + Value of codec dag-cbor = 113 , in hex = 71 + Name from codec code 113 = dag-cbor +``` +## Run the multistream tutorial +Multistream is a self-describing format, like multicodec but for unlimited amount (streaming) of data. It is useful when we want to simultaneously distribute a same video session over several transport streams using several protocols, for example Facebook, YouTube, LinkedIn and Tweeter. +We haven't touched the `multistream` tutorial. The code is not compatible with the version 2.0.0 of the package `multistream-select`. +## More reading +You may want to try [these exercises from ProtoSchool](https://proto.school/anatomy-of-a-cid). +They are about the same topics as here (multihash, multibase, multicodec), but explained differently. ## Bug, Fixes & Contributions We always welcome bug reports, bug fixes & contributions(PRs). - Add your bug reports [here](https://github.com/vasa-develop/ultimate-ipfs-series/issues/new) - Add your bug fixes and contributions(PRs) [here](https://github.com/vasa-develop/ultimate-ipfs-series/compare) + diff --git a/multiformats_tut/multiaddr_tut.js b/multiformats_tut/multiaddr_tut.js index d231409..78be018 100644 --- a/multiformats_tut/multiaddr_tut.js +++ b/multiformats_tut/multiaddr_tut.js @@ -1,26 +1,39 @@ -var Multiaddr = require('multiaddr') - -var home = new Multiaddr('/ip4/127.0.0.1/tcp/80') +/* + * tutorial multiaddr by Vaibhav Saini, updated by Vu Tien Khang (June 2021) + * multiaddr v9.0.1 + */ +//Import multiaddr functions +const { multiaddr } = require('multiaddr'); +//const addr = multiaddr("/ip4/127.0.0.1/udp/1234"); +const addr = multiaddr("/ip4/127.0.0.1/tcp/80"); +console.log(' -> addr raw =', addr); // - -console.log(home.buffer) +console.log(' -> addr.bytes raw =', addr.bytes); +/* +Uint8Array(8) [ + 4, 127, 0, 0, + 1, 6, 0, 80] + */ +console.log(' -> addr.buffer raw =', addr.buffer); // -console.log(home.toString()) +console.log(' -> addr toString =', addr.toString()); // '/ip4/127.0.0.1/tcp/80' -console.dir(home.protos()) +console.log(' -> addr.protos raw =', addr.protos()); // [ { code: 4, size: 32, name: 'ip4', resolvable: false, path: false }, // { code: 6, size: 16, name: 'tcp', resolvable: false, path: false } ] -console.dir(home.nodeAddress()) +console.log(' -> addr.nodeAddress raw =', addr.nodeAddress(), '\n'); // { family: 4, address: '127.0.0.1', port: '80' } -var proxy = new Multiaddr('/ip4/192.168.2.1/tcp/3128') +var proxy = new multiaddr('/ip4/192.168.2.1/tcp/3128'); +console.log(' -> new proxy raw =', proxy); // -var full = proxy.encapsulate(home) +var full = proxy.encapsulate(addr); +console.log(' -> new full raw =', full); // -console.log(full.toString()) +console.log(' -> {proxy/addr} full toString =', full.toString()); // '/ip4/192.168.2.1/tcp/3128/ip4/127.0.0.1/tcp/80' \ No newline at end of file diff --git a/multiformats_tut/multibase_tut.js b/multiformats_tut/multibase_tut.js index f156e1a..1de1c43 100644 --- a/multiformats_tut/multibase_tut.js +++ b/multiformats_tut/multibase_tut.js @@ -1,16 +1,32 @@ -const multibase = require('multibase') +/* + * tutorial multihash by Vaibhav Saini, updated by Vu Tien Khang (multibase - v4.0.4, June 2021) + */ +//Import multibase functions +const multibase = require('multibase'); //Encodes a buffer into one of the supported encodings, prefixing it with the multibase code -const encodedBuf = multibase.encode('base58btc', new Buffer.from('hey, how is it going')) -console.log(encodedBuf) -// +const initialText = 'Hey, how is it going'; +console.log(' InitialText = ',initialText); + +const encodedArray = multibase.encode('base58btc', new TextEncoder().encode(initialText)); +console.log(' -> encoded raw =', encodedArray); +/* +Uint8Array(29) [ + 122, 50, 49, 86, 119, 98, 106, 112, + 65, 90, 105, 54, 70, 52, 105, 55, + 107, 49, 102, 113, 105, 98, 55, 102, + 71, 78, 77, 122, 118] +*/ +console.log(' -> encoded hex =', + Array.from(encodedArray).map(x => x.toString(16).padStart(2, '0')).join(' ')); +// 7a 32 31 56 77 62 6a 70 41 5a 69 36 46 34 69 37 6b 31 66 71 69 62 37 66 47 4e 4d 7a 76 //Checks if buffer or string is encoded -const value = multibase.isEncoded(encodedBuf) -console.log(value) +const value = multibase.isEncoded(encodedArray); +console.log(' -> base encoding value =', value); // base58btc //Decodes a buffer or string -const decodedBuf = multibase.decode(encodedBuf) -console.log(decodedBuf.toString()) -// hey, how is it going \ No newline at end of file +const decodedText = new TextDecoder().decode(multibase.decode(encodedArray)); +console.log(' Decoded text =', decodedText); +// Hey, how is it going \ No newline at end of file diff --git a/multiformats_tut/multicodec_tut.js b/multiformats_tut/multicodec_tut.js index e1c5e0f..b8614f6 100644 --- a/multiformats_tut/multicodec_tut.js +++ b/multiformats_tut/multicodec_tut.js @@ -1,4 +1,34 @@ -const multicodec = require('multicodec') +/* + * tutorial multicodec by Henrique Dias, + * updated by Vu Tien Khang (multicodec - v3.0.1, June 2021) + * based on https://multiformats.github.io/js-multicodec/modules.html + */ +//Import multicodec functions +const multicodec = require('multicodec'); + +var protobufBuffer = new Buffer.from('0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33', 'hex'); +console.log(' Initial buffer to code =', protobufBuffer); +// < Buffer 0b ee c7 b5 ea 3f 0f db c9 5d 0d d4 7f 3c 5b c2 75 da 8a 33 > + +const prefixedProtobuf = multicodec.addPrefix('protobuf', protobufBuffer); +console.log(' --> prefixedProtobuf', prefixedProtobuf); +// prefixedProtobuf as an Uint8Array +console.log(' --> codec prefixedProtobuf hex =', + Array.from(prefixedProtobuf).map(x => x.toString(16).padStart(2, '0')).join(' ')); +// prefixedProtobuf 0x50 0b ee c7 b5 ea 3f 0f db c9 5d 0d d4 7f 3c 5b c2 75 da 8a 33 + +// verify that the prefix is indeed for "protobuf" +console.log(' --> Protobuf codec value =', multicodec.PROTOBUF.toString(16)); + +// To get the name of a codec, used in the prefixed data (in Uint8Array): +console.log(' --> Prefixed Data codec name =', multicodec.getNameFromData(prefixedProtobuf)); + +// The multicodec codec values can be accessed directly: +console.log(' Value of codec dag-cbor =', multicodec.DAG_CBOR, + ', in hex =', multicodec.DAG_CBOR.toString(16)); +// 113 , 71 + +// To get the string representation of a codec, e.g. for error messages: +console.log(' Name from codec code 113 =', multicodec.getNameFromCode(113)); +// dag-cbor -const prefixedProtobuf = multicodec.addPrefix('protobuf', protobufBuffer) -console.log(prefixedProtobuf) \ No newline at end of file diff --git a/multiformats_tut/multihash_tut.js b/multiformats_tut/multihash_tut.js index 40ba7d1..ae588ba 100644 --- a/multiformats_tut/multihash_tut.js +++ b/multiformats_tut/multihash_tut.js @@ -1,21 +1,45 @@ -var multihash = require('multihashes') +/* + * tutorial multihash by Vaibhav Saini, updated by Vu Tien Khang (multihashes - v4.0.2, June 2021) + */ +//Import multihash functions +var multihash = require('multihashes'); -var buf = new Buffer.from('0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33', 'hex') -console.log(buf) +var buf = new Buffer.from('0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33', 'hex'); +console.log(' Initial hash to prefix =', buf); // < Buffer 0b ee c7 b5 ea 3f 0f db c9 5d 0d d4 7f 3c 5b c2 75 da 8a 33 > -var encoded = multihash.encode(buf, 'sha1') -console.log(encoded) -// +var encoded = multihash.encode(buf, 'sha1'); // gives Uint8Array that has to be encoded in hex +console.log(' -> encoded SHA1 raw =', encoded); +/* Uint8Array(22) [ + 17, 20, 11, 238, 199, 181, + 234, 63, 15, 219, 201, 93, + 13, 212, 127, 60, 91, 194, + 117, 218, 138, 51 + ] + */ +console.log(' -> encoded SHA 1 hex =', Array.from(encoded).map(x => x.toString(16).padStart(2, '0')).join(' ')); +// 11 14 0b ee c7 b5 ea 3f 0f db c9 5d 0d d4 7f 3c 5b c2 75 da 8a 33 +var encoded = multihash.encode(buf, 'sha2-256'); // gives Uint8Array that has to be encoded in hex +// 12 14 0b ee c7 b5 ea 3f 0f db c9 5d 0d d4 7f 3c 5b c2 75 da 8a 33 +console.log(' -> encoded SHA 2-256 hex =', Array.from(encoded).map(x => x.toString(16).padStart(2, '0')).join(' ')); +// 13 14 0b ee c7 b5 ea 3f 0f db c9 5d 0d d4 7f 3c 5b c2 75 da 8a 33 + +var encoded = multihash.encode(buf, 'sha2-512'); // gives Uint8Array that has to be encoded in hex +console.log(' -> encoded SHA 2-512 hex =', Array.from(encoded).map(x => x.toString(16).padStart(2, '0')).join(' ')); -var decoded = multihash.decode(encoded) -console.log(decoded) +var decoded = multihash.decode(encoded); +console.log(' -> decoded =', decoded); /** { - code: 17, - name: 'sha1', - length: 20, - digest: - + code: 17, + name: 'sha1', + length: 20, + digest: Uint8Array(20) [ + 11, 238, 199, 181, 234, 63, + 15, 219, 201, 93, 13, 212, + 127, 60, 91, 194, 117, 218, + 138, 51 + ] } - */ \ No newline at end of file + */ +console.log(' Decoded hash =', Array.from(decoded.digest).map(x => x.toString(16).padStart(2, '0')).join(' ')); diff --git a/multiformats_tut/multistream_tut.js b/multiformats_tut/multistream_tut.js index ad07f8f..ef18dac 100644 --- a/multiformats_tut/multistream_tut.js +++ b/multiformats_tut/multistream_tut.js @@ -1,3 +1,5 @@ +// Caution: remember to run "npm install multistream-select" before executing this demo +// This code is not compatible with the latest version 2.0.0 of multistream-select const multistream = require('multistream-select') // encode some json diff --git a/multiformats_tut/package.json b/multiformats_tut/package.json index 0afc13a..fd9237b 100644 --- a/multiformats_tut/package.json +++ b/multiformats_tut/package.json @@ -3,18 +3,15 @@ "version": "1.0.0", "description": "A tutorial for Multiformats. Learn more about Multiformats: Understanding IPFS in Depth(4/6): What is MultiFormats?", "main": "multiaddr_tut.js", - "dependencies": { - "multiaddr": "^6.1.0", - "multibase": "^0.6.0", - "multihashes": "^0.4.14" - }, - "devDependencies": {}, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, - "repository": { - "type": "git", - "url": "git+https://github.com/vasa-develop/ultimate-ipfs-series.git" + "dependencies": { + "multiaddr": "^9.0.1", + "multibase": "^4.0.4", + "multicodec": "^3.0.1", + "multihashes": "^4.0.2", + "multistream-select": "^2.0.0" }, "keywords": [ "multiformats",