"Computer programs process and display critical data, facilitate communication, monitor and report on sensor networks, and shoot down incoming missiles.
But computer code is not merely functional.
Code is a peculiar kind of text, written, mantained, and modified by programmers to make a machine operate. It is a text nonetheless, with many of the properties of more familiar documents.
Code is not purely abstract and mathematical; it has significant social, political and aesthetic dimensions.
Like a diary from a forgotten past, computer code is embedded with stories of a program's making, its purpose, its assumptions, and more."

extract from 10 PRINT CHR$(205.5 + RND(1)); : GOTO 10


I see code as a way of expressing thoughts, feelings, ideas.

That's why I try to get myself comfortable with different frameworks and technologies: in the end they're just tools - and the more you know the easier is to pick the right one for the job. I'm not an expert in anything - I believe it's impossible to be nowadays.

I'm a big fan of UNIX and the terminal philosophy: minimalist command line tools compose on top of each other, allowing you ultimate freedom instead of being forced to work with the buttons that somebody decided to expose in a GUI.

I like Emacs too, because I'm also a maximalist and I like to be able to do everything from a single magnificently full-fledged and extensible OS IDE. Plus, when using Emacs I feel empowered and ready to hack around with my grabby lisp-y tentacles.

GNU/Linux & macOS are my close friends - Windows is an uncle I see from time to time, but we really don't get each other.


I'm keen in learning new things when required by the project. I also know how to exit from vim, in case one of your developers is still trapped inside it.

  • At the beginning of my career I did a good amount of web projects involving the use of NodeJS and Javascript/HTML/CSS, but these days I try to stick to Rust and Python as much as possible (with a preference on the former).

  • I also tinkered on projects using used micro-controllers (like Arduino) or micro-computers (Raspberry Pi, udoo-x86).

  • For a personal project I also developed custom python scripts for importing GeoJSON data inside Houdini. I also use python for my daily hacks of every sort.

  • I used threejs & OpenFrameworks to create generative and multimedia artworks that involve projectors, sensors, microcontrollers and other geeky stuff.

  • Oh, yeah, once I even tried to write a tiny Neural Network from scratch - because why not?

  • Over the few years I mostly worked on the development of 3D Animation / VFX pipelines in different studios. I know my way around several DCCs (Houdini, Nuke, Maya) and Ftrack & the Shotgun APIs. I try to write Rust when I can, and Python when I have to. I wish we could erase Maya from the pipelines of all world and just use Houdini, but unfortunately, it's not that easy.

If you feel I'm a good match for your next project, please check my CV to get the full picture.