The website is here:
Below this, I link to a graph showing the growth rate (doubling time, actually) for the US as a whole. From that page, it is possible to go to a page for each state, such as California or Florida. In addition, we have a page for each and every county in the US, such as San Diego county or Miami-Dade county.
Also included is case data for “Red states” (states where the governor is a Republican)1 and “Blue states” (states where a Democrat occupies the governor’s mansion), as well as “Red state” mortality data and “Blue state” mortality data.
The script used to make this site is open source and available on GitHub:
Lua language is used to generate this website; the Lua used is compatible with Lua 5.1 and also works with the current (5.4) version of Lua. I have a fork of Lua 5.1 whose binary is only 120k in size. Despite the binary being so small, the script generates the site in 90 seconds, including directions for Gnuplot to make each graph. Gnuplot makes the graphs in about five minutes.
The reason I am using Lua is because my daughter is obsessed with Roblox right now, which uses Lua as its scripting language for games. While I have been programming in Lua for 13 years, I finally bought the Lua book and read it through to fully understand Lua’s view of the world.
I am quite impressed with Lua. Not only is it tiny, but it is very fast and memory efficient. It has most of the ability of the much larger Python, with a big caveat: In order to make the scripting engine as small as possible, things often times require more code in Lua than Python. As one example, Lua does not include copy.deepcopy, but one can implement it in 17 lines of Lua code.
My workaround for Lua’s “batteries not included” design is making a public domain repository of LUA functions to cover common use cases Lua itself does not cover (sorted tables, deep table copying, printing a table’s contents, splitting a string, etc.)
Lua’s main advantage over Python is that it is an order of magnitude smaller than Python—my own personal fork of Lua is only 120,832 bytes in size—and it’s far easier to embed Lua in a C or C++ program than Python.
On a subjective level, its syntax is Pascal-style, a style which is not seen in many languages here in the 2020s. I prefer its syntax over Python’s syntax: Whitespace is not significant in Lua. There have been multiple forks to give Lua more C-like syntax over the years, including LJS, which is currently maintained.
Did you know that all of my blog entries are available in a free to download eBook at https://www.samiam.org/blog/ebooks.html.