Practicalli plans for 2024

November 17, 2023
practicalli logo

I'm seeking feedback work by Practicalli that would be considered valuable to the Clojure community in 2024

Most Practicalli work is created from my own commercial experiences with Clojure. I also include aspects I've learned for my own interest and to answer some questions posed by the community (e.g. Slack, Clojureverse, etc.)

Practicalli GitHub project visualises current work progress and lists many ideas for more work to come. Please comment on specific tickets, raise new ones or chat to me on #practicalli channel of Clojurians Slack Community.

Continue reading →

Expose Clojure Service using Ngrok

August 24, 2023
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.

Continue reading →

Pin Emacs packages to manage issues

August 15, 2023
spacemacs logo

Emacs provides a huge amount of features via packages. Community configurations like Spacmacs orchestrate packages so they work seemlessly together. It is rare, but sometimes a package will have a breaking issue.

Melpa provides (5,544) up-to-date packages automatically built from each projects Git repository. Builds are defined by a recipe for each package.

A custom recipe can be used to control which version of a package is used with the Emacs configuration, to work around issues or changes to a package.

Continue reading →

Accessing AWS with Clojure from scratch - simple approach

May 17, 2023
aws logo

Cognitect Labs AWS API is an excellent data driven Clojure library for interacting with AWS from code. Essentially a client for an AWS Service is created which operations are invoked. The project includes working code examples (once a working AWS account is configured).

The hardest is configuring suitable AWS accounts, programmatic access and service permissions, especially when new to AWS. This article starts with nothing and steps through the simplest and quickest AWS account and permission setup, using the "AWS Free Tier". Note: every service has quota limits and some services are only free for a period of time (free trials & 12 months free).

The approach outlined is not intended for commercial work, only the bare essentials to start exploring what is possible with the Cognitect Labs library. (Or you could try out LocalStack if you have docker installed locally).

Continue reading →

Docker Desktop on Ubuntu Linux

May 15, 2023
docker logo

Docker can support local development and provide an effective workflow for system integration before changes are pushed to a remote continuous integration service. Docker can be used to spin up local databases and persist data in a volume, helping keep a separation between applications and supporting test of schema changes, migrations and data loading.

Docker desktop simplifies the install and provides a desktop client to manage docker images, containers, volumes and the new dev environments. Extensions Marketplace for Docker Desktop provides tooling to unify logging, manage local resources and many more

The Docker install instructions are more of a reference of information than a simple tutorial. Essential Docker Community Edition is installed via the Docker package archive and Docker Desktop is installed from a manually downloaded DEB file.

Continue reading →