March 2018 Summary

HIGHLIGHTS:

  • Visited the Saturn V center at NASA Johnson Space Center
    and the rocket park (the free part).
  • Finished business tax filings, started personal taxes.
  • Drafted business plans, including offer to Keneisha Perry.
  • Redesigning the Patreon “Progress Bar” widget for
    the website.
  • Characters for the Episode 2 teaser.
  • Published DAMS article for Open Source magazine and
    started on one about Project Management tools.

Mar 1, 2018 at 4:00 PM

Characters for Part 1

Walk-ons and Extras
Since the pilot story starts on Earth, there are a lot of people needed for it. Keneisha Perry has made a lot of characters based on base-meshes by Bela Szabo (for consistency). These are some of those characters in the neutral, “modified T-pose”, before rigging or animating them.

Keneisha Perry had to model and rig a lot of characters for small parts in Part 1 of “No Children in Space”, with all the reporters, technicians, space port staff, and towns folk.

This was rendered before the characters were rigged, which is why they are all in “modified T-pose” (but they have all been rigged now).

Mar 2, 2018 at 4:00 PM

Podstaging Test Render

This shot is from the launch sequence in Part 1 of “No Children in Space”.
This is a test of the NPR shading style on the pods, the texture and color, and of course, the flame effect for the exhaust.Research, Design, Texture, and Effects by Terry Hancock. Model and Rigging by Chris Kuhn.

Mar 6, 2018 at 4:00 PM

Some Characters for Episode 2

Keneisha Perry has started creating characters for the “media montage” sequence at the beginning of the 2nd episode. These characters are made as “Extras” or “Walk-Ons”, based on original generic character meshes with mix-and-match modifications.Mar 9, 2018 at 4:00 PM

Writing TACTIC Installation Playbook

Decided to just get started on a TACTIC installation, using Ansible. It’s a lot of picky dependencies and the documentation appears to be years out-of-date with respect to the code. So this may be kind of tricky.But at least I know my way around Python code and installations — I think I have a fighting chance to get this right!

The documentation describes compiling libjpeg, and I’m not sure why I’d want to do that, since libjpeg is in standard distributions. They also compile Python Imaging Library (PIL) version 1.1.7, but that’s pretty much been subsumed into the “Pillow” library now — and indeed, scanning the source code reveals evidence that it has already been ported to use Pillow.

I’m sure there are more surprises waiting for me.

I had been planning to setup the filesystem tools for the asset directories, but it occurred to me that TACTIC itself will be installed elsewhere (probably /var/local/, which is what I’ve been using for web applications), and so it’s really not sensitive to the asset directory work.

I have done some more work on the volume storage script as well this week.

Mar 10, 2018 at 7:06 PM

TACTIC Installation Notes

So basically, the TACTIC installation consists of:

  • Install and configure dependencies, like ImageMagick, PostgreSQL, and so on — mostly can be done through Debian packages.
  • This includes a number of Python modules, which could be installed with either the Debian package manager (apt-get) or with Python’s own package manager (pip).
  • Configure Apache.
  • Configure PostgreSQL.
  • Decide on installation directories and create a configuration file for the TACTIC installer.
  • Run the installer.

My plan is to do all of this using Ansible. I did similar stuff with WordPress and MediaWiki earlier. Kind of waffling over whether it will make sense to install multiple TACTIC instances for different domains, but I’m thinking not — that the biggest strength of TACTIC is to use it for everything together, so that it’s easy to pull assets from one project into another.

Also, the default configurations all have the Apache load-balancer module set up, and I’m not sure how much sense that makes on a single server — especially when it’s a VPS. Are there software-only reasons to need a load-balancer with Apache? I doubt we need that.

On the one hand, TACTIC is clearly very configurable, which is great in the long run. On the other hand, it hits me with a lot of up-front decisions to make! It’s not for the faint-hearted.

Think I’ll be able to get it running this week, though.

Mar 12, 2018 at 4:01 AM

Yeah But Really It’s EPL…

I must admit, it IS a bit disconcerting that although Southpaw re-released TACTIC under the Eclipse Public License in 2012, they left an awful lot of these proprietary license comments in the source code (most obviously in the installation scripts, which is where I found this one).

I feel funny deleting them, even though they are supposedly invalid now. Really, Southpaw should have done that and replaced the text with EPL boilerplate.

I’m still writing an Ansible “role” for TACTIC installation. The Sys-Admin documentation is also fairly far out of sync with the source code: it seems the documents were originally written for 2.6, updated for 3.8, and the source code is at version 4.5.

So, for example, it describes downloading and compiling dependencies for the Python Imaging Library (“PIL”), but for some years now, that has been mostly replaced by Pillow, a “friendly fork” of the original, and one which continues to be maintained.

I was scanning the source code to see how hard it would be to use Pillow instead, and then discovered that actually, it had already been ported to use it. So installing PIL (which is now kind of difficult) would have been pointless.

I hope to get to the point where I can write better documentation.

Mar 16, 2018 at 4:00 PM

Saturn V at the Rocket Park

This has been a busy week personally. My son needed to visit the Japanese Consulate in Houston for some paperwork, so we decided to take the whole family on a road trip. Naturally, we had to stop off and visit the Rocket Park at the Johnson Space Center.A tour of this site is available from the nearby “Space Center Houston” attraction / museum (which is kind of pricey), but you should know that it’s free to see the Rocket Park itself if that’s all you want. They do make it kind of scary, because you have to drive up to the gate guard at JSC and tell them you just want to visit the Rocket Park.

We used to make trips down to see this park now and then, calling it “the pilgrimage to the Lawn Ornament” — a tongue-in-cheek reference to a remark that, due to the cancellation of Apollo 18, 19, and 20 back in the early 1970s, the hardware slated to fly those missions became these two “multi-billion dollar lawn ornaments” at the Johnson and Kennedy Space Centers.  But that was before they built a building over it to protect it from the elements and retouched the paint.  It does look a lot better now, although it seems like they haven’t done as much to the Command Module for reasons I don’t know.

It is sad that they were never used, but on the other hand, because they never flew, we get to see them up close, and that’s pretty cool.

Likely won’t be posting much new “Lunatics!” progress until next week — my goal today is to catch up with my income tax filing before the deadline hits!

This did make me think about how our “LTS Moon Shuttle” would compare in size — I think if I remember correctly, the service module is about the same diameter altogether as the Saturn V booster stage, although it’s four tanks rather than one big cylinder, so quite a bit lighter and also shorter. It is considerably larger and heavier than the Apollo CSM/LM combination, though, which illustrates why we went for an “Earth Orbit Rendezvous” logistics system, more like some of the early Apollo concepts.

Maybe I’ll post a comparison diagram at some point.

Mar 19, 2018 at 8:52 PM

Website Review

Spent some of today looking over the website and trying to fix some long-standing problems.

I changed the Patreon banner to stop pretending it’s a progress bar (it hasn’t actually worked in a long time, and the Patreon API has apparently changed since I wrote it).

Also decided to drop the Diaspora and Google+ social media buttons. Those sites are still there, but I haven’t updated them in a long time. I’ve also reduced how often I post on Facebook (because unless you pay them, the posts don’t get very far anyway). So the bar correctly places Patreon, Twitter, Tumbler, and Vimeo as our top posting sites.

I’m still working on editing the info on some of the pages — I suspect I’ve got some out-of-date information up still.

Mar 20, 2018 at 4:00 PM

Our DAMS Article in OpenSource.com

LINK: Digital asset management for an open movie project (REPRINTED BELOW)
When it comes to frontend creative software for multimedia projects, Blender and Audacity tend to get the most attention, mainly because they are easy for beginners to use. But when you use them to produce a large multimedia project, like our animated open movie project , you quickly run into problems with the backend infrastructure.

Since this article was written by me, and released under a CC By-SA license, I am reprinting it whole.

Digital asset management for an open movie project

Learn more about using Subversion, Trac, and Resource Space to manage digital assets.

When it comes to frontend creative software for multimedia projects, Blender and Audacity tend to get the most attention, mainly because they are easy for beginners to use. But when you use them to produce a large multimedia project, like our animated open movie project Lunatics!, you quickly run into problems with the backend infrastructure.

You might not even realize at first that your problem is rooted in disorganization. You find yourself procrastinating and/or working in circles because you can’t keep your project organized in your head. You need software to help you.

One of our goals has been to solve this problem using open source software, and thus remove obstacles to doing longer-format movies on the non-existent budget of a free-culture film project.

Digital asset management

The first and most obvious problem is called digital asset management (DAM), and a system to solve that problem is called a “digital asset management system” (DAMS). An “asset” is a component of a multimedia project, be it an image, sound clip, movie, 3D model, or whatever. It’s generally synonymous with “file.” Keeping one asset to a file is a good rule of thumb, but it is possible to store multiple assets in a file or for a single asset to have dependent assets, such that it spans several files.

A DAMS will typically provide something like a search interface combined with automatically collected metadata and user-assisted tagging. So, instead of having to remember where you put the file you need, you can find it by remembering things about it, such as when you created it, what part of the project it connects to, what’s included in it, and so forth.

A good DAMS for 3D assets generally will also support associations between assets, including dependencies. For example, a 3D model asset may incorporate linked 3D models, textures, or other components. A really good system can discover these automatically by examining the links inside the asset file.

Version control for multimedia

Most software projects simply use their version control system (VCS) as a DAMS. The source tree provides a hierarchical scheme for locating files, which is entirely adequate for the rigid and static structure of program files that are intended to work together like parts of a machine.

 

Readers may be in familiar territory with VCS; you’ve likely heard of Subversion, Git, Bazaar, and Mercurial. However, these tools are terrible at handling multimedia assets. VCS documentation usually talks about this as if it were an intrinsic problem of multimedia files, but that’s loser talk. The reality is that these applications simply aren’t designed to cope with multimedia, so they fail badly at it.

Explaining exactly why that is (and how to really fix it) is a big enough subject to warrant a separate article, so, let’s just talk about the consequences of it:

  1. You CANNOT merge multimedia files automatically
  2. That makes concurrent “merge-based” version control IMPOSSIBLE
  3. Therefore, all version control for multimedia should be on a “locking” basis

And with that, about 90% of the functionality of Subversion, Git, Bazaar, and Mercurial went right out the window and smashed on the pavement. Thanks anyway, guys!

  1. Multimedia files are HUGE
  2. Project structure is FLUID and LOOSELY DEFINED
  3. Intermediates can be EXPENSIVE

Typical VCSes simply have not been designed to cope with these facts. They all assume filesystem-type hierarchies of files are being stored, and most do not accommodate partial checkouts (or at least not easily; Subversion does do this better than the others). The relational, tagged organization of a DAMS is better suited to the fluidity of multimedia collections, and most have been designed with large file sizes in mind.

Searching for another option

We surveyed many different software packages, most of them not originally designed for our application. Some are used by other projects but don’t seem optimal for ours. Others simply have issues with maintenance; they’re either old and succumbing to bitrot (falling out of sync with current software) or still too immature to be used on an active project.

Some of the roads we didn’t take:

  • Blender-Aid is a Blender-refactoring tool that assumes you are using Subversion for the VCS. It was developed for use on the Blender Foundation’s Sintel project, but unfortunately was not maintained after that project finished. When we tested it, we had to patch the source to get it to work with current Blender files (and that was several updates back). We submitted our patch, but no one was maintaining the project to accept it.
  • Git is, of course, very popular with programmers. I’m often asked why we aren’t on the Git bandwagon. It would be a small improvement over Subversion, but it’s mostly a sideways move, making it not worth the trouble of migration.
  • Git-LFS is an extension to Git that improves performance with large files.
  • SparkleShare is a folder-sharing tool, based on Git, that’s simple enough for artists without any VCS experience. It’s used by the Tube project (Wires for Empathy).
  • Boar can be seen as either a VCS or a backup system. It focuses on folder replication and easy handling of large multimedia files, although it doesn’t help much with search or organization.
  • Peragro goes to the other extreme, handling lots of small Blender assets well; in particular, it can look inside of Blender files to find the individual objects they contain. It’s still very much in development, though.
  • MediaWiki allows assets to be stored as “files” or “images,” and we did use this approach for a short time during our pre-production work, but it’s difficult to manage when asset storage is its primary use.

What we’re using now

We are currently using a combination of Subversion, Trac, and Resource Space.

Subversion is a VCS to manage the Blender “source code” for our project. It is familiar and somewhat usable, although we’re clearly overloading it. The Trac application provides a simple web-based view of the repository but doesn’t preview multimedia content.

 

Resource Space is a DAMS with an excellent search and preview interface. Unfortunately, these programs don’t really work together at all, so we must manually move files from one to the other when needed.

 

Trying a new TACTIC

In 2012, the Blender Foundation started a new project, called Gooseberry, which ostensibly had similar goals to ours, including producing a feature-length film with Blender. However, that has morphed into a series of shorts, and its solution for a studio backend was to go with a software-as-a-service platform called Blender Cloud. This was completely the opposite of what we wanted.

We looked into what options they had considered prior to that project and discovered TACTIC. TACTIC seems ideal, providing DAMS, VCS, and additional project management features, and it’s licensed under the Eclipse Public License. Our biggest concern was that we weren’t sure why Blender Foundation had opted against it. Possibly it was not under the EPL at that time (the package was relicensed about the same time as the Gooseberry project started) or simply too coupled to Maya (which it was originally developed to work with). Considering that Blender Foundation opted to build new, it may simply be a case of “not invented here.”

 

However, as our intention is to invent as little as possible, TACTIC seems almost too good to be true. Our main infrastructure project for 2018 is to set up and test this system on our pilot project.

Mar 21, 2018 at 4:01 PM

VirtualBox Testing

So, in order to test TACTIC, and in particular, to test the Ansible scripts for deploying it (along with the new website and other stuff), I need to have a testing environment.

I had these set up on my old workstation, but when I upgraded, I never recreated it, and the test environment wasn’t quite as portable as I hoped.

Also, the previous version of Ubuntu Studio (17.04) went out of service on me, and I discovered that they take away the Package repo when that happens, so I couldn’t even install VirtualBox until I upgraded.

So today, I upgraded to 17.10 (“Artful Aardvark”); installed VirtualBox; and now I’m installing the virtual “staging” machines.

What I do is to create a “little universe” of testing machines, where the test client (“studio” — a stand in for my workstation) is used to access the server (“narya.net“) which is set up to appear to the test client as if it were the real server (i.e. with the correct URLs and everything). That way, the test environment behaves just like the real one, even for absolute URLs.

Once I get these set up, I intend to export them into a “virtual appliance” format so they’ll be more portable in the future.

Mar 22, 2018 at 4:00 PM

Design Work for Hatchways

Design drawings for the hatchways inside the ISF-1 Lunar Colony.

Mar 23, 2018 at 4:01 PM

Space Station Alpha Render

Mar 24, 2018 at 4:01 PM

To Facebook or Not to Facebook…

Facebook has been a very frustrating platform. It’s so close to being good, and yet this is constantly thwarted by, shall we say, “commercial concerns”. I realized awhile ago that my frequent posts on the Lunatics! Facebook page were largely a waste of my time, considering how few people saw them, and that they were detracting from posting here on Patreon (I had this idea that I had to only post full articles here, but realized I should really just make those same quick posts here on Patreon first).

It’s understandable, considering that Facebook is in the business of selling our identities to advertisers, rather than meeting our needs as users. But that doesn’t make it any less frustrating to use.

I got on it originally to keep in touch with family. Then I found it useful for professional connections. But in fact, many of the people I got on the platform to connect with have already left it. Some just got dissatisfied with it and stopped using it over time. Others left in a huff and deleted their accounts in the wake of their latest scandal with Cambridge Analytica (Certainly that was a bad thing, but shouldn’t really have surprised anyone — that is, as some have noted, “how Facebook works”).

Perhaps more importantly, Facebook is psychologically unsettling (I like to describe it as “the opposite of meditation”) and a frequent time sink for me.

And of course, it’s not a free, decentralized, or open-source platform, so it’s not really the kind of technology I want to support. It was just “where the people were”, so I went there.

I’m not sure what I’m going to do about that — possibly delete the account, possibly just delete old posts, possibly just tighten up security. I don’t know.

Now, I’m thinking about other options. Mastodon looks easy enough to install, so I think I’ll probably create an instance on my VPS server — probably under the “filmfreedom.org” domain that I set up awhile ago. That’s on top of other software I’m planning to install as part of my website upgrade, so don’t hold your breath, but I’ll post a link when I’ve got it set up. Possibly I’ll open it up to allow other people to use it as well. I haven’t really had the chance to think about the impact of that.

Other current accounts:Twitter

Tumblr

Not-so-current accounts (but I suppose I could wake them up):

Diaspora

Google+

Of these, only Diaspora is a free, open-source, federated platform. However, I didn’t find it very easy to find contacts there.

Mar 30, 2018 at 4:00 PM

Present-Day ISS

International Space Station 2014
As an intermediate step in developing the 2040 space station for Lunatics, we created this model of the present-day (2014) International Space Station.

Before we created the future “Space Station Alpha” for “Lunatics!”, Terry Hancock and Chris Kuhn collaborated on researching, creating, and rendering this model of the prsent-day (approximately like it was in 2014) International Space Station.

This was a test not only of the model, but also the style, and the Alpha model was an extension of this (assuming that somehow the ISS keeps getting refurbished and repurposed into an extended lifespan — which might happen, despite the occasional threats to retire and deorbit it, like its predecessor, Mir).

Mar 31, 2018 at 4:00 PM

Workstation Build

This week, I’m ordering parts to build a new workstation for our principle animator, Keneisha Perry. We found out that slow rendering in the Blender viewport was getting in the way of her doing finer animation, and that seems to simply be a case of not enough “oomph” in CPU and RAM, although possibly the video system is a problem too. I should be assembling it, installing software, and shipping it to her next week.

This has given me a chance to look at the next generation of components. The CPU will be a Ryzen 7, which is an 8-core AMD. RAM will be 16 GB DDR4, and it’s now pretty standard to put an M.2 SSD port right on the motherboard, like the one picture above (not for this build — that’s still in the mail). She’s also getting an nVidia card on it — I’ve generally avoided nVidia in the past, because the open source drivers aren’t really adequate and thus it’s generally necessary to run the proprietary ones, but nVidia has a much better performance reputation with Blender users, so I decided to ahead with it, since performance is the main concern here.

It’ll also be the first test of using Ansible to deploy our standard studio workstation build, so that will also be interesting.

Unfortunately, the time it took me to find cash for this has introduced some delays. Our first release will probably be in early Summer at this rate.

Although in running an animation project like this, the people and their time are unquestionably the most important asset, technology is a  multiplier. Inadequate equipment wastes a lot of human time, so keeping it up to date is one of our most significant out-of-pocket cash expenses.

I hope we can keep up until we reach a break-even point, but we’ll have to see.

 


Links

Articles I linked to on our Patreon Blog in March, 2018:

 

Mar 7, 2018 at 3:54 PM

Add-ons for Blender from Samuel Bernou

LINK 20 Free Blender Add-ons Over the last year or so, Samuel Bernou created 20 Blender add-ons to accomplish small tasks such as quickly converting video sequences into a video file, maintaining a list of code snippets, object renaming, rendering blueprints and background rendering. The collection is amazingly broad, check it out!

Oooh, nice!

May have to use some of these!

Mar 8, 2018 at 4:01 PM

More NPR Effects

LINK: Livestream: Stylised Explosion – Shockwave edition
p2design writes: Hi everyone, Since my latest tutorial got a lot of attention and as it’s very easy to apply to other FX, I will slightly get out of game animation & rigging for my next livestream. Let’s create this shockwave animation on Tuesday morning 9:00 A.M U.T.C+1.

Looks interesting. I’ve been tinkering with flame effects for the launch and later rocket-firing effects. Still not convinced I have the right look, so I keep looking at how others have done it.

 

Mar 11, 2018 at 4:01 PM

Solar Probe

LINK: Public invited to come aboard NASA’s first mission to touch the Sun
Washington DC (SPX) Mar 07, 2018 – Want to get the hottest ticket this summer without standing in line? NASA is inviting people around the world to submit their names online to be placed on a microchip aboard NASA’s historic Parker Solar Probe

Just to be clear “touching the Sun” is a bit of a stretch: 4 million km is about 6 solar radii (meaning the radius of the photosphere). The “Sun’s atmosphere” is kind of a vague term that basically means the “corona” in this case (in another sense, you could say that we ourselves are in the “Sun’s atmosphere”, since the solar wind permeates the solar system out far beyond the major planets where it hits the interstellar medium).

But even so, that probe is going to get pretty hot!

That’s about ten times closer to the Sun than Mercury ever gets.

Mar 18, 2018 at 4:00 PM

Essay About Hayao Miyazaki Films

This was a video essay, but it has been hidden on YouTube

Very nice essay about characterization through animation and other aspects of Hayao Miyazaki’s animated films. I’ve definitely found those films inspiring, though it’s often hard to say exactly what it is that makes them work.

Some is probably that they don’t necessarily follow western ideas about story structure. In the East, there is a theory called Kishoutenketsu, which breaks story into four parts:

  • Introduction (ki)
  • Development (shō)
  • Twist (ten)
  • Conclusion (ketsu)

Which gives a lot of Japanese stories a different feel from American or European stories.

But I do think there’s more to it than that with Miyazaki, and this essayist makes some good observations.

 

Mar 25, 2018 at 4:01 PM

Daylight on Pluto

LINK: How much sunlight does Pluto get?
I heard somewhere that Pluto receives more sunlight than you might think, enough to read by, and that sunlight on Pluto is much brighter than moonlight on Earth. I forget where I heard that, but I’ve done a back-of-the-envelope calculation to confirm that it’s true. Pluto is about 40 AU from the sun

Interesting question — I’ve wondered that myself.

MUCH dimmer than full daylight on Earth, but still much brighter than moonlight or even “civil twilight” according to this.

Mar 26, 2018 at 4:00 PM

Krita 4 Introduces Python Scripting

LINK: Introduction to Python Scripting
Python is a scripting language, that can be used to automate tasks. What python scripting in Krita means is that we added an API to krita, which is a bit of programming that allows python to access to parts of Krita.

I don’t really know anything about the API yet, but I’m very excited to see this happen! I’m hoping this will mean that Krita can be integrated into our KitCAT project.

The idea behind KitCAT is to create a context-sensitive client for TACTIC, which is tightly connected to create applications on the artists’ computers.

Imagine being able to simply pop up a window in Blender, Krita, Gimp, Inkscape, Ardour, and other apps, and immediately be able to see the collaboration history and goals for the file you’re working on in the application. This would really streamline team projects.

Krtia was one major application this would not have worked for — except (possibly) now. It will depend on how complete the API is, which is something I’m going to have to study.

Selected Comments:
  • Lunatics Project:
    I have been looking at the API, and I think it is going to be possible. It’s possible to add features to the GUI, and other than that, we just need to be able to do inter-process communications and introspection into the current document. It’s a SIP API based on the C++ interface, as I understand it. The only downside is this probably means relying ont he C++ API documentation and mentally translating into Python (I’ve done that before and it can be a little hard to keep straight, depending on how “Pythonic” the style of the API is). I’m optimistic about it.

 

Mar 31, 2018 at 10:01 AM

Tiangong-1 Re-entry

LINK: Tiangong-1
Tiangong-1 The world is watching as Chinese space station Tiangong-1 hurtles toward Earth and makes a fiery reentry. Chances that space debris will hurt anybody are extremely slim, although when and where the space station’s remains will land is still unknown.

Less silly space news for this week: the first Chinese space-station is re-entering the atmosphere. Like most returning spacecraft, it will break up and disintegrate, with little reaching the ground.

 

Avatar photo