Practicalli Project Spring 2023
Due to covid illness during 2022 the planned work has been spread over late 2022 - early 2023.
General tasksλ︎
- upgraded all Practicalli books to MkDocs for book generation, using Material for MkDocs theme for enhanced content engagement
- Updated Practical.li website to list all book, identifying those still under development
- Monthly updates of Practicalli Clojure CLI Config aliases to support the Practicalli books
- Practicalli Organisation Profile on GitHub to help surface the books and video content available
-
Improved Practicalli logo for light and dark theme support
- All GitHub activity
Contributions to other open source projects
- Spacemacs Command log layer - add keycast bindings show keys in Emacs header / tab bar and modeline to support Practicalli Screencasts
- Spacemacs Git layer - add toggle draft PR key binding show keys in Emacs header / tab bar and modeline to support Practicalli Screencasts
- mulog documentation - add Reitit ring handler middleware example for logging requestst and responses
- Update Emacs Docs for Portal
Practicalli Clojureλ︎
- Packaging Clojure projects with tools build
- Practicalli Project Templates for seancorfield/deps-new project, including Dockerfile, Makefile, code quality check & megalinter GitHub workflows
- Major book re-write to focus on Clojure CLI and a REPL Reloaded workflow
- REPL reloaded and associated aliases created in Practicalli Clojure CLI Config
- Intro to Clojure CLI, how to use and define aliases, exec options
- practicalli approach to designing aliases, discussing composability focused design
- refactor and update Clojure Editor section - creating several new books
- Simplify practicall/clojure-cli-config
- add
:repl/reloaded
&:dev/reloaded
aliases to support REPL Reloaded workflow - remove unused aliases to the deps-deprecated.edn file
- add
- using Make for a consistent command line experience across projects
- Format clojure code - cljstyle, cljfmt, eastwood, kibit
New Book: Engineering Playbookλ︎
Specific guides (plays) to common software engineering tasks covering a range of practices and tools
- Architecture
- C4 code driven architecture diagrams and Structurizr tool
- Practicalli FinTech risk system with Data Science Modelling example architecture
- Build tools
- Make universal build automation tool
- Code Quality
- MegaLinter local runner and GitHub Workflow - providing a wide range of lint tools for code and configuration files
- Clojure quality tools - format, syntax and idiom checks (clj-kondo, cljstye, cljfmt, zprint)
- Command Line tools
- kitty terminal - fast and feature rich GPU based terminal emulator
- Continuous Integration
- Common GitHub actions
- Example GitHub workflows used in production
Practicalli Clojure Web Servicesλ︎
- Service REPL Workfow added, including
- Aero parsing of system configuration and tag literals
- Integrant REPL for a repl reloaded workflow when building clojure services
- Integrant to manage system components at Clojure Service runtime
- GitHub template for a Clojure project including tools.build, format tools configuration, Makefile task automation, Dockerfile and REPL reloaded user namespace
- Practicalli Service template for seancorfield/deps-new project with http-kit, reitit, mulog, including Dockerfile, Makefile, code quality check & megalinter GitHub workflows
New Book: Practicall VSpaceCodeλ︎
Started a guide to using VSpaceCode for clojure development, bringing VS Code, Calva and vim-style editing together as an effective tool.
Key bindings for Calva were submitted and merged to VSpaceCode
Additional settings and key bindings were created to enhance the experience.
Blog postsλ︎
New articles:
- Create deps-new templates for Clojure CLI projects
- Build Emacs from source on Ubuntu Linux
- London Clojurians Community - a relatively brief history
- Build and run Clojure with Multi-stage Dockerfile
- practicalli/clojure-app-template Dockerfile comprehensive multistage Dockerfile example
- Make Clojure development tasks simple and consistent - Update: moved to Practicalli Engineering Playbook - Make
- ClojureScript workflow with Clojure CLI tools and Figwheel-main
- Adopting FreeDesktop.org XDG standard for development tools
- Building Emacs 28 on Ubuntu Linux
- Java 17 JDK for Clojure development
Updates: