Building Emacs 28 on Ubuntu Linux

May 16, 2022
ubuntu logo

Emacs 28.1 is a feature packed release and includes native compilation to significantly increase the speed of all Emacs software packages installed. This is a very noticable difference, especially when Emacs is at the center of your developer workflow.

Ubuntu hasn't packaged Emacs 28.1 yet, although its usually straight forward to build Emacs yourself.

Continue reading →

Adopting FreeDesktop.org XDG standard for development tools

May 16, 2022
ubuntu logo

Managing your personal configuration for development tools and applications is much more effective when adopting the XDG basedir standard, which defines separate locations to store user configurations, data files and caches.

Without the XDG standard, these files and directories are often mixed together and stored in the $HOME of the users account, making it more challenging to backup or version control.

Development tools such as NeoVim, Emacs, Clojure CLI and Clojure LSP support the XDG specification, although some tools like Leiningen required a little help. There are simple approaches to work-around the limitations of tools that don't conform.

Continue reading →

Practicalli content plans for Spring 2022

February 18, 2022
practicalli logo

Much more content is coming in the Spring of 2022, thanks to Clojurists Together funding. To ensure the most useful content is provides, Practicalli would value feedback on the planned topics.

The submitted plan to Clojurists Together is to extend existing guides and code examples, as well as adding new content to the existing Practicalli books. Additional video content will be added across the Practicall Books, updating existing video content where it has become dated.

Videos will be created off-line rather than live broadcasts, to increase the quality of the videos. Practicalli may do some live broadcasts again, however, these will be very experimental and unscripted (possibly subject to Covid brain fog too).

Continue reading →

Java 17 JDK for Clojure development

January 31, 2022
java logo

Java JDK 17 is the latest Long Term Support version and ideally should be the default JVM for developing and deploying new Clojure projects (and existing projects after testing). There should be little risk upgrading, especially from Java 11 onward. The 17.0.2 version has just been release, so has been tested by many development teams already.

Although the language features are of less interest, the security and performance improvements over the last 3 years (since Java 11) or 6 years (since Java 8) are valuable to Clojure development.

Oracle JDK 17 is free again for use in production and to redistribute, under the No-Fee Terms and Conditions License. However, Practicalli recommends using OpenJDK anyway.

Continue reading →

Code Snippets for Clojure LSP

January 28, 2022
clojure logo

Clojure LSP snippets are an editor agnostic approach to expanding common code forms from snippet names, saving typing and acting as a guide to the syntax of a Clojure form. Practicalli also uses snippets for rich comments, documentation and highlighting logical sections of code in a namespace.

Clojure LSP snippets are defined using the EDN syntax and have the same tab stop syntax as Yasnippets and other snippet tools.

Clojure LSP snippets are covered in Practiclli Spacemacs, including a large number of examples of custom snippets. Install practicalli/clojure-lsp-config for additions to the built-in snippets.

Continue reading →