“Bad Shibe” at New World Order

Lina Theodorou’s installation at Furtherfield’s “New World Order” featuring their wonderful illustrations for my story “Bad Shibe”.

You can buy the print version of Bad Shibe, featuring those illustrations, at the show or online via PayPal or with Bitcoin.

Via Furtherfield – https://twitter.com/furtherfield/status/865569017515438084

“Is Art” at Ethereal

Is Art” in the FOAM space at Ethereal summit in New York. You can manipulate it using the MacBook and watch its state update via the blockchain on the tablet next to it.

From show curator the awesome Sam Hart (thanks Sam!) – https://twitter.com/hxrts/status/866447265229156353

New World Order

My novella “Bad Shibe” and Lina Theodorou’s amaze illustrations for it are in Furtherfield Gallery’s show “New World Order” from Saturday 20 May – Sunday 25 June 2017.

Click here for more details, including the press release and catalogue for the show.

As well as Bad Shibe, I have an essay in the book “Artists Re:thinking the Blockchain” being published during the show and blink and you’ll miss me talking about smart contracts in the blockchain documentary “Change Everything Forever.”

From the press release:

A mysterious and controversial technology is among us. The Blockchain underpins digital currencies and makes possible dramatic new conceptions of global governance and economy, that could permanently enrich or demote the role of humans – depending on who you talk to.

A self-owning forest with ideas of expansion, a self-replicating android flower, a tale of lost innocence, a DIY money making rig, a Hippocratic Oath for software developers, a five minute marriage contract; this exhibition presented by Furtherfield shows us life with blockchain technologies – through artworks by Jaya Klara Brekke, Pete Gomes, Rob Myers, Primavera De Filippi of O’Khaos, Terra0, Lina Theodorou and xfx (aka Ami Clarke).

Imagine a world in which responsibility for many aspects of life (reproduction, decision-making, organisation, nurture, stewardship) are mechanised and automated. Transferred, once and for all, from natural and social systems into a secure, networked, digital ledger of transactions and computer-executed contracts.

The artworks in this exhibition envision future world-making by machines, markets and natural processes, free from interference by states and other human institutions.

Bad Shibe – Out Now!

Cover Illustration for “Bad Shibe” by Lina Theodorou.

Bad Shibe, Novella, 2017.

“Bad Shibe” is the story of a young member of a near-future cryptocurrency-based utopia. YS works in an orchard in the day, goes to school in the evening, and tips everyone like a good shibe. Until one day they start feeling jealous of a newcomer and start digging in to how their world really works…

My page about the project, with some reading notes, is here: http://robmyers.wpengine.com/bad-shibe/

It’s published by Furtherfield and their page about the project, where you can order a print copy or download the electronic version for free, is here: http://www.furtherfield.org/projects/bad-shibe-sci-fi-novella-rob-myers

Massive thanks to Lina Theodorou for their wonderful illustrations, and to Ruth Catlow for their excellent afterword (and tireless advocacy for the project). You are amaze.

Geneses

Geneses

A poem consisting of the genesis block hashes from the hundred cryptocurrencies with the highest market capitalization on January the Second, 2016 encoded as BIP-0039 mnemonics.

It begins:

abandon abandon abandon ability output crowd ice area thumb clown sibling charge youth range ribbon stairs plug argue provide toddler gaze edit meadow update

Details on how to order the book can be found here:

http://robmyers.wpengine.com/geneses/

Simple Blockchain Art Diagram

Simple Blockchain Art Diagram

Simple Blockchain Art Diagram, 2016, digital media. After MTAA ca. 1997.

Very obviously adapted from MTAA’s “Simple Net Art Diagram“.

Proofs of existence stored in Bitcoin block 422422 and 422423.

More details on the project page.

Using The Palette

palette-chooser

The “Democratic Palette” contract provides 12 colours to use. What happens if griefers set the palette to 12 colours that are almost exactly the same? What happens if you need colours with more or less contrast or hue difference? What if you need more or fewer colours? The only guarantee about them is that they will all be different by at least one point.

To fetch the current palette:

var withPalette = function (callback) {
  var democratic_palette = Democratic_palette.deployed();
  var requests = [];
  for (var i = 0; i < 12; i++) { requests.push(democratic_palette.palette(i) .then(function(colour) { return {index: i, colour: colour}; }); } Promise.all(requests).then(colours => {
      var palette = [];
      colours.foreach(function(colour) {
        palette[colour.index] = colour.colour;
      });
      callback(palette);
    });
  }
};

We can then get from one to twelve colours simply by truncating the array, e.g.:

var my_3_colours = palette.slice(0, 3);

Or we can get the bluest colour using a simple comparison:

var bluest_colour = palette.sort(function(a, b){
  return a.blue - b.blue;
})[0];

Or we can take the average of the colours, which will probably represent the triumph of statistics over aesthetics.

More complex orderings and comparisons can be achieved using a colour library that allows us to work in HSV space. In particular we can use a version of the algorithm that Harold Cohen used for one version of his program AARON’s colouring system (see figure 15 here), effectively ordering the colours in the palette by brightness then distributing them evenly across a brightness range sufficient to ensure that each is distinct from its neighbours.

What about more colours, or more structured relationships between colours where we are concerned that those relationships may not be present in the colours voted for within the palette? In the first case we can interpolate between existing colours, producing colours in-between those in the palette. Or in both cases we can use colour theory to produce related colours: complements, split-complements, tints and tones, etc. There are libraries to do this in Javascript, for example color-scheme-js will produce entire colour schemes from individual colours.

“Democratic Palette” is intended to provide the equivalent of an aesthetic or colour symbology backed by Blockchain democracy rather than any other ideology or iconography, so it is intended to be easy and significant to us it as-is. But it’s also possible to maintain a direct relationship to the palette while using colours that are not themselves present within it.

Democratic Palette

palette-spots

Democratic Palette, 2016, Ethereum Contract and HTML/JavaScript/CSS.

A palette of twelve colours that anyone can set on the Ethereum blockchain. Every vote for every colour is tracked and the top twelve make up the palette.

palette-vote

palette-representations

palette-squares

palette-stripes

The images above show various different visual applications of the palette and the use of the GUI to vote for a colour (the GUI appears if you click in the window displaying the canvas).

Note that the above images are from test runs. The current palette on the live Ethereum blockchain looks like this, ready for people to vote on:

live-palette

You can download the interface code here, it’s in the dapps/democratic-palette directory.

To use it you’ll need an Ethereum node running locally, and to vote for colours you’ll need some Ether.

Blank Canvas

Blank Canvas 1

Blank Canvas 2

Blank Canvas 3

Blank Canvas 4

Blank Canvas, 2016, Ethereum Contract and HTML/JavaScript/CSS.

A blank canvas that anyone can set the colour of on the Ethereum blockchain.

The images above show use of the GUI to change the colour (the GUI appears if you click in the window displaying the canvas).

You can download the interface code here, it’s in the dapps/blank-canvas directory.

To use it you’ll need an Ethereum node running locally, and to change the colour you’ll need some Ether.

nom

 

$ ./nom --help
Usage: nom [OPTIONS]
       Defaults to using 32 bytes of entropy.
  -rep string
    	hash representation - hex, base58, bip39 or proquint (default "hex")
  -seed string
    	read the bytes to hash as the parameter of this argument
  -stdin
    	read the bytes to hash from stdin rather than as an argument
$ ./nom --rep hex
331151629ed17389c079aa3ecdd9828d52cde9c8411b4fd591f7a18dcda6be2a
$ ./nom --rep base58
anAa9gRLWMn3BhLSb2TQNfEoVBhLBbZnDeGnMhqnthkj
$ ./nom --rep proquint
pisil-tufag-zanir-didin-ruzaz-rutop-kakip-zatir-vutig-gavaf-nuzuf-sibuh-zilur-sakim-mimut-soziz
$ ./nom --rep bip39
sheriff core resemble talent service sword warfare offer boil vibrant uncover leisure circle pupil cattle prize cherry joke social daring media nurse primary chuckle

nom is a command line tool to generate names (identifiers).

It’s written in go. You can grab the source here:

https://gitlab.com/robmyers/nom