I recently had reason to write a tool to replay some of the ZFS snapshot history of a server. I wanted to merge two old volumes into three new volumes in order to have their snapshot retainment schedules better match their content. The bulk of that is a story for another time. To be efficient, the tool needed to be able to track files as they were changed through snapsnots and 'replay' those…
I've been using Let's Encrypt since they opened to the public for every site I control. I was not happy with Certbot because of the complexity in getting it to work without root access (which I really don't want to hand out to everything that asks for it, even if they are trustworthy). Out of the box, Certbox seemed easy and automatic. If you didn't want to use it in exactly that way... less so.…
WARNING (2017-04-06): I've recently found that something in this setup is corrupting NFS traffic between my machines. I'm going to try to isolate it at some point, but be wary. I've recently built a personal file server (running Ubuntu 16.04), and elected to try connecting it to my main workstation (a macpro6,1 running macOS Sierra) with a pair of bonded 1Gb/s Ethernet links. Using the default…
NOTE: This problem has been fixed by Pixar and released in RenderMan 20.7. It was a interesting bug, so read on anyways! While working on Shadows in the Grass I've been exploring building RenderMan shaders out of multiple PxrLMLayers. I've been having issues composing shaders of multiple translucent layers. I've reduced it to a very simple case: Example 1 (top stripe): I have a base diffuse…
My site-local Shotgun cache is coming together quite nicely; you can see the progress on GitHub , as well as the ongoing results of my reverse-engineering efforts . As work progresses, there is a greater and greater need for a through understanding of Shotgun's database schema so that I can replicate its behavior. One example that I'm starting to tackle: when you query an entity or multi_entity…
I have been working on a site-local Shotgun cache in order to (1) eliminate the round-trip time to Shotgun's servers, and (2) allow for more expressive queries. This cache primarily operates as an API proxy; it satisfies any requests it can, but if it is missing anything it will forward the request to the real server, and cache the results for next time. Schema changes are a major concern of mine.…
There are a few people who I provide tech support to who are becoming increasingly vigilant when it comes to potential phishing attacks. They have been told to 'never click links in emails' or 'ignore popups that want you to install software'. But these are only half truths. It is completely fine for an email, a phone call, or even a random pop-up to drive you to action. Your bank emails to say…
There is a common pattern when using bindings for C libraries that work against the dynamic language I'm working in: the conceptual packages in the library (which are exposed as header includes, and so provide no extra overhead to use in your code) are actually packages in the binding. Unless they are flying in the face of good practices, the dynamic language user actually has to work harder to…
I host a number of websites for clients, friends, and family. A solid number of those are running WordPress . I rarely suffer problems with them... except for one site. This site has been going down, and staying down, to the point that I routinely SSH in to forceably restart the locked-up PHP processes. I've tried to fix it in the past to not avail. Previously I've migrated the site to a new host…
Knowing how and when to deal with colour spaces in your textures files is crucial to a realistic rendering workflow. In short: since monitors are usually non-linear devices, image files are generally stored with the inverse non-linearity baked in (the general example of which is sRGB ). Since rendering calculations work in a linear space, you must convert your images back to the linear space…