

Discover more from hrbrmstr's Daily Drop
Starboard
(For a person who is ostensibly not-a-fan of notebooks, I sure do talk about them a bit.)
Starboard [GH] is "an in-browser literate notebook, developed by Guido Zuidhof (@protoduction), that is extendable, sharable and hackable." You may recall a few newsletter editions featuring Observable notebooks, and Starboard is similar in nature.
It has support for javascript, CSS (which means you can modify the notebook aesthetics from within the notebook, similar, again, to Observable), HTML, markdown, LaTeX and Python (via Wasm). Any language engine that is Wasm-able can work with Starboard.
The section banner image was made from of the example notebooks by moving the mouse pointer around the square, which the javascript in the associated code cell used to make some procedural art.
These notebooks are fully portable and work in any browser, which further enables folks with limited compute resources such as chromebook to get in the data-science (or just plain coding) game. Tablet-centric users may also find Starboard useful as well, though I cannot imagine using an on-screen keyboard with it.
Starboard feels more lightweight than Observable, and it's a really nice way to play with javascript. Give it a go!
quicktype
I do a fair amount of coding outside of R. Within R, I can do something like jsonlite::fromJSON("data.json")
and have immediate access to a list or data frame with proper field names and types.
JSON is serialized data, and the process of reading it in is unshockingly dubbed "deserialization".
Said deserialization is very different in Swift and Rust (to name two of many other languages, but two I use quite a bit). A standard JSON deserialization idiom in those languages is to first define the object model (i.e. structs/classes) of the JSON structure and then pass the JSON text to a deserialization function that will use the object model.
If that sounds like a royal pain, it is; or, rather, it can be, if it weren't for quicktype [GH].
Quicktype lets you paste a sample of JSON into a browser text field — or pass it to a local Node.js command line app — and get back some lovely code that defines the object model. For many languages, it also includes some sample code for how to perform said deserializataion task,, like this Swift example that used the example JSON from json.org:
If you find yourself in a language less friendly than R (which is all of them!), keep quicktype handy when you need to handle some JSON data.
Accidental Bolides
It's always nice to get some extra/unexpected use out of something you already own. It's even nice when said thing is a pair of really expensive satellites originally designed to be part of NASA's Geostationary Lightning Mapper (GLM) aboard the GOES 16 and GOES 17 satellites.
The section banner image is showing a map with points. Each point is a bolide (fancy word for "very large, bright fireball") observation.
NASA has a great 'splainer on how the GLM's ability to detect bolides came about (there's a cool paper you can read, as well).
I heartily encourage you to goof off a bit today and play with the froody interactive map NASA has (tis where the section banner image came from), or just download the data (go to the map site for the most current CSV link as they're timestamped).
FIN
Given how collectively cool Starboard, quicktype, and the bolide map/data are, I challenge you to get actual work done today 🙃. ☮