Saying Hello You with ClojureScript

Saying Hello You with ClojureScript

Share of programming languages used by #GTK3 / #GTK4 applications (2026-03-15):
29% #Python
21% #Rust
19% #Vala
17% #C
6% #gjs #Javascript #Typescript
5% #C++ #Cplusplus
1% #Go
1% #Csharp
2% Other: #Lua #Swift #Kotlin #Perl #Haskell #Crystal #D #Scheme #Clojurescript
72% use GTK4 (91% of them #libadwaita), still 28% GTK3
Method: Source [1] lists 824 awesome #gtk (3/4) #opensource applications and their #programminglanguage
[1] https://github.com/valpackett/awesome-gtk
#GTK #FLOSS #Linux #Gnome
@GTK @gnome
I've not really posted anything on my #blog for a while, and one of the reasons was that every time I tried to, I ended up having to work on catching up on a bunch of #hugo changes before the blog would build because inevitable on one of my four "main" machines, the blog wouldn't build due to some backward-incompatible changes.
Any recommendation for a static site generator that takes backward compatibility a bit more seriously? I've used #Jekyll in the past but I haven't looked into the state of that ecosystem for years.
My strong preference would be for a static site generator written in #clojure, #ClojureScript, #CommonLisp or #emacslisp. Preferably one that integrates well with #isso for comments.
Not interested in a more "dynamic" system like Ghost - I moved away from WordPress quite a while ago to reduce the amount of maintenance and attack surface, and I don't want to go back.

New SCI version dropped which now supports async/await in CLJS!
And new #nbbcljs dropped which uses the newest SCI. Demo:
$ npx [email protected]
Welcome to nbb v1.4.206!
user=> (defn ^:async foo [] (let [x (await (js/Promise.resolve 1))] (inc x)))
#'user/foo
user=> (foo)
#<Promise 2>
Seems like I'll be doing a lighting talk at DCD: Bringing async/await from Squint to ClojureScript!
(Perhaps a full talk later in the year somewhere else?)
@eclectech I've done some animation of SVG using JavaScript and later #ClojureScript (for interactive electricity grid display diagrams). The technique works but it's very geeky and pretty niche.
(The original diagrams were drawn using Inkscape, and we created a palette of active components you could add into Inkscape drawings)
There's a demo here which shows the concept:
https://simon-brooke.github.io/swinging-needle-meter/resources/public/index.html
Unless you're comfortable with writing software this is not the right technique for you.
If you want to try out my CLJS with async/await support + core.async based on async/await instead of state machine (probably better perf and less bundle size):
org.clojure/clojurescript {:git/url "https://github.com/borkdude/clojurescript"
:git/sha "2ecd2ebd8b79a5ad04c568bc348b4881ddedb4d7"}
org.clojure/core.async {:git/url "https://github.com/borkdude/core.async"
:git/sha "dc9650c0205dca6c0af1b41f198c0fd3226e6f15"}
Please give it a spin! :)
core.async go macro rewritten using async/await (WIP)
@rony 👋 I've found following the tags themselves has been helpful and then following individual people posting or boosting interesting things. #lisp #CommonLisp #Clojure #Clojurescript #emacs are good ones.
I'm not sure about the culture of sharing accounts directly, so I'm abstaining from that for now.