Charles Flèche's blog

Today I learned

This page contains short articles and small snippets on subjects I recently learned about.

No roaming to activate Signal

I broke my phone and had to revive my old Cat S22, but I couldn't reactivate Signal: here in Canada I wouldn't receive the activation SMS sent to my French SIM. Turns out that roaming needs to be deactivated: Settings > Mobile Network > Roaming. I also disconnect the 4G for good measure, connected to WiFi and tried to activate my Signal account again. This time, it worked !

Presentation of Ynput's Ayon at the USDrinks

Today during the USD meeting at Moment Factory, Robin De Lillo shown us Ayon, an Open Source pipeline for VFX / animation / creative studios. It looks quite neat, and I like that they develop it in the open, fully on GitHub, with features funded by paying customers. I'd love to have a proper demo of their product some times in the future.

SIM management with mmcli

Broken phone, broken screen and a broken digitizer. It kept on registering random touches on the SIM PIN screen, unfortunately blocking it. My backup phone does not offer to enter the PUK PIN, so I had to find another way to unlock the SIM. Thankfully I have a Mobian compatible Pinephone where ModemManager could be installed.

$ sudo apt install modemmanager
$ sudo mmcli -i 0 --pin=<pin_number> --puk=<puk_number>

Tips courtesy of https://discourse.ubuntu.com/t/entering-sim-passwords/19909.

OpenDCC is released

The team behind the modular OpenUSD editor ShapeFX Loki released its Apache-2.0 licenced framework: OpenDCC.

From the README:

OpenDCC is an Apache 2.0 licensed, open-source Digital Content Creation (DCC) application framework for building modular, production-grade 3D tools. It combines a flexible, plugin-driven architecture with an industry-standard Qt-based interface, embedded Python scripting, OpenUSD and Hydra integration.

It looks very promising and I'm waiting for the first packages to try it.

ufbx, a single source Open Source C++ FBX loader

The FBX is a proprietary 3D scene file format from Autodesk. It is ubiquitous in the industry, especially in games. Its many iterations makes it a format rather difficult to work with and its closed source prevents free software application like Blender to directly link against the Autodesk libs: Blender's developpers had to reimplement parts of an FBX I/O themselves, with not great results.

Fortunately the ufbx seems to be a rather capable FBX reader. No writer yet, but Blender 4.5 will have a new ufbx based importer.

Testing USD hooks outside of Blender

Part of our pipeline is automated through a Blender extension that pre / post process USD with USDHooks. For a long time, our integration tests had to actually run the Blender executable: we had to import the USD modules, and those were not available through the pip installable bpy module. Installing usd-core alongside bpy wouldn't work: we would have two USD libraries running into the same process (one from usd-core, the other from bpy) and that's a recipe for disater.

Thankfully, since Blender 4.4, the function bpy.expose_bundled_modules() makes the third-party bundled modules, notably USD, available from the rest of the application.

import unittest

import bpy

bpy.expose_bundled_modules()

from pxr import Usd

class MyTest(unittest.TestCase):
    ...

Thanks to bpy.expose_bundled_modules() we can now run our tests fully from a Python interpreter, without running the Blender executable: - as we stay fully in the Python world, the setup is the same on local Windows workstation and Linux CI machines - we can simply run and debug our tests from the native IDEs integrations