- Finish Lunatics S1E01
- Assemble a “KitCAT Studio” distribution for production
- Write “Film Making with Kdenlive”
- Finish remodeling our bathroom
- Create a viable business/store for making sales, etc.
I made a graphic to use as a desktop wallpaper, as a reminder:
The idea here is to draw a distinction between tasks I need to do for maintenance — fix the computers, maintain a web presence, etc — from tasks that are directed towards achieving specific goals, and make sure that I’m spending at least a little of every day on reaching my goals, rather than just getting lost in maintenance tasks.
Lunatics in 2023
Happy New Year and Happy Lunar New Year!
The month of January usually means a lot of paperwork for me — and this year has been no exception. I am preparing my annual summary & report as well as tax filings. I will publish the summary as a PDF, if you want to read it. Most of it will not be new, if you’ve been following my posts, but it may organize the information better.
In the middle of the paperwork (which is mostly a figure-of-speech now, as it’s mostly filling forms on the computer), though, my BTRFS project drive failed again. Now this wasn’t really BTRFS’s fault — there’s something wrong with one of the devices it was running on (not sure if it’s the disk itself, or the SATA connection), but trying to navigate the help and error messages for BTRFS to troubleshoot and recover was just one thing too many for me.
So this month, I migrated my project data back to a regular Linux ext4 filesystem, and set up rsnapshot to make snapshot backups. It’s an older system, and probably not quite as fast or efficient, but I understand it much better!
Goals for 2023
This is also the time of year when I do most of my steering, and I decide what to focus on in the upcoming year.
First of all: I am sick-to-death of doing IT work on the “Virtual Studio” servers. So they aren’t going to change much, beyond a few loose ends:
- Finishing Nextcloud migration / setup
- LiberaPay option?
- Maybe fix the tabs on my WordPress “Production Log”
Moving the Flag
I plan to switch back to posting updates directly on my Production Log, and linking to those from here. I will probably start this method in February.
This reduces the dependence on Patreon and will simplify my monthly and annual record keeping. It also opens up the possibility of providing additional support options like my new Ko-Fi account.
It also means I don’t have to jump through any hoops to give access to project contributors. It has always bothered me that I had a way to give access to patrons, but not to people who directly contributed.
I could probably find a way to limit access to the Production Log, but I really don’t think any of you are seriously supporting this project because of the early access, are you? So, I mean, you could just subscribe to the RSS feed on my WordPress, but I really appreciate your support, and I hope that’s the main reason you are here.
Production: Ep. 1
I plan to make production work a primary focus in February and probably March. I’m not going to make milestone promises — let’s just see how far I get. However, I do have “attempt to release episode 1” as my top priority for the year.
After becoming very frustrated with Eclipse, I’m now trying out “VSCodium”, which is a packaged build of the Microsoft VSCode open-source release, without any of the telemetry or proprietary elements. So far, I really like the user interface a lot better, though I haven’t tried to do serious development tasks with it.
My immediate development projects are various small tasks, which are all somehow related to producing, releasing, and publishing “Lunatics!” episode 1:
- Finish refactoring LunaGen and setting up unit & functional tests
- Port ABX to Blender 2.8+ (including 3.x)
- Re-adding Japanese support and faces for Papagayo NG
- Experimental testing of Primera Bravo II Disc Duplicator
- A Python-flask-based tool for disc duplication, “Bunsen”
- Debian Packages for some of my Python projects
These are also learning projects. I’m wanting to try out some alternatives for software development and develop some packaging skills.
I am planning to go back to some of my earlier project goals of exploring rapid “near realtime” production workflows for certain kinds of shots and scenes.
From the beginning, I have wanted to leverage tools that speed up the animation process, hopefully making serious production practical. But I’ve prioritized the familiar, but slow, keyframe process for the pilot.
I plan to change that this year. I’ll be doing practice projects to test out:
- Markerless (and perhaps marker) motion capture
- Using mocap movement libraries
- Retargeting mocap to Blender armatures
- Capturing facial performance for character dialog
- “VTuber” style workflow for ‘talking head’ shots
- “Machinima” style workflow for walking and body-action shots
- Creating virtual environments in Godot for animation capture
- 3D ambient sound mixing (Blender or Godot)
- Synthetic voices and effects (not for actors, but robots, software, etc)
All of these are subject to changes according to how well they work and what alternatives show up.
Probably none of these techniques will actually be used in the pilot, but they may be critical in production for the faster pace I hope to achieve on Episodes 2 & 3.
This will require that I do a lot of interesting work on production software that I need to install and learn:
- Blender 3.x (I think we’re on 3.4, now…?)
- Godot (first steps to a fully-open machinima workflow system?)
- OpenPose (Markerless Mocap)
- OpenSeeFace (Markerless Mocap)
- OpenSeeFace GD (VTuber realtime puppetry)
- Synsy (vocaloid-like synthetic voice generation)
- VSCodium (programming IDE)
- Prism-Pipeline Integration (integrated production environment)
I’m also planning to switch to a different Linux platform later in the year, after the pilot is released. The current most-promising alternative is “AV Linux”, which is now based on “MX Linux”, and had a new release just a few days ago.
Finally, I have decided to start work on a book about production, centered on Kdenlive, and possibly a tie-in self-published book on development for Lunatics in particular. So far, I have outlined the book as a series of learning projects, mostly based on already-completed work I’ve done for Lunatics or Film Freedom.
It’s shaping up to be a busy year for me, but I hope, a more fun one, focused more on my end-goals.
Lunatics’ Virtual Studio 2023
Most of my 2022 was spent on trying out alternative software for our “virtual studio” project site. I’ve had many successes and many failures, and it got very complicated, tedious, and time-consuming, despite me attempting to get it done “in a few weeks” (didn’t happen — took the whole year).
My goals were:
- Move from proprietary to FOSS solutions.
- Move from services to self-hosting (self-managed cloud-hosting).
- Eliminate single-supplier chokepoints.
- Eliminate sources of platform censorship, shadowbanning, or suppression.
- Move to decentralized social media.
While I didn’t perfectly achieve all these goals, I did make some progress, particularly on the social media / PR front.
So, I think rather than giving a detailed history, I’ll just describe the “Virtual Studio” as it exists in Feb 2023.
The project still maintains a landing page at https://lunatics.tv. I’ve done nothing with this, as yet. I expect to overhaul it prior to release, and add regular site updates to make it more appealing and functional. It is a static site, generated by my LunaGen program. The software needs more refactoring work in order to make maintenance easier (there’s still too much ad hoc code to support the current website, and I need to separate content and code).
The central website for the project is a YunoHost 11 platform (which runs on Debian 11), hosted on two Digital Ocean “droplet” VPSs. Why there are two is a long story, and it is probably not strictly necessary, but merging them wouldn’t be simple — I’ll come back to that point later.
The project “hub” is a WordPress site, which is mostly set up the way I want. The Home page of that site is the Production Log, though it also serves as a CMS for project policy and documentation (I do need to add more tabs and revise policy pages to bring them up-to-date).
This has some known performance issues. I am currently of the opinion that the transparency of S3FS (where each file maps to a single object in the storage bucket, with a recognizable name) is worth the cost. However there are alternatives, such as S3QL or JuiceFS, should I become more concerned about the performance.
Of course, this also represents an abandonment of both Git and Subversion for version control. Instead, the plan is to use the more-limited, but much easier to use version control provided by Nextcloud.
As soon as I can figure out the configuration, I intend to make this readable by the public, and accessible from the project “Home” page (I don’t think this is difficult, but I’m still learning my way around Nextcloud). Write access will require logging in as a “contributor”.
In addition to the primary source tree for “Lunatics!”, there will be a Music Library and other media collections available in Nextcloud.
Some of these will also be made available via ResourceSpace, which provides better search and preview capabilities, but this is not yet configured.
Video (and Audio) Hosting
I consolidated all of our project videos from both YouTube and Vimeo onto our new, self-hosted, PeerTube server. This, again, runs off of our D.O. droplet, with data actually stored in Backblaze B2 object storage. I also have offline backups, of course.
PeerTube still has some performance issues relative to Vimeo, so I have also retained my Vimeo account to post released episodes. It is likely that I will post behind-the-scenes and tutorial content on PeerTube, from now on.
Software Source Code Repo
Source code is hosted under the Film Freedom project, on our Gitea instance. This provides an interface similar to Github, but somewhat streamlined. There are a handful of software packages there that I have migrated over from Github, including “ABX”, which is my collected Blender utility extensions.
The centralized commercial social media services have never really lived up to their promise for us. Without paid promotion, they are not much use, and this situation has worsened. They also have developed increasingly toxic, politicized communities, which makes using them unpleasant.
At the same time, Elon Musk’s takeover of Twitter resulted in a large migration of users to the Fediverse (mainly Mastodon), which has made it feasible to migrate our entire social media effort to federated media (already more desirable to us). The network effect is no longer so compelling that we have to grit our teeth and use proprietary media.
I therefore made the decision to abandon my efforts on Twitter, Facebook, and Tumblr, in favor of spending that time on federated social media.
At present, I am actively maintaining three main Fedi accounts:
- Lunatics Project Image-Blog Account (Pixelfed)
- My Professional Director/Producer Account (Misskey)
- My Personal Microblogging Account (Mastodon)
I did try using the federation plugin for WordPress, but this was ultimately more trouble than it was worth. It’s easier just to post a link to my production log articles from my Producer account.
I am retiring a number of proprietary services. I only deleted one account (the “LunaticsTV” account on Twitter), but I am not going to be maintaining the accounts on:
- Twitter (deleted)
I’ve never loved using these proprietary platforms, but felt I had to “because that’s where the the people are”. But in 2022, the Fediverse became much more viable as a means of promotion for my project, and these services have continued to decline (with Twitter falling faster than the others). At least for me.
- Subversion / Trac
- Git / Gitea
Removing my reliance on Subversion for production sources was a major goal for this year, and I achieved that. There are various reasons to move away from GitHub, and I have now moved my software projects to the self-hosted Gitea (which I plan to keep for this purpose).
On the other hand, Gitea turned out not to be a good choice for production files. So those are moving to my self-hosted Nextcloud.
Much less obviously to you, but very important to me: I’ve moved the heaviest use object storage from AWS to Backblaze. This was a nice proof of the portability of the object storage, and I have to say it worked flawlessly — “rclone” is my friend!
There are, of course, a few things I haven’t been able to move. This is particularly true for the financial services. It is very difficult to do business online without dealing with big corporate financial services. And the selling and patronage platforms handle that interaction, so it’s also hard not to rely on them.
There are a few alternatives that I could look into. It is possible to run an ecommerce site on open-source software. But then, of course, you’re dealing with the financial services directly.
But for now, my attitude is that this is a low priority, especially since it can never be “pure” FOSS or self-hosted (this was the promise of cryptocurrency, but that hasn’t really been working out very well — I’m starting to be glad I was a slow-starter and never got involved with it).
Nothing is perfect. I’ve gained more power over my own data, but I’ve also incurred more costs, both in money and labor. What used to be advertising (or “surveillance capitalism”) supported free service now costs me monthly fees. And of course, if stuff breaks, there’s only me to fix it.
But in the end, I think I’m more comfortable with that — than with having to second-guess how a corporate provider is going to intentionally break things in order to sell them back to me.
Aside from finishing up a few loose ends, I plan to move my technical focus to desktop/workstation production software, which is generally a LOT more fun.