I’ve just published the first video in a new series of live coding sessions where I’m developing with Gleam and Lustre to build the front end for a desktop app built with Go and Wails.
The first video is a bit of test of my recording setup where I walk through a minimal test of connecting Gleam to the Go based Wails back end via its generated JavaScript functions that always return a Promise, and are therefore a little tricky to handle in Gleam. It was quite a relief to come up with a fairly simple mechanism for calling the JavaScript functions through Gleam’s excellent “Externals” Foreign Function Interface (FFI) and end up with a usable Lustre Effect.
During the “Gleaming Wails” Always Developing series I’ll be replacing the Snippet Expander desktop app’s Svelte based UI with a Gleam based one, continuing my quest to learn Gleam, which I very much enjoy working with, but unfortunately don’t get to do full time.
As it’s a chunky piece of work that I’m signing up for, hopefully this project will help me get more familiar with the Gleam language and Lustre framework, and help hone my functional programming skills in general. Even though I’ve been programming for well over 40 years now, and getting paid for it for nearly 30, I’ve mostly been working with Object Orientated style languages, and so functional programming doesn’t come easily.
With luck, along the way some people will learn a thing or two from my fumblings, or get excited about having a go at programming with Gleam.
You can follow along while I code (mostly) in Gleam on my YouTube channel.
Wow, I just created a new config for builds.sr.ht that worked first time!
That never happens, who ever creates a CI/CD config that runs without error when first submitted?!
Admittedly, not the most complicated of configs, but I suspect using Gleam and FreeBSD helped due to their simplicity and well thought out straight forward usage patterns.
For a long long time (I have no idea how long it really was), I used the venerable Nord theme colours to theme my desktop and apps, and even my old website.
Then, when I rebooted my website, I just went with ye olde Twenty Fifteen theme, using the dark theme, it kinda worked well as a reflection of the colours I was using everywhere else in my digital life, and therefore screenshots I posted didn’t look out of place.
However, I’ve not been too happy with how my blog posts look in the Twenty Fifteen theme, the content area is just too thin for the type of code and screenshot heavy content I post. It wasn’t a great reading experience. So I felt it was time to find a new theme.
I wanted something super simple with a nice wide or easily altered content area, and preferably a Nord colour scheme, or super simple palette that I could alter to Nord colours, because I miss using that colour scheme, and for reasons I’ll go to into a second, it’ll match any screenshots going forward.
After not much looking around actually, I found the Blockbase theme, which is about as simple as it gets.
And after just a couple of quick tweaks, I got it to something which I really like, and so this here website now looks something like the following screenshot.
“What?! I thought you’d fallen back in love with Solus?”
… I hear you ask.
Well, I do still absolutely love Solus, it’s an awesome Linux distribution, so fast and simple to use, but I’ve been hitting a show stopper issue with running Docker projects that the maintainers have struggled to fix, and a few other smaller day to day problems that over time built up to make me start looking around for another distro.
After playing with a few BSD and Linux distros again, I thought I’d give COSMIC Epoch another go to see how it’s progressed since I last gave it a spin early last year.
Even though it is definitely an alpha as a few feature aren’t complete, and being based on Ubuntu 24.04 LTS is a bit painful, it’s so good to have a working Docker setup again, and I really like the COSMIC desktop in tiling mode.
To be fair, I generally use one app per workspace, but the shortcuts that the peeps at System76 have set as the defaults are spot on, and work very well for me when navigating workspaces etc.
In the above screenshot you might just be able to work out that I have my COSMIC config checked into a git repo, which means I can easily use it across all my desktops by checking it out to ~/.config/cosmic. When I saw Jeremy Soller demo that it’s safe to do that in a recent presentation, that was a clincher to get me to try COSMIC again. I’m glad I did.
I did initially try keeping my cosmic config in my ~/.dotfiles repo, which I then use stow to put into place. However, every now and then COSMIC would clobber the ~/.config/cosmic symlink, creating a directory in its place. So I switched to making it a directory itself, which just so happens to be a git repo so that I can track my changes and push them out to all my Pop!_OS machines. That seems to be working very well.
And now that I’m back to using Nord for all the things, if I finally get back to making videos for my YouTube channel again, at least I won’t need to change my thumbnail theme!
Turns out, running PHPStan in a Docker based Concourse CI environment on a dinky little $6 DigitalOcean Droplet just isn’t going to cut it.
I always planned on updating the Droplet to something with at least 2 CPUs, once I had a few bits and bobs running on it, didn’t expect running PHPStan on WP Cron Pixie’s code base to be the reason. 🤷
We watched Mickey 17 at the weekend. Fun movie, with some not so subtle social commentary that both made us laugh and feel a little sad for the World we currently live in. Would recommend.
Buster Pickle Grot-Bot Jones, our scatty cat from New Zealand, has just reminded me how nice the UI is on Budgie Desktop when you hit the Print Screen button. 😜
Yup, it’s that time again, start my site from scratch time.
As per previous reboots, no promises as to whether I’ll be blogging regularly, or adding any content of worth.
One thing I do know, I’ll be saying goodbye to posting via the Gemini protocol. I’m not reading such sites on a regular basis, and I can’t be bothered trying to keep my Gemini site up and running.
I’m also not going to be writing a separate microblog. I may end up writing small posts to my main feed instead, but the chances are I’ll only use @ianmjones@fosstodon.org for smaller posts. Although, knowing me, that’ll no doubt be very rare too.