If you have a question about a post, feel free to reach out!

Disclaimer: Everything I write comes from those tiny funny neurons firing in my own brain. Nobody (definitely not my employer!) told me what to write in these articles.

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. After fighting through late-evening traffic in Rome (which already required a certain amount of zen), I managed to find a parking spot close enough to the place and I finally arrived to the Zen school, but 5 minutes late. I think it was around 8:05pm, which is why taking the train was just not a possibility, given the last train home was only at 10:30pm and I imagined this would be at least a couple of hours affair.

Read more  ↩︎

Of dooming cacodemons

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

Read more  ↩︎

On using Rust in VFX pipelines

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).

Read more  ↩︎

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.

Read more  ↩︎

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..

Read more  ↩︎

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!

Read more  ↩︎

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 ).

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 the dired directory for the current buffer (and more)

  • SPACE + b + i -> Open a buffer listing all buffers (via ibuffer)

Read more  ↩︎

My first SFF build

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.

Read more  ↩︎

From Jekyll to Zola

Read more  ↩︎

Frozen in Time


Read more  ↩︎

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..

Read more  ↩︎

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

Read more  ↩︎

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.

Read more  ↩︎

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.

Read more  ↩︎

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:

Read more  ↩︎

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 dependencies

For 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.

Read more  ↩︎

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).

Read more  ↩︎

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.

Read more  ↩︎

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

Where to get the data?
Read more  ↩︎

Fun with the new RPI HQ Camera

Preface..

Last April, while probably half of the world was locked down in their rooms, the Raspberry PI team delighted us with a new toy. I guess they realized we would have a lot more free time in our weekends! πŸ˜„

I quickly glanced at it and the specs but I didn't want to be a beta-tester so I decided to wait for people to start playing with it before going into furious DIY purchase mode.

Fast forward to now - November 2020. We're facing the second UK lockdown, and still filling our lives with plenty of zoom/google meet/skype/facetime calls. I decided to improve my virtual appearance and I started to look online for a webcam replacement. I'm currently using my iPhone - but since it streams the video via wifi the image quality - despite the amazing camera sensor - isn't top notch due to the huge compression.

Read more  ↩︎

Call 4 makers - Fablab Latina

Descrizione del progetto:
Portraits! Γ¨ un'installazione artistica interattiva che realizza ritratti astratti.

Google Slides: slides

Video di presentazione:

Portraits! (ita) from VVZ3N on Vimeo.

Macchina in azione:
Meccanismo del grilletto:


Link al design CAD: https://a360.co/2Os6FV5

Circuito della CNC:
Che cos'Γ¨ l'arte computazionale? Che cos'Γ¨ l'arte generativa?
http://valerioviperino.me/portfolio/what_is_gen_art/

Ispirazione: Patrick Tresset, Paul the Robot

Sito web della mostra "Echosystems":
http://echosystems.xyz

Useful electronic components

After many years of accumulating electronic bits and pieces, I thought it may be useful to have a list of different components grouped by their purpose.
So here it is!

Read more  ↩︎

Some thoughts on AI art

Here's a link to break the ice:

Questions for discussion:

  • Is the only value of an AI artwork the fact that it has been generated via an AI?
  • Does the medium allow the artist to ask questions and explore corners that would not be possible to explore without AI?
  • Is this really showing some from of Intelligence, or is it just a sophisticated Pattern Recognition?
  • Is our own Intelligence just a sophisticated form of Pattern Recognition?
  • Are these AIs somehow capable of generalizing ideas or creating a numerical representation of abstract concepts?
  • How much of this work is the result of original research, and how much is just reusing somebody elses work but fed with different inputs so that it generates different outputs?
  • What's the difference between creating artwork in a commercial software framework like Houdini (written by others), or creating it using a Deep Learning algorithm (written by others) ?
  • What's the difference between creating a robotic machine that paints, or creating it an image using a GAN algorithm (written by others) ?

Digital meets real: 3D Printing

As soon as I started to fiddle around with Processing and Openframeworks back in 2013, I immediately felt the incredible power that their generative approach could offer. The amount of control, the expressivity and the variation of artworks that could be potentially generated felt really overwhelming! But one the most important things that you surely have already witnessed in your creative practice is that having (virtually) no limits can have a huge impact on the quality of your works. Sometimes a constrain or a technical limit are the best way to get inspired!

So, as digital people working with digital tools, how can we introduce some of these healty limits?

Read more  ↩︎

Automatic Watering System with Arduino

During my stay in the UK to attend the MA at Goldsmiths, I bought two small plants to keep myself company. Surprisingly enough, they names were Mint and Thyme. But I had one major issue: when I had to come back to Italy for a little break, I had nobody that could water the plants for me.

Arduino to the rescue!

Thanks to Eevi's project, I knew that I could use a water pump with arduino, so I started looking for more tutorials on the topic. Turns out it's a fairly straightforward thing to do, and it can also be quite cheap if you manage to recycle an old motor and 3d print the actual peristaltic pump.

Bill of materials

If you already have an Arduino and some cables, we're talking of about 20€ in total.

  1. Peristaltic pump: Peristaltic Pump, Yosoo
  2. PVC Pipe, 4mm diameter: 4mm ID x 6mm OD Clear PVC Tubing Pipe Hose
  3. Arduino Uno
  4. 1 Channel Relay, like this one
  5. Jumper cables
  6. For a cleaner result, terminal sockets like these

Getting the pump to work

In my case, getting the peristaltic pump to work required a bit of "hacking". Nothing too complex, but when I tested the pump plugged to the 12V power supply and connected to two glasses of water, I saw that something was not working fine. I could hear the motor shaft spinning, but the water was not flowing into the tubes. So after watching a few videos and getting to understand how the actual pump worked, I disassembled it and I noticed that the three inner rollers were not rotating with the motor. So I rearranged their position in a narrower way - I pushed them further against the motor shaft so that its rotation would transfer to them.

Schematics

Code

(see the original gist [here](https://gist.github.com/vvzen/afd14c138096d49fc47edfa89afce588) if indention seems off)

Working setup

As you can see from the photo, I'm also using heat shrink tubing (black) together with the PVC tube (transparent). For some reason, probably due to the not so great quality of the pump, it was not sucking enough water just using the 4mm tube, so I had to put a little bit of heat shrink tubing to bridge the pump to the PVC.