Categories
Aesthetics Free Software Howto Projects

Forepaw

Forepaw Electronics

This is the electronics for the Forepaw, my North Paw clone. It consists of a compass module, an Arduino microcontroller, a shift register, and eight vibration motors (such as you would find in a mobile phone). And a battery connector, battery case, some veroboard, some ribbon cable and some bell wire. You may just be able to see that the fifth vibration motor from the end of the ribbon cable is vibrating.

Next I need to add a case for the circuit boards and add velcro and fabric to the ribbon cable.

You can find the source code and some construction notes on Gitorious . A big thank you to Eric Boyd from Sensebridge who gave me some insight into the construction of the original North Paw when we met at the Quantified Self conference.

Categories
Free Software Howto

irc

irc is an old text-based internet chat system that still gets used by many projects.

irssi is a good client for irc. You can find out how to set it up, including how to configure it to automatically connect to servers and channels here .

It’s best to run irssi in a GNU screen session on a remote server and then connect to that when you want to chat. This allows you to keep track of conversations in channels even when you are not online. Here’s a script to do this. Save it as irc somewhere on your PATH (e.g. in the bin directory in your HOME), chmod +x it, and then it’s easy.

#!/bin/bash
SSH_HOST=your.host.name.possibly.of.the.form.username@your.host.name
IRSSI_SESSION=irc
ssh -t ${SSH_HOST} "screen -dr ${IRSSI_SESSION} || \
screen -S ${IRSSI_SESSION} irssi"
Categories
Art Computing Culture Howto

MU*s

The FTP archives and homepages of the 1990s may be gone but some of the
best known MU*s are still there.
You can connect from the command line using Telnet.
LambdaMoo:
telnet lambda.moo.mud.org 8888
MediaMoo:
telnet mediamoo.cc.gatech.edu 8888
FurryMUCK:
telnet muck.furry.com 8888
On modern GNU/Linux distros, Telnet may not be installed by default. You
will need to install it. e.g.:
su -c “yum -y install telnet”
or:
sudo aptitude install telnet

Categories
Aesthetics Art Computing Art Open Data Free Software Howto Projects

Logging Colours To ThingSpeak

ThingSpeak is a Free Software-based web service for publishing (geolocated) data. This makes it better than proprietary services for publishing data.

Using it is very easy, as this tutorial demonstrates. here’s some code I’ve written in the Python programming language to grab a palette of 8 colours from a webcam image of my studio every 10 minutes and publish it to a ThingSpeak “Channel”:

http://robmyers.org/git/?p=thingspeak.git

And here’s the resulting data, in JSON format:

http://api.thingspeak.com/channels/357/feed.json

Update [17th April 2011]

Thanks to ThingSpeak suggesting it, here’s a jQuery display of the colours:

http://robmyers.org/git/?p=thingspeak.git;a=blob_plain;f=studio_colours.html

It starts with the 100 most recent palettes, and adds them every 10 minutes as more are uploaded.

Categories
Art Computing Art History Art Open Data Free Software Howto

Exploring Art Data 4

Let’s draw some more graphs.

Here’s the matrix of form and genre rendered graphically:

## Load the tab separated values for the table of artworks
artwork<-read.delim("./visual_art/artwork.tsv")
# Get rows with both genre and form
## This loses most of the data :-/
art<-artwork[artwork$art_genre != "" & artwork$art_form != "",
c("art_genre", "art_form")]
## Drop unused factors
art$art_genre<-as.factor(as.character(art$art_genre))
art$art_form<-as.factor(as.character(art$art_form))
## Get table
art.table<-table(art) ##as.table(ftable(art))
## Strip rows and columns where max < tolerance
tolerance<-3
art.table.cropped<-art.table[rowSums(art.table) >= tolerance,
colSums(art.table) >=tolerance]
## Print levelplot
## Levelplot is in the "lattice" library
library("lattice")
## Rotate x labels, and set colour scale to white/blue to improve readablity
levelplot(art.table.cropped, xlab="Genre", ylab="Form",
scales=list(x=list(rot=90)),
col.regions=colorRampPalette(c("white", "blue")))

levelplot.pngThe highest frequencies leap out of the graph. We should do a version without painting to look for subtleties in the rest of the data.

And here’s some of the basic frequencies from the data:


## Load the tab separated values for the table of artworks artwork<-read.delim("./visual_art/artwork.tsv") ## Function to plot a summary of the most frequent values topValuePlot<-function(values, numValues){ ## Get a count of the number of times each value name appears in the list values.summary<-summary(values) ## Draw a graph, allowing enough room for the rotated labels par(mar=c(10,4,1,1)) barplot(values.summary[1:numValues], las=2) } ## Artists topValuePlot(artwork$artist[artwork$artist != ""], 20) ## Subject topValuePlot(artwork$art_subject[artwork$art_subject != ""], 20)

artists.png

subjects.png
The dataset is clearly dominated by Western art.
Categories
Aesthetics Art Computing Art History Art Open Data Free Software Howto

Exploring Art History Data 2

Let’s see how art form and genre relate in the Freebase “Visual Art” dataset of artworks.

# read the artwork data
artwork<-read.delim("visual_art/artwork.tsv")
# Get rows with both genre and form
# This loses most of the data :-/
art<-artwork[artwork$art_genre != "" & artwork$art_form != "", c("art_genre", "art_form")]
# Drop unused factors
art$art_genre<-as.factor(as.character(art$art_genre))
art$art_form<-as.factor(as.character(art$art_form))
# Get table
art.table<-table(art) ##as.table(ftable(art))
# Strip rows and columns where max < tolerance
tolerance<-3
art.table.cropped<-art.table[rowSums(art.table) >= tolerance,colSums(art.table) >=tolerance]
# Print wide table (make sure you resize your terminal window)
options(width=240)
print.table(art.table.cropped)

                                  art_form
art_genre                          Drawing Fresco Installation art Metalworking Painting Photography Relief Sculpture Tapestry
Abstract art                           2      0                6            0       36           0      0         5        0
Allegory                               0      0                0            0        7           0      0         0        0
Animal Painting                        0      0                0            0       14           0      0         0        0
Christian art                          0      0                0            0        1           0      0         1        0
Christian art,History painting         0      0                0            0        2           0      0         0        0
Decorative art                         0      0                0            6        0           0      3         0        4
Fantastic art                          0      0                0            0        4           0      0         0        0
Genre painting                         0      0                0            0      120           0      0         0        0
Genre painting,Landscape art           0      0                0            0        4           0      0         0        0
History painting                       0     10                0            0      207           0      0         0        0
History painting,Landscape art         0      0                0            0        3           0      0         0        0
History painting,Religious image       0      0                0            0        3           0      0         0        0
Landscape art                          0      0                0            0      169           1      0         0        0
Landscape art,Genre painting           0      0                0            0        7           0      0         0        0
Landscape art,Marine art               0      0                0            0        3           0      0         0        0
Marine art                             0      0                0            0       34           1      0         0        0
Marine art,History painting            0      0                0            0        4           0      0         0        0
Marine art,Landscape art               0      0                0            0        3           0      0         0        0
Monument                               0      0                0            0        0           0      0         8        0
Portrait                               2      1                0            0      230           5      0         0        0
Religious image                        0      0                0            0        4           0      0         0        0
Religious image,History painting       0      0                0            0        4           0      0         0        0
Still life                             0      0                0            0       35           0      0         0        0

This time painting rather than photography has suspiciously more entries than any other medium, as more paintings than any other medium have genre information in the dataset.

Categories
Art Art Computing Art History Art Open Data Free Software Howto Projects

Exploring Art History Data 1

Freebase have a section of visual art data: here.

You can download an archive of the data: here.

Expanding the archive gives you the data as tab-separated files:

$ ls visual_art
art_acquisition_method.tsv artwork.tsv
art_owner.tsv color.tsv
art_period_movement.tsv visual_art_form.tsv
art_series.tsv visual_art_genre.tsv
art_subject.tsv visual_artist.tsv
artwork_location_relationship.tsv visual_art_medium.tsv
artwork_owner_relationship.tsv

Loading up R, we can parse the files and check some of the features of the data:

$ R --quiet
> artwork<-read.delim("./visual_art/artwork.tsv")

> artwork<-read.delim("./visual_art/artwork.tsv") > names(artwork) [1] "name" "id" "artist" [4] "date_begun" "date_completed" "art_form" [7] "media" "period_or_movement" "art_genre" [10] "dimensions_meters" "art_subject" "edition_of" [13] "editions" "locations" "owners" [16] "belongs_to_series" > artists<-artwork$artist[artwork$artist != ""] > summary(artists)[1:20] Henri Matisse John Gutmann Pablo Picasso 72 66 66 Ferdinando Ongania Vincent van Gogh Caravaggio 57 57 49 Raphael Claude Monet Dr. William J. Pierce 48 44 42 Alexander Girard Tina Modotti Martin Kippenberger 37 37 36 Alvin Langdon Coburn Thomas Annan Robert Adams 31 31 30 Paul Cézanne Edward Weston Martin Venezky 29 28 28 Paul Klee Willi Kunz 28 28 > media<-artwork$media[artwork$media != ""] > summary(media)[1:20] Gelatin silver print Oil paint Canvas,Oil paint 1110 897 429 Oil paint,Canvas offset lithograph Albumen print 429 221 185 Bronze Photogravure chromogenic print 138 127 104 Acrylic paint Synthetic polymer paint Ink 82 69 67 Graphite Screen-printing Wood 61 57 55 Daguerreotype Mixed Media Oil paint,Panel 39 39 37 Panel,Oil paint Marble 35 30 > gelatin_silver_print_artworks<-artwork[artwork$media == "Gelatin silver print" & artwork$artist != "",] > summary(gelatin_silver_print_artworks$artist)[1:20] Dr. William J. Pierce John Gutmann 78 41 34 Robert Adams Ilse Bing Edward Weston 30 27 26 Walker Evans Tina Modotti Dorothea Lange 20 19 18 Lee Friedlander Lewis Hine Garry Winogrand 16 16 14 Henry Wessel Nicholas Nixon Ansel Adams 13 13 12 Harry Callahan Pirkle Jones Arnold Genthe 11 11 10 Bill Brandt Lewis Baltz 10 10

A couple of quick checks of the data show that it has some biases relative to mainstream art history, with more photography and photographers than you might expect. And there are several different entries for oil painting, which have skewed the numbers. This is interesting data, but about the dataset rather than about art more generally at the moment. Perhaps art history data will be as useful for institutional critique as for historical research.

Categories
Aesthetics Art Computing Free Software Generative Art Howto

Techo Art Roundup

HOW TO: Connect an anemometer to the Internet:

http://blog.makezine.com/archive/2010/06/how_to_connect_an_anemometer_to_an.html

(I don’t like Pachube’s walled garden approach thought. We need a federated free equivalent, like StatusNet .)

“Binary Code View”, an offline net.art show in London:

http://turbulence.org/blog/2010/06/04/binary-code-view-london/

How exactly do you own a net based artwork?:

http://turbulence.org/blog/2010/06/04/owning-online-art-selling-and-collecting-netbased-artworks/

Art from its own data visualisation (not as good as my encoding of a LeWitt literally as itself, but still fun):

http://www.boingboing.net/2010/06/03/fine-art-pie-packed.html

RSS feed icon pillow (want! or maybe I should make one…):

http://makersmarket.com/products/rss-feed-icon-pillow

Reblog this post [with Zemanta]
Categories
Free Software Howto

Using a 3 Wireless Broadband USB Stick Under Fedora

I bought a 3 Wireless Broadband USB Stick to use with my Fedora subnotebook.

Installing it was about as painful as installing a WiFi adapter a few years ago.
Install modeswitch to switch the usb stick to broadband mode (I think) –
su -c ‘yum install usb_modeswitch usb_modeswitch-data’
Reboot (I think).
Plug in the wireless broadband stick.
Configure the wireless broadband connection using Network Manager or System/Preferences/Network Connections

Select ‘enable wireless broadband’ from the network manager right-click menu.
Connect to 3’s web site to register and get sent your password by SMS.
Install gammu to get the text message containing the password –
su -c ‘yum install gammu’
dmesg | grep tty
gammu-config
su -c ‘chmod +rw /dev/ttyUSB2’
gammu getallsms
Use the password to complete online registration and you’re ready to go.
Categories
Free Culture Howto

HOWTO Search For Public Domain ebooks Using Google Books and archive.org

If you are looking for electronic versions of old public domain books and journals you can get good results by using Google Books and archive.org together.

Start with Google Books, which has more metadata and more search options than archive.org. Despite much-publicised metadata failures on some books, most books have useful date, author and title information, and many can be searched inside. I’ve found that the useful search constraints are date (for example 1850 to 1900 when searching for Victoriana) and then one or more of author, title, exact phrase or subject keyword.

Always use the advanced search interface –

http://books.google.com/advanced_book_search

Don’t limit the search to “Full Books Only” unless you are searching specifically for epub format ebooks. Epub is a great way of getting a structured copy of a book that you can read on a mobile device, copy and paste from and translate to other formats, but many more books are availabe as PDFs. The only problem with PDF versions of books is that Google Books doesn’t provide downloads for all of them.

Once you’ve found the title of a book you want but that Google doesn’t provide a PDF download for, search for that title on archive.org. It will almost always be there but you may have to select the correct edition, or choose between different versions from different libraries or from projects other than Google Books. Go to the book’s page and don’t click on “Download PDF” which sends you back to Google, who don’t have it. Instead click on the link to “All Files”, then download the PDF (or the DJVU, or the text extracted from the DJVU) from there.

There’s nothing to stop you searching archive.org for authors, title words of keywords as well. archove.org is used by projects other than Google Books. gutenberg.org has the texts of many old books as well, and provides html and epub versions of illustrated books as well. But as a new resource with some rough edges, Google Books is a useful new research resource for historical sources.