Categories
Ethereum Projects Uncategorized

Ethereum: Truffle + Meteor

Meteor is the recommended development framework for Ethereum dApps. Truffle is Consensys’ development  system for Ethereum dApps. We cannot currently add a Meteor build phase to Truffle, but we can integrate them easily enough with a script.

Install Meteor, Truffle and testrpc:

curl https://install.meteor.com/ | sh
sudo npm install -g truffle
sudo npm install -g ethereumjs-testrpc

Then create a file called truffle-meteor-build, in ~/bin or somewhere else easily accessible and paste the following into it:

#!/bin/bash

# By Rob Myers 
# CC0 2016
# To the extent possible under law, the person who associated CC0 with this
# work has waived all copyright and related or neighboring rights to this work.

# We copy the .meteor/ dir from app/ into the specified environment's build/ dir
# then call meteor-build-client in there, building into a meteor/ directory
# next to build/ .

if [ "${1}" = "-h" ] || [ "${1}" = "--help" ]
then
    echo "Usage: truffle-meteor-build [environment]"
    echo "       Copies the .meteor directory from app into the truffle build,"
    echo "       then calls meteor-build-client."
    echo "ARGS:  [environment] - The truffle environment to use (default developmpment)."
    echo "       Make sure you have npm install -g meteor-build-client"
    echo "       and meteor init in the truffle app/ directory."
fi

environment="${1:-development}"
base_dir="$(pwd)"

if [ ! -f "${base_dir}/truffle.json" ]
then
    echo "Please call from within the top level of a Truffle project."
    exit 1
fi

app_dir="${base_dir}/app"
dot_metoer_dir="${app_dir}/.meteor"
environment_dir="${base_dir}/environments/${environment}"
truffle_build_dir="${environment_dir}/build"
meteor_build_dir="${environment_dir}/meteor"

if [ ! -d "${environment_dir}" ]
then
    echo "Cannot find directory for environment ${environment}."
    exit 1
fi

pushd "${base_dir}" > /dev/null
echo "Truffle: building ${environment} in ${truffle_build_dir}"
truffle build "${environment}"
cp -r "${app_dir}/.meteor" "${truffle_build_dir}"
pushd "${truffle_build_dir}" > /dev/null
echo "Meteor: building client in ${meteor_build_dir}"
meteor-build-client "${meteor_build_dir}" -p ''
popd > /dev/null
popd > /dev/null

And make it executable:

chmod +x truffle-meteor build

In one shell window start testrpc:

testrpc

In another shell window create the Truffle/Meteor project:

mkdir truffle-meteor
truffle init
cd truffle-meteor
cd app
rm -rf *
meteor create .
meteor add ethereum:elements

This will create files called app.html, app.js, and app.css . You can rename them to whatever you like. Open truffle-meteor/truffle.json in a text editor and make sure the filenames match those in app/, that the Javascript file has the requisite post-processing commands to add Truffle and the Contract code and that there are no post-process commands for the HTML files.

The results should look similar to this:

{
  "build": {
    "is-art.html": {
      "files": [
        "is-art.html"
      ],
      "post-process": []
    },
    "is-art.js": {
      "files": [
      "is-art.js"
      ],
      "post-process": [
        "bootstrap",
        "frontend-dependencies"
      ]
    },
    "app.css": [
      "is-art.css"
    ],
    "images/": "images/"
  },
  "deploy": [
    "IsArt"
  ],
  "rpc": {
    "host": "localhost",
    "port": 8545
  }
}

Edit the contract, HTML, CSS and JavaScript as needed.

Deploy the contract:

truffle deploy

Then build the meteor project:

truffle-meteor-build

You can now open the Meteor client in a web browser:

chromium environments/development/meteor/index.html

As you continue to develop the project you can reload the Meteor client in the web browser to see your changes. Make sure you keep testrpc running – if you stop and restart it you’ll need to deploy the contracts again.

Categories
Art Free Culture Free Software Projects

Neterarti – Net Art Social Networking Freedom

neterarti-screnshot-marc

(Image via Marc Garrett)

https://neterarti.furtherfield.org/

Neterarti is Furtherfield‘s new social network for net artists based on the GNU social Free Software social network system. If you’re familiar with Twitter it’s very similar, and it’s easy to access via the web or desktop and mobile apps.

Sign up and start netting and arting!

Categories
Art Crypto Projects Shows

Play Art Data Money at London Art Fair

Bunnybots – Cryptoart for art angels” at London Art Fair.

Play and remix here –

http://playyourplace.co.uk/playnew.html?id=203

Furtherfield mention my work and Primavera di Filippi as influences. 🙂

Categories
3D Printing Art Projects Shows

Shareable Readymades At London Art Fair

SR-Urinal-01

Furtherfield are taking the Shareable Readymades to London Art Fair this week, they’re for sale for Bitcoin and GBP.

Who’d like a solid gold urinal?

Categories
Art Computing Free Software Generative Art Projects Uncategorized

Minara 0.4.0

minara-cairo-gtk-test

I’ve been making the regular (accidentally) six-yearly update to Minara, my vector graphics program.

The new version switches from GLUT to Gtk for the windowing system, from GLU to Cairo for the renderer, and from C to pure Scheme for the core application. It’s all written in The GNU project’s Guile Scheme system.

Minara is Lisp all the way down: the application, tools, and graphics files are all written in Scheme. It’s designed as an environment for 2D generative vector art hacking.

Categories
Projects

Blog Edit Disclosure

I’ve run a script on the database of this blog that corrected some spellings, changed all
tags to have just one space in, fixed some urls and changed references to http(s)://www.robmyers.org to http://OFFLINEZIP.wpsho/

I’m going to edit some posts manually through the blog web interface now to restore their formatting, this will show up in their edit history.

Categories
3D Printing Art Projects Shows

Shareable Readymades At “Common Property”

Antonio Roberts, Dead Copyright, 2015. Courtesy the artist
Antonio Roberts, Dead Copyright, 2015. Courtesy the artist.

Jerwood Encounters: Common Property

15 JANUARY – 21 FEBRUARY 2016
EDWIN BURDIS/ HANNAH KNOX/ ROB MYERS/ OWEN G. PARRY/ ANTONIO ROBERTS/ SUPERFLEX

Curated by Hannah Pierce, Jerwood Encounters: Common Property seeks to demonstrate how artists engage with and relate to copyright through the work of six emerging and mid-career artists, including three new commissions. The exhibition and accompanying events programme seeks to generate new conversations about how copyright is currently impacting the way visual artists make and distribute their work, and demonstrates how artists are challenging the limitations of copyright through their practice.

Prints of Urinal, Balloon Dog and Pipe are in the show.

There’s also a new image in the catalogue that I created specially for it, I’ll talk more about that when it is released.

Categories
Projects

Back To WordPress

I’ve moved back to WordPress from Jekyll for this blog.

For a resource heavy site with 2000+ posts I couldn’t get the deploy time down to less than 25 seconds (from over three minutes when I was using templates and plugins badly). There’s also the cognitive load of running commands through bundle and some outstanding technical debt in how I’ve organized the repository.

So I’ve moved this year’s articles over to my WordPress blog, maintaining their publication times, and switched robmyers.org back to pointing to it.

Jekyll is excellent and is very fast when used properly, I will continue to use and recommend it (check https://jekyllrb.com/ for more information about the project). It is however in my opinion not the best blogging engine at this time, but then it’s not intended to be. So the take-away here is to use the correct tool for the job, and that may well be Jekyll in other cases.

Categories
Art Crypto Projects

Facecoin at Moneylab2

facecoin-at-furtherfield

Facecoin by Rob Myers” by Paul Ros, licensed Creative Commons Attribution-NonCommercial.

Hot on the heels of its appearance at “The Human Face of Cryptoeconomies“, Facecoin is featuring in the “Trading Floor” exhibition at Moneylab2 on Thursday 3rd and Friday 4th December 2015 at Pakhuis De Zwijger in Amsterdam.

Lots of great people are speaking at the event, and I’m very proud that Facecoin is part of it. You can find out more in Femke Herregraven’s awesome programme booklet.

Categories
3D Printing Art Projects

About Shareable Readymades

balloon-dog-at-ff

(Image by Furtherfield Gallery, Licensed Creative Commons Attribution-NonCommercial)

The formerly transgressive gesture of the readymade and the assisted readymade – nominating or recreating a non-art object as art – has long since been recuperated by the artworld. The junkyard urinals and joke shop balloons of the early 20th Century have been replaced with expensive limited edition sculptures of them created by anonymous artisans, their status policed by lawyers and writers.

The reputational dynamics of the artworld mean that non-art objects transformed into art objects by artists become part of their ouvre, or in contemporary art terms their brand. This represents a form of semantic enclosure, both of the potential of the object for alternative representations and of the artist’s particular take on the object. Academic reinforcement of this enclosure in terms of originality and reputation (through inclusion in positive or negative critical canons) causes a chilling effect on artistic potential. Legal enforcement of this enclosure becomes censorship. Art must be free to refer to and depict the world, including culture and including other art. This is a rare example of an artistic imperative being complementarily moral and aesthetic.

Originality and the artist’s hand are valid subjects of critique within art – the fetish of the touch of the master as resource for and product of the art market and academia. But the returns on the reputational capital gained from being the creator of such a critique can exceed that of a previously historically conventional practice over time. And this critique of the artisanal production of art can also be an uncritical validation of managerialism.

Both artisanal mastery and neoconceptual managerialism derive much of their increasing value over time from externalities. Artists do not (and should not) pay for audience, critical or market attention to their work that increases their reputational and economic value. But both artisanal studios and neoconceptual outsourcing rely on reputationally disenfranchised skilled labour to produce the art that accrues value in and to the artist’s name. The labour and reputational dynamics of the production of art are also valid subjects of critique within art, including that involved in the production art that critiques artistic originality. Is paying these workers enough, or should we hack the art historical firewall of the artists signature? Who are the artisans, studio assistants and engineers who instantiate contemporary art? What is the aesthetic and social impact of considering them?

“Shareable Readymades” puts these critiques into tension with the hype and legal uncertainty around 3D printing. A decade ago I said “Now make art with it”. What’s emerged from making these particular objects is that they are a good resource for experiencing and thinking through the experience and implications of 3D printing if you’re familiar with art history. “You wouldn’t steal a car”, argue the old anti-copying warnings on DVDs that try and persuade you not to copy an infinitely copyable resource. Copyright on autographic artworks is a category error, on assisted readymades it is doubly so. But where it exists we can ironise it with Copyleft to ensure rather than frustrate people’s freedom to deal in common imagery and culture. This returns objects to the artistic commons in physically instantiable virtual form.

Each Shareable Readymade was commissioned from a digital 3D modelling artist, who retains copyright on the results of their labour (Chris Webber for the Urinal and Pipe, Bassam Kurdali for the Ballon Dog, myself for #arthistory and the Soup Can). The objects are made available to the commisioning “artist” (Dr. Charlotte Frost for #arthistory, myself for the others) on the same terms they are made available to the public, the Creative Commons Attribution-Sharealike license. The “artist” is credited with commissioning the artwork using the Attribution part of the license. The rights-holding relations in the artwork are more just, the reputational ones are more open to question. As more people have incorporated the objects into their own art, fulfilling the ambition that they support the artistic commons, these questions have only grown. It is not clear how attribution for 3D printed works should function, should attribution conventions for art or for the license trump this? If so, which?

The art historical, technical, and socioeconomic tensions that make up the Shareable Readymades are not intended to be simple or didactic. Each one has a different history and positioning in relationship to its referent. I hope that they are fun physically and conceptually and that they are useful objects for thought.