Skip to content

clojureλ︎

Essential tooling for Clojure development

alternative text

Clojure development benefits from great tooling focused around an editor.

Autocomplete, refactor tools, diagnostics feedback and syntax highlighting enhance the creation and modification of code.

Evaluating in source code and using data inspectors for the results provides an effective interaction with the REPL.

Practicalli encourages editors that provide user actions driven exclusively via the keyboard and an uncluttered user interface.

Practicalli Clojure provides an overview of Clojure editors and the plugins that provide Clojure support, e.g. Emacs, Neovim, VS Code, Pulsar and Sublime.

Practicalli preferred editors

LightTable was the editor used in the early years of learning Clojure as it was simple to use and provided instant feedback as code was typed.

Once Spacemacs was release, Emacs with CIDER became the predominant editor for many years.

Treemacs and LSP have matured so Neovim and Conjure has been adopted to provide a fast editing environment with streamlined key bindings for Clojure development.

Expose Clojure Service using Ngrok

Practicalli Clojure Logo

Exposing a local running services can be valuable when writing apps and web-hooks for Cloud API products, e.g. Slack, Atlassian Confluence, Hasura, Salesforce, etc.

ngrok exposes local networked services behinds NATs and firewalls to the public internet over a secure tunnel.

Create a free ngrok account to get an authorisation token for use with the ngrok agent to create a secure tunnel. Or add an SSH public key to use SSH reverse tunnel with the ngrok service.

Web Scraping with Clojure - Scraping Hacker News

Practicalli Clojure Logo

Enlive is a Clojure library that can be used for generating dynamic server-side content as well as scraping websites.

Scraping websites is sometimes required when they do not provide an API. Although Hacker News does have an API, will show how to scrape its website using Enlive's selectors.

Clojure Advent Of Code - a fun way to learn

Practicalli Clojure Logo

Advent of Code is the annual coding challenge with a festive theme. Each day there is a new challenge in two parts, the first fairly easy the second a little more involved. The challenges are an investment of your time to complete them all, although even trying just a few is enough to help you think in different ways.

Every programming language requires regular practice to maintain your skills. A full time developer role gives you lots of opportunities to practice every day, however, its often focused in around solving problems within a specific business domain, with little time to explore others. The Advent of Code puts you in a different domain, so its great for extending your coding experiences.

Solving challenges in a different language is another great way to extend your experiences, so here are some tips and examples for solving the advent of code in Clojure.

Advent Of Parens 2019 - feast on Clojure this holiday season

Practicalli Clojure Logo

The holiday season is know for over indulge, so why not stuff your head full of Clojure and functional programming. Its far healthier than the alternatives :)

To help you indulge, Arne from LambdaIsland, Bobby Towers, Alexander Oloo and I are writing a blog post each day as part of the Advent Of Parens 2019 celebration. Every day we plan to publish a short posts that share tips and experiences with functional programming and Clojure.

You can find the articles I am planning to write on the practicalli blog project board.

While you wait to open these posts each day of December, I am kickstarting your feast of Clojure in this article.

I also encourage you to take some time over the holiday season to practice Clojure