Long-Term Funding, Update #2
In my previous Long-Term Funding update I said that I planned "to review and/or overhaul the Getting Started, Introduction, and Web Development sections, with a focus on the latter." (of the clojure-doc.org website).
I mostly achieved that goal but didn't get to the additional goal I set of writing
a tools.build cookbook. I have sketched out the topics I hope to cover in
that cookbook, however.
How did the past two months go?
clojure-doc.org
I updated Getting Started with Clojure
to talk about both Leiningen and the Clojure CLI and wrote a new
Getting Started with the Clojure CLI
page that also covers tools.build / build.clj and building uberjars.
Both pages now have a new section highlighting Interactive Development
(as opposed to "just" using a REPL).
I reviewed the Introduction to Clojure and decided it was mostly sound, but added more examples, tweaked the formatting, and added references to the Clojure CLI.
I reworked John Gabriele's excellent Basic Web Development guide to use the Clojure CLI, updated all the library references, and reordered the sections to work bottom-up so that code could always be evaluated in the REPL.
I didn't get as far as I wanted with the tools.build cookbook due to a
combination of writer's block (and stress over my mother being taken to hospital
unexpectedly for a fractured hip -- she's nearly 90, has osteoporosis, and her
oxygen levels are too low/precarious for surgery at this point; she's home now
but it's been a rough few weeks).
deps-new
As the Practical.li project templates
were being developed, John found a bug in the template project which I fixed
and in turn I reviewed drafts of his
article about creating project templates using deps.new,
both of which are now linked from the deps-new README and documentation.
honeysql
During March/April, HoneySQL saw four new releases, which were mostly an even split between improving documentation and expanding ANSI SQL support.
Many of the questions I see about HoneySQL on Slack (and other places) suggest deficiencies in the documentation so, while I try to answer those questions directly on Slack, I also tend to create GitHub issues for them to see if I can improve the documentation in those areas.
Some of the ANSI SQL improvements including support for INTERVAL,
keyword arguments in function calls,
nested JOIN,
standardizing TRUNCATE syntax,
and WITH ORDINALITY. There were also bug fixes and documentation
improvements around DO UPDATE SET and a number of other constructs.
I'd also like to give a special shout out to Eugene Pakhomov who contributed three pull requests to the release that went out in early March.
next.jdbc
next.jdbc
also saw four releases, which provided a mix of bug fixes,
compatibility improvements (with clojure.java.jdbc, to ease migration),
documentation improvements, and a few enhancements.
next.jdbc.xt
The Juxt team were present in force at Clojure/conj this year and announced early access to XTDB 2.0.
I think this will be a very exciting release, with improved bitemporality (including temporal joins and range scans), a new columnar architecture, and -- the part that interests me the most -- a dynamic relation engine that provides both a Datalog API and a SQL API.
That inspired me to create a new project, offering experimental support
for XTDB 2.0 in next.jdbc: next.jdbc.xt.
This allows you to treat an XTDB client "node" as a "connectable" so
you can call execute!, execute-one!, and plan on it (as well as the
full range of "friendly SQL functions").
As XTDB 2.0 evolves, I plan to continue to enhance this new project to hopefully support batch operations and perhaps full transaction support, if possible.
What's Next?
In May/June, I hope to get the tools.build cookbook written and
to review/overhaul the Libraries pages (both authoring and the directory).