README.md 3.54 KB
Newer Older
Michał Woźniak's avatar
Michał Woźniak committed
1
# Scary COVID-19 Graphs
Michał Woźniak's avatar
Michał Woźniak committed
2

Michał Woźniak's avatar
Michał Woźniak committed
3
4
5
6
7
8
Simple data crunching and graphing around COVID-19. In production [here](https://rys.io/covid/).

Before using this for anything serious, read the disclaimers on the site.

## Testing locally

Michał Woźniak's avatar
Michał Woźniak committed
9
This project is developed in the [PMF methodology](http://programming-motherfucker.com/).
Michał Woźniak's avatar
Michał Woźniak committed
10

11
Therefore, there are **no** external dependencies to pull, you **do not** need a local webserver, and you **do not** need `node` to use `npm` to get `yarn` to get `bower` to install `webpack`, because this techie happens to know how to left-pad without [`leftpad`](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/).
Michał Woźniak's avatar
Michał Woźniak committed
12

Michał Woźniak's avatar
Michał Woźniak committed
13
**Just clone this repository locally and navigate your browser to the `index.html` file (for example, `file:///home/user/Projects/covid/index.html`). It should just work. That's it.**
Michał Woźniak's avatar
Michał Woźniak committed
14
15
16
17
18
19
20

## Deployment

Copy the files to the location they're going to be served from. That's it. It's all just static.

## Privacy

Michał Woźniak's avatar
Michał Woźniak committed
21
There are no trackers, and [no third-party content](https://barnacles.online/). This is completely self-contained.
Michał Woźniak's avatar
Michał Woźniak committed
22

Michał Woźniak's avatar
Michał Woźniak committed
23
And it is self-contained because there is absolutely zero need for it not to be.
Michał Woźniak's avatar
Michał Woźniak committed
24
25

Remember this when somebody tells you again that they need Google Fonts ([nope](https://git.rys.io/rysiek/fonts-degooglifier)), dozens of MiB of JS from 10 different CDNs, and a Facebook log-in button just to make a single page displaying a graph. Because that right there is bullshit.
26
 
Michał Woźniak's avatar
Michał Woźniak committed
27
28
29
## FAQ

 - ***Wy does the data start on January 22nd, 2020?***  
Michał Woźniak's avatar
Michał Woźniak committed
30
31
   I'm using [John Hopkins University dataset](https://github.com/CSSEGISandData/COVID-19) (via [`pomber/covid19`](https://github.com/pomber/covid19)), and that's when it starts. I don't see any specific reason in the [WHO Timeline](https://www.who.int/news-room/detail/08-04-2020-who-timeline---covid-19), either:

Michał Woźniak's avatar
Michał Woźniak committed
32
33
34
35
>  22 January 2020
> 
> WHO mission to China issued a statement saying that there was evidence of human-to-human transmission in Wuhan but more investigation was needed to understand the full extent of transmission.

Michał Woźniak's avatar
Michał Woźniak committed
36
37
38
 - ***There are errors in the data / some data is missing!***  
   As mentioned above, I am using external source of data that I do not control. That being said there is a reasonably large chance that the error is in how I process/display the data. If you think that might be the case, let me know.

Michał Woźniak's avatar
Michał Woźniak committed
39
40
 - ***Some things do not work in Safari. Why?***  
   Because [Safari is broken](https://bugs.webkit.org/show_bug.cgi?id=119175), that's why.
41

Michał Woźniak's avatar
Michał Woźniak committed
42
 - ***Logarithmic scale does not properly show negative numbers!***  
Michał Woźniak's avatar
Michał Woźniak committed
43
   That's [true](https://canvasjs.com/forums/topic/negative-values-with-logarithmic-scale/), and [very hard to work around](https://canvasjs.com/forums/topic/negative-values-with-logarithmic-scale/)
44
45
46

## Changelog

Michał Woźniak's avatar
Michał Woźniak committed
47
48
49
50
51
### 14.12.2020

 - Added `incidence` chart for cases, recoveries, and deaths.  
   Fixes #3.

52
53
54
55
56
### 06.12.2020

 - Changed the way rolling average is calculated: a rolling average over `n` days for the current day is now calculated from data from the day and `n-1` proceeding days, instead of centering the rolling average on the selected day.  
   Fixes #1.
 - The above also means we can easily support even numbers for the number of days a rolling average is calculated over. So we do. And as a cherry on top, rolling average over a period of up to 31 days can be selected; there are no and never have been any restrictions over period if entered directly in the url (for example, here's a [65-day rolling average of new cases in USA](https://rys.io/covid/#delta,average:65;united-states))
57
 - Updated population numbers, adding some missing countries.  
Michał Woźniak's avatar
Michał Woźniak committed
58
   Fixes #2.