Lem editor news: #clojure, #perl, #zig, #kotlin, WebAssembly Text format modes with LSP support, plus TOML and git-gutter.
Lem editor news: #clojure, #perl, #zig, #kotlin, WebAssembly Text format modes with LSP support, plus TOML and git-gutter.
This is just glorious. I'm looking forward to seeing what comes of it and it feels like something I understand enough from this that I can contribute.
https://clojurecivitas.github.io/data_visualization/aog_in_clojure_part1.html
Had some fun this month making #clojure work with you apache flink:
https://github.com/Ugbot/flink-clj
Easel Turns One! One year of building my own IDE in Clojure https://lobste.rs/s/mhciaq #clojure #editors
https://blog.phronemophobic.com/easel-one-year.html
Easel Turns One! One year of building my own IDE in Clojure https://lobste.rs/s/mhciaq #clojure #editors
https://blog.phronemophobic.com/easel-one-year.html
Had some fun this month making #clojure work with you apache flink:
https://github.com/Ugbot/flink-clj
I finally found some time to play with Lisp again. I always wanted to try Clojure, but I don’t like the available online editors very much. While their functionality has increased dramatically over the recent years, you need a stable Internet connection to use them and you never really know what happens with the source code you save online on some cloud servers. I prefer offline IDEs. Or at least an offline REPL.
As Clojure runs on the JVM, this means installing a JRE. Generally, I avoid installing additional software. Most of the time, you can’t un-install cleanly and your OS gets dirty over time. Windows is especially vulnerable to this. Maybe Docker can help here. Let’s give it a try and write a Dockerfile to set-up a Clojure REPL. There are several ready-to-use Docker images for Java available. You can choose your favorite JDK and OS. Have a look at the (deprecated) OpenJDK image to see some examples. Let’s use the Eclipse Temurin JDK 21 with Ubuntu for now. This means that the Dockerfile starts as follows.
FROM eclipse-temurin:21-nobleAfter you have selected your JDK / OS base image, you might have to install some Clojure dependencies. The eclipse-temurin:21-noble image is based on Ubuntu 24. As I found out, with this combination, one needs to install the rlwrap package to be able to use the Clojure command-line REPL. Therefore, we need to install rlwrap with apt. We can use the RUN instruction to run apt during image build. Let’s add the instruction to the Dockerfile to update apt sources and install rlwrap.
FROM eclipse-temurin:21-nobleRUN apt update && apt install -y rlwrapAfter you have installed the Clojure dependencies, you can finally install Clojure itself. As we have a standard Linux base image, we can just use the Linux installation commands given on the Clojure installation website. They curl an install script and then execute the script. We will add RUN instructions for all commands given so the Dockerfile looks as follows now.
FROM eclipse-temurin:21-nobleRUN apt update && apt install -y rlwrapRUN curl -L -O https://github.com/clojure/brew-install/releases/latest/download/linux-install.shRUN chmod +x linux-install.shRUN ./linux-install.shNow we have an image with Clojure installed. That’s nice, but what we really want is a ready-to-use REPL. Clojure provides the clj command to start a REPL. We can use the CMD instruction to set the command to be executed when running a container from the build image. After adding the CMD instruction, our Dockerfile is now complete.
FROM eclipse-temurin:21-nobleRUN apt update && apt install -y rlwrapRUN curl -L -O https://github.com/clojure/brew-install/releases/latest/download/linux-install.shRUN chmod +x linux-install.shRUN ./linux-install.shCMD ["clj"]You have to execute the docker build and docker run commands to build an image from this Dockerfile and then run a container based on the build image. Hopefully I will find enough free time to play around with this container REPL to see how usable this approach is. And maybe write another blog entry about my experience.
https://howlingmad.vivaldi.net/2025/12/26/setting-up-a-clojure-development-environment/
"It's still important to have tools that are free as in freedom, rather than free as in Faustian." #Clojure https://blog.phronemophobic.com/easel-one-year.html
Flocking Quadtrees in Clojure via @daveliepmann https://lobste.rs/s/9skyrx #clojure #graphics
https://www.lbjgruppen.com/en/posts/flocking-quadtrees
Flocking Quadtrees in Clojure via @daveliepmann https://lobste.rs/s/9skyrx #clojure #graphics
https://www.lbjgruppen.com/en/posts/flocking-quadtrees
"It's still important to have tools that are free as in freedom, rather than free as in Faustian." #Clojure https://blog.phronemophobic.com/easel-one-year.html
@leobm @enigma #lisp is something that does this image based thing to. Most of the time you save the current state of your app and deploy it :D. I love the idea too cause its exactly what containers do now. I would love to see stuff like there also more often. I really want to get started in #perl somehow no clue why but the idea of there is more than one way to describe a problem is really nice. And most of the time i get this feeling in #clojure and #lisp to because you can extend the language. I really want to see what #perl does that gives it its nature of beeing expressive and "hard" to read.
https://dev.fennel-lang.org/wiki/CookbookHugsql
here's a tiny port of the #clojure HugSQL library (you know, for embracing SQL) to #fennel for your FLHOS stack needs
Sneak Preview for clj-threats - we have released the first version.
https://repo.prod.meissa.de/meissa/clj-threats
clj-threats is devops style tool for continuous threat analysis.
The system definition is compatible with threagile, but we added attack trees.
We will enhance the attack tree library while using this tool for the threat analysis for federated forgejo.
#clojure #forgejo #threat-modelling #attack-tree #federation