Today I watched Eno for the second time.
Happy new year and love yourself
I don't generally do "happy new year" posts, but after watching Protesilaos' video I had an overflow of good energy and so I'm resharing his vlog here. Γνῶθι σεαυτόν, love yourself, and have a happy new year you all!
Protesilaos' website (Emacs tips, philosophy, et cetera): https://protesilaos.com
Setting up sway on a new machine
Premise
So I had a Linux laptop for a bit now. On my main desktop workstation I used to have Arch, but to help my wife's recent 3d endevours I installed PopOS instead, which is more user friendly, and most importantly, is somewhat officially supported by Autodesk. Where by "officially supported" I mean: there's a 13 steps guide on their website documenting the commands to run to get it to work, including setting up correctly their beautiful Licensing tools (something that I tried to on Arch without success, mostly due to the horrible error messages spit out by the AdskLicensingHelper CLI).
Due to this loss, the amount of tinkering I feel the need to do on my laptop has grown exponentially. Which eventually lead me into the beautiful 🐇 hole of tiling window managers..
Setting up (doom) emacs on a new machine
Disclaimer: Everything I write comes from those tiny funny neurons firing in my own brain. Nobody (especially my employer) told me what to write in this article.
A quick note on how I install (doom) emacs on a new computer. For a guide on how to use Doom once it's installed, see my doom-emacs-handbook article instead.
Waiting for a pop 🫧
In thoughts-on-ai-art (which is from 2018, in the midst of my Computational Art studies), I wrote the beginning of a never-to-be-completed draft about the role of AI as a mean to generate artworks. As somebody deeply interested in coding rules, patterns, cellular automata by hand the Weltanschauung around using AI to generate the final product always left me with a sense of.. unfullfiment.
Since I might never finish that article, and I've decided to keep that as-is, I can least re-share an article that I found to share some of my same internal doubts about this new world we've somehow decided to build: https://drewdevault.com/2023/08/29/2023-08-29-AI-crap.html (which I got from https://mckayla.blog/posts/recommended-reading-2023.html).
Rocking a Framework 13 as a hobby laptop
Disclaimer: Everything I write comes from those tiny funny neurons firing in my own brain. Nobody (neither my employer nor Framework) told me what to write in this article.
A new adventure
I've been wanting a just-for-my-own-enjoyment Linux laptop for a looong time. Probably it all started from my time in Framestore, when CentOS was the main OS at work, and I could see the Linux Jedi there perform all kind of (useful) one-line shell trickeries. You could tell those kind of things came from running Linux as a daily driver at home, not just at your $dayjob.
Two monks carrying a woman
When I was young I went through my period of fascination with Zen. I still hold some Zen teachings dear to my heart, but these days I wouldn't be able to you what Mahāyāna Buddhism is really about and what Tenets there are, if any.
During that period, I remember wanting to study Zen officially, but the only school close to me was in Rome, and travelling there from my place was a bit of a commitment. Despite that, one day I gathered all my motivation, took the car and decided to drive all of way there. After fighting through late-evening traffic in Rome I managed to find a parking spot close enough to the place and I finally got at the Zen school, only 5 minutes late. I think it was 5 past 8, which is why taking the train was not a possibility, given the last train home used to have been at 10:30pm and I imagine this would be at least a 2 hour affair.
Of dooming cacodemons
Disclaimer: everything that follows is the result of what I think and is in no way connected or endorsed by my employer.
It's no secret that I've been enjoying working in Doom Emacs for the better half of the past year (I wrote about it here: /doom-emacs-handbook/).
So it shouldn't come as too big of a surprise that I decided to pay homage to the programmable text editor for martian hackers with a small 3d asset inspired by the cute cacodemon icon created by jaidetree
in their popular repo: https://github.com/jaidetree/doom-icon .
This^ cacodemon is coming for you
On using Rust in VFX pipelines
Disclaimer: everything that follows is the result of what I think and is in no way connected or endorsed by my employer.
I have started my personal Rust journey a few years ago but I really didn't venture into trying to put it in production at $dayjob
until a year or so ago.. and since then I have learned a few things that I think are worth sharing. Most of what follows should be read in the context of writing code supporting a Computer Graphics / Visual Effects pipeline (one of those places where the software is only relevant if it helps produce better pixels).
Musings on Apple Vision Pros and Cons
Premise
If you're here just for tech content, I suggest finding another post to read. I am a human and I feel and I scream internally and from time to time I want to discuss social and philosophical opinions, not just technology. I feel the urge to write down some thoughts I have been having for a while on the Vision Pro so this is it: somebody on the internet vomiting opinions.
Reusing an existing ssh-agent
For many years, I have been guilty of always recreating an ssh-agent instead of reusing the previous one. I know, it's an atrocity and a waste of CPU cycles and registers. It had to stop.
Every time I would try to use a ssh-key via ssh-add
, I'd see the dreaded
Could not open a connection to your authentication agent.
message and I would just mindlessly run eval $(ssh-agent)
.
With time, this would leave an army of ssh-agent processes behind my back..
Choosing to work with Common Lisp in 2023
Image under Public Domain, but original credits go to Reddit user Anenome5
Tell me why
First of all, why would you still use a programming language first designed in 1960, using an implementation (SBCL) that has been around since at least 1984?
If you do the math and compare it to the pace of web development, it's like sticking with a tool that was written 126 JavaScript frameworks ago (according to this SO article). Imagine doing web development today using something that came before jquery!
A handbook for the Doom Emacs initiate
AKA: how to use Doom Emacs as my main text editor for note-taking and software development.
But what is Doom Emacs ?
An Emacs framework for the stubborn martian hacker
The TL;DR is that Doom Emacs offers sane defaults for most stuff, and uses SPACE
as your leader key.
The killer feature for me is using the beautifully lisp-y Emacs ecosystem of packages together with the insanely practical vim keybindings (if you like being evil ).
NOTE: Everything I write is tested against my own config, which you can find in my dotfiles repo: https://github.com/vvzen/dotfiles
For more info on Doom Emacs itself, have a look at https://github.com/doomemacs/doomemacs
Buffer and File Navigation
SPACE + .
-> Find a file to open in a new buffer
This^ uses dired, so you will be able to fuzzy match, etc.
-
SPACE + SPACE
-> Find a file in the current project (also uses fuzzy find, but leverages projectile) -
CTRL + x + d
-> Edit thedired
directory for the current buffer (and more) -
SPACE + b + i
-> Open a buffer listing all buffers (via ibuffer)
My first SFF build with Arch linux
Preamble
After a decade of having macOS as my one and only OS for all of my home computing needs, I decided that it was time for me to tinker a bit with GNU/Linux too.
Scrambling to London
No, not every day was that sunny and that amazing. But that afternoon, it absolutely was.
Methods and morals (how and why)
On March of 2022, while the world is going even crazier than it has been for the past years, I decided to bring home (my 🇬🇧 one) my lovely new Benelli Leoncino Trail motorbike, which I had bought in Italy for a number of reasons(1). One the tiny detail though is that between my UK home and my Italian home there's almost 2k kms..
A short essay on Automated Testing and why it's useful (in VFX too!)
An Extract of the Principia Mathematica, a colossal work by Whitehead and Russell, dedicated to formally proving that 1+1=2. If these guys dedicated a good chunk of their life to prove that 1+1=2, we can dedicate a few hours of our time to prove (test) that our code behaves as intended
What I learned by solo bike-packing for 10 days around Cornwall
If there was something that I really missed since I moved to the UK, that was wild nature. The smell of grass in the morning, or a sunset without light pollution, or the silence of a forest. These kinds of things can't really be appreciated if your main focus is just to get on with your day to day job, and reach the end of the week without stressing too much.
A quest for the perfect creative coding framework
Note: this article is subject to be updated as soon as I find a framework that meets my criteria! If you find anything that can be proved to be incorrect, please let me know so I can address it.
What I am looking for?
A shell friendly, text-editor agnostic framework for creating visuals that is fun and has good enough performance. Hot-reloading would be great. An interpreted language wins over compiled ones: even if it's less performant, no compilation step means it's actually easier to stay in the zone and make something creative and interesting.
Goofing around with fish (the shell)
I've been recently nerd-sniped by a geek friend about fish-shell (and that really says it all about what kind of person I am).
Anyways.. I've been a zsh and oh-my-zsh user for a long time now, way before zsh was promoted as the default shell on macOS. It's been a fun ride, full of autocompletions, fancy themes and quick history browsing. I quite enjoyed it, especially compared to the "duller" bash. But since I'm always up for trying out something new and living my digital life on the edge, I decided to give it a try for a while.. especially considering that at work I'm forced to use tcsh.
This brief post is a recap of my experience after playing around with fish
for a few weeks.
Autocompletion
The main "selling point" of fish is that it's dev friendly and provides an interactive autocompletion experience. It's hard to describe exactly how it feels while typing, that's something you have to try to get familiar to.. here's a quick gif to give you a hint:
Conda for the pipeline person
Time for reading: 15 minutes
2024/02 EDIT: I still believe in the value of conda pack, but these days my approach with third party tools that I don't own is a lot more conservative.
Who am I?
- A Pipeline TD trying to write, test and ship code that requires third party dependenciesFor those who are not from the VFX industry, a Pipeline TD is a poor fellow that was too technical to be a VFX artist but didn't feel pursuing the good, cozy warm life of a software developer. He's basically a dev who likes movies more than startups, and should seriously reconsider his/her life choices.
How this site works
In the last 2 weekends, I spent a bit of time revamping the backbone of this website since I felt I needed to have more control over it, not just on the presentation layer, but also on the architecture (while I was there, I did also add a sprinkle of darkness to the CSS but that's not what I want to focus on in this post).
Unreal Engine + Python API
To those who aren't in the UE loop it might seem weird, but yes! UE4 has been offering a Python API for a while now (iirc, since end of 2019).
It also ships with a shiny Python3.7 interpreter, as recommended by the vfxplatform.
Its main purpose is to offer a way to integrate Unreal into existing workflows, and automate the heck out of it! This means that it's definitely NOT meant to be used for anything "in game". That would be crazy, performance-wise.
Geospatial workflows in Houdini
Premise
What follows is nothing more than a bunch of CLI commands and scripts that - put together - resemble a workflow useful when exploring and visualizing geospatial data.
Source GeoTIFF, downsampled to 16bit
DEM data rendered in Houdini