diff --git a/README.org b/README.org index 2cf08cc..07f2777 100644 --- a/README.org +++ b/README.org @@ -1,3 +1,103 @@ * Ritherdon Charts -Data processing and plotting for 'Personal Flash' artworks. +This project assumes you have knowledge of: + +- [[https://www.linux.org/pages/download/][Linux]] ([[https://www.debian.org/][Debian]]/[[https://ubuntu.com/][Ubuntu]]) +- [[https://en.wikipedia.org/wiki/Bash_(Unix_shell)][Bash]] +- [[https://en.wikipedia.org/wiki/AWK][Awk]] +- [[https://github.com/BurntSushi/ripgrep][Ripgrep]] (rg) +- [[https://www.python.org/][Python]] +- [[https://bokeh.org/][Bokeh]] +- [[https://en.wikipedia.org/wiki/Comma-separated_values][CSV]] file format + +** Summary + +Here lies a loose collection of Bash and Python scripts to process data +collected by the /Personal Flash in Real-Time/ artworks. They were part of the [[https://www.castlefieldgallery.co.uk/event/nicola-ellis-solo-exhibition-coming-in-2021/][No +Gaps in the Line]] exhibition by [[http://www.nicolaellis.com][Nicola Ellis]], hosted at [[https://www.castlefieldgallery.co.uk/][Castlefied Gallery]] in +Manchester, U.K. + +This project ties into a larger collection of software projects related to the +/Personal Flash in Real-Time/ artworks. Which, in turn, is a small piece of the +much larger [[https://www.nicolaellisandritherdon.com/][Return to Ritherdon]] project (devised and completed by Nicola +Ellis). For more information on the software-side of the /Personal Flash in +Real-Time/ artworks, please use the links below: + +- [[https://git.abbether.net/return-to-ritherdon/rtr-docs][rtr-docs]] (The documentation repository for all the /Person Flash in Real-Time/ + software projects) +- [[https://git.abbether.net/return-to-ritherdon][Return to Ritherdon Org. Page]] (The 'home page' for the /Return to Ritherdon/ + project on this site, containing a list of all the publicly available + repositories) + +Before continuing, I thought it would be appropriate to briefly mention who/what +[[https://ritherdon.co.uk/about-us/][Ritherdon]] is. It is a business/factory in Darwen, U.K. and specialises in +manufacturing electrical enclosures and other related products. So, if you have +spent any time in the U.K. and seen one of those green electrical boxes lurking +on a street corner, there is a good chance these folks made it. + +*NOTE: This project does not contain documentation in the [[https://git.abbether.net/return-to-ritherdon/rtr-docs][rtr-docs]] repository.* It +is a self-contained mini-project which is not directly related to the /Personal +Flash in Real-Time/ artworks. + +*** Examples/Screenshots + +At the time of writing, the scripts in this repository produce over one-hundred +charts/files. So, here are a selection of the types of charts produced after +processing the data in =data/lm1-exhibiton-all.csv= and +=/data/lm2-exhibition-all.csv=. + +[[file:assets/daily-totals.png]] + +[[file:assets/lm1-hour-totals.png]] + +[[file:assets/lm1-overlayed.png]] + +[[file:assets/lm2-readings-for-2021-07-22.png]] + +[[file:assets/side-by-side-day-19.png]] + +** Overview of the /Personal Flash in Real-Time/ Artworks + +/Personal Flash in Real-Time/ consists of two artworks, named /Personal Flash in +Real-Time (Andy)/ and /Personal Flash in Real-Time (Tony)/. Each one measured the +light in the welding booths in the Ritherdon Factory and forwarded those +readings on to a server running in Amazon's 'cloud' -- see [[https://aws.amazon.com/][Amazon Web Services]] +(/AWS/) for more information. While this was happening, two sets of lights +residing in Castlefield Gallery would turn on and off whenever the system +detected someone welding in Ritherdon. The would happen because the Relays, +controlling the lights would receive the latest Light Meter readings taken in +Ritherdon via the server (/AWS/). + +The (AWS) server stored every reading taken in a SQLite database and this +project pokes and prods at the data -- to plot charts/graphs. + +** Design Notes and Trade-off Decisions + +1. Essentially, this project is about taking the data from + =data/lm1-exhibiton-all.csv= and =data/lm2-exhibiton-all.csv= and producing + interactive charts for Nicola (the artist) to utilise how she sees fit. +2. The =separator.sh= and =totalilator.sh= scripts split the .csv files, mentioned + above, into smaller files in an attempt to make them (.csv files) easier to + work with on average hardware. + 1. On top of that,I have only committed the .csv files mentioned in point 1 + to the repository as a means to reduce the clutter in the repositories Git + commit history. + 2. You will need to split the .csv files up yourself after you have cloned + the repository, using the scripts mentioned in point 2. +3. *The database containing the actual data is not included with this repository.* +4. The database used for the /No Gaps in the Line/ exhibition is approximately + 500MB and I thought it was unreasonable to expect people to download and work + with a repository of that size -- for a repository of this nature. +5. The data exported from the database contains the data between 2021-06-13 + (13^th June, 2021) and 2021-08-01 (1^st August, 2021) for both Light Meters + (the length of the exhibition). +6. Chose to work with .csv files out of convenience more than anything else -- + easiest format to export the data to from the SQlite database. +7. I used [[https://en.wikipedia.org/wiki/Bash_(Unix_shell)][Bash]], [[https://en.wikipedia.org/wiki/AWK][Awk]] and [[https://github.com/BurntSushi/ripgrep][Ripgrep]] (/rg/), also, out of convenience, they were + already on my computer. +8. I used [[https://bokeh.org/][Bokeh]] because I have already used it and it is the only thing I know + which can create interactive charts as individual HTML files, which I can + just email to someone who is not comfortable with computers. +9. I used [[https://www.python.org/][Python]] because of Bokeh. +10. Overall, Nicola wants to work with the charts this data produces so + any decisions made should be in service to that end.