@ -71,7 +71,7 @@ Ritherdon via the server (/AWS/).
The (AWS) server stored every reading taken in a SQLite database and this
The (AWS) server stored every reading taken in a SQLite database and this
project pokes and prods at the data -- to plot charts/graphs.
project pokes and prods at the data -- to plot charts/graphs.
** Design Notes and Trade-off Decisions
** Design Notes and Trade-Off Decisions
1. Essentially, this project is about taking the data from
1. Essentially, this project is about taking the data from
=data/lm1-exhibiton-all.csv= and =data/lm2-exhibiton-all.csv= and producing
=data/lm1-exhibiton-all.csv= and =data/lm2-exhibiton-all.csv= and producing
@ -85,19 +85,184 @@ project pokes and prods at the data -- to plot charts/graphs.
2. You will need to split the .csv files up yourself after you have cloned
2. You will need to split the .csv files up yourself after you have cloned
the repository, using the scripts mentioned in point 2.
the repository, using the scripts mentioned in point 2.
3.*The database containing the actual data is not included with this repository.*
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
1. 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
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.
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
4. 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
(13^th June, 2021) and 2021-08-01 (1^st August, 2021) for both Light Meters
(the length of the exhibition).
(the length of the exhibition): There is (not much) more (test) data in the
6. Chose to work with .csv files out of convenience more than anything else --
database but the data selected/exported seemed the most appropriate decision.
easiest format to export the data to from the SQlite database.
5. I chose to work with .csv files out of convenience more than anything else --
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
it is the easiest format to export the data to from the SQlite database.
6. 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.
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
7. 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
which can create interactive charts as individual HTML files, which I can
just email to someone who is not comfortable with computers.
share with anyone not comfortable with computers.
9. I used [[https://www.python.org/][Python]] because of Bokeh.
8. I used [[https://www.python.org/][Python]] because of Bokeh.
10. Overall, Nicola wants to work with the charts this data produces so
9. Overall, Nicola wants to work with the charts this data produces so
any decisions made should be in service to that end.
any decisions made should be in service to that end.
10. I have taken a hard-coded approach to filenames with the code because the
code is not the main objective here, the charts are; *Long-term flexibility
and maintenance is not a concern here.*
** Set-Up and Using the Code
Open your terminal, making sure you are in the directory you want the repository
cloned to.
*The Bash (/.sh/) scripts need calling before the Python (/.py/) ones.* You need to
process the =lm1-exhibition-all.csv= and =lm2-exhibition-all.csv= file first because
the Python (/.py/) scripts assumes certain files are already in the =/data=