1.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2+++ b/20230730.org Sun Apr 28 19:51:45 2024 -0400
1.3@@ -0,0 +1,36 @@
1.4+* VC infrastructure
1.5+In heptapod we have a root group named =comp=, containg a variety of
1.6+subgroups. Some of these groups should be public, while others are
1.7+internal to comp members exclusively. Within each subgroup, we should
1.8+have the root group members automatically granted privileged access to
1.9+projects. This is relevant for the =startup= subgroup in particular,
1.10+where each project is potentially maintained by multiple non-root
1.11+contributors.
1.12+
1.13+We also need to consider how we will manage subrepos across the
1.14+organization. It is about time we start integrating HG bundles and
1.15+potentially mirrors. For our core VC pipeline we should have no
1.16+reliance on Git, but this may be difficult. It depends on the behavior
1.17+of HG bundles.
1.18+
1.19+Bookmarks/tags should be used for milestones in the root group and are
1.20+infrequent. They are more frequent in projects with a regular release
1.21+life-cycle.
1.22+* Approaching Webapps
1.23+I started poking around in the webapp space again so that I can launch
1.24+a landing page for NAS-T quickly. The Rust situation has improved
1.25+somewhat on the frontend side, and the axum backend stack is nice.
1.26+
1.27+This might seem like a lot of Rust and not a lot of Lisp, which it is,
1.28+but there's still room for Lisp wherever we need it. It mostly plays a
1.29+role in the backend, servicing the database and responding to requests
1.30+from the Rust edges. All of the important tests for the web APIs are
1.31+also written in Lisp. We will almost certainly use Lisp for all static
1.32+processing and HTML generation at compile-time.
1.33+
1.34+This I believe, is the appropriate way to integrate Lisp into a
1.35+cutting-edge web-app. You get the good parts of Lisp where you need
1.36+them (interactive debugging, dynamic language, REPL) and avoid the bad
1.37+parts (OOB optimization, RPS performance) in areas where the customer
1.38+would be impacted. In this domain, Lisp takes the form of a glue
1.39+rather than the bricks and mortar it sometimes appears to us as.