Lua
Boxes, KVM and Libadapta...
Boxes and KVM
I’ve recently removed and converted some VMs from VirtualBox to gnome-boxes
and the .qcow2 format. It went well. The only loss was “tiny video” as the
resolution scaling is absent from the boxes version I’m on. The fact I
can keep a podman instance up working (relies on kvm) was a major reason
for the switch. So really not that much of a change.
Libadapta and Themes
On the Linux Mint 22.2 upgrade, I tried out the libadapta theming under a
python program. Using Gtk-4 Adwaita is not too bad, but sometimes looks
limited and unstyled. So I developed the basic demo further, adding in
C++ to a hatch project, and then also added in luaJIT-5.1 for preference
for some things. I don’t mind python for its large module range, ML to
quite a few GUI toolkits. But I do like the simplicity of Lua and such a thing
is more likely to fit mostly in the I-cache.
Lua Audio...
So a library for Lua to do some kind of audio. I don’t mean multimedia loading
as this could be simple os.execute(...) call wrappers, with perhaps "...&",
but a bit of that is still an idea to add later. It’s more sort of chip-tune
kind of stuff. So os.execute("<c-program> <arg> ... | pw-play --channels=1 -&")
for a more exciting audio generation experience. As each note would then
become threaded, which for small sound experimentation would be fine.
Neovim...
The excellent Neovim
has improved a lot since the older
vim and even the original vi. It now includes Lua scripting as well as
the more obscure Vim Script. It is best using some extra configuration of which
LazyVim
I have found to be very useful.
As a fast loading editor with treesitter and various LSP servers, it’s nice,
although the way “modes” work is not your usual editor way. It has the speed
advantage over VSCode and also will load files over an SSH connection
whereas VSCode just freezes. I tried Emacs for a while and have used it
back in the 90s. I found the LISP configuration more annoying than using
Lua for configuration. Also LazyVim really solves the initial setup problems.