Vasili's Blog

podcast

Join us there.

#podcast

I don't have one of those, but we can simply use our hands to make it easier to synchronize audio track to the video track, and also two separate video tracks together...

Clapping to synchronize audio and video

#podcast #production

I'm currently working on cutting Episode 8 of the #podcast and even in the span of these couple of months my production workflow has evolved some. As I'm learning the tool and its capabilities things become more streamlined.

One of the big changes actually happened to the audio. Before I did some prep work in Audacity, but the final mixing and VST plugins were applied in Resolve, however now I do all audio cleanup work in Reaper, bounce it down to a final mix, and then just import it into the project. Mostly because it's easier to have a preset for all the plugin settings in Reaper, maybe I just haven't found a good way to do this in Resolve, but since I still need to use a DAW to trim silences, breathing noises, and other things, it makes it easier to just do all audio-related tasks there. I'll make a post about my Reaper workflow at some point.

Approach 1

So, for instance, in the first couple of episodes I had a video for the animated background that I use, which I got from Pexels. It's only a few seconds long, and originally I had to copy-paste the track back-to-back to achieve a continuous animation.

Approach 2

Later on I came up with a trick in using Fusion, to set the clip to loop internally, and expand the Global In/Out Frames to the max, which also requires creating a Fusion clip of the correct length. You also need to set Hold Frames to 0. Resolve Fusion UI

This worked but required creating a separate track to keep the composition there.

Current Approach

Because I do the keying of the green screen in fusion, you can simply add the clip into the same composition, and just merge it with the output of the keyer. This way you don't need to mess around with new Fusion clips, it's guaranteed to be the correct length, and you don't need a separate track for it.

Fusion composition with Background

I gotta do a better job at updates...

Episode 6

  • Productivity, background music, and Tetris Effect
  • Dopamine, exercise, and carnivore lifestyle
  • Questions you better have answers to if you're starting a company

Episode 7

  • Effects of Remote Work on productivity and how it affects Interviewing
  • Cargo Cults
  • Do better tools make you a better developer?
  • Dress code and erosion of professional standards

#podcast

  • Effects of sleep on productivity
  • Producing technical content
  • Creator/Audience feedback loops
  • Finding your audience
  • worklifebalance
  • gratitude vs resentment
  • focus and anxiety
  • carnivore lifestyle

The episode can be found here: https://youtu.be/Un-KZYIhXHY

Be sure to subscribe to the channel to get notified about new episodes.

#podcast

So, for the #podcast I'm doing a bit of audio cleanup... Running some VST plugins to de-reverb, remove noises, chair creaks, desk bangs, etc...

I'm working on Episode 5 today, and I though that if there was a plugin to remove the inhale sounds – it should be called Asthma. You heard it here first, folks...

It's like that Onion article...

Man Who Thought He'd Lost All Hope Loses Last Additional Bit Of Hope He Didn't Even Know He Still Had

Now that I'm running a mentorship #podcast, I'd like to get more people on it as guests, so I thought of deploying some sort of appointment management software. Browsing the Open Source Calend.ly alternatives section only really gives cal.com as something viable. A clean UI that integrates with CalDAV and offers great features (some behind paywall, but still). Self-hostable in theory...

I took a first stab at it, and was immediately blocked by something call turbo which is Vercel's new and shiny tool for building javascript apps.

So, immediately I was prevented from just doing the bare minimum I hope to expect from JS applications:

npm install
npm run

Okay, I get it, it's a Next.js app, so it needs some amount of compilation for all that Typescript and JSX.

My first portent was the fact that yarn was running for minutes, downloading all the dependencies. All 2.5 gigs of them...

After the download completed I proceeded with build. It ran for about five minutes and crashed with OOM exception. I've spent next hour trying to get it to work by passing the NODE_OPTIONS="--max-old-space-size=4096" and it kept failing.

After digging around some more, it looks like turbo specifically whitelists the environment variables passed to the applications being built, and NODE_OPTIONS was not one of them. After adding it to the turbo.json the build started progressing, but still failed soon after, completely saturating the available RAM on the small Vultr VPS I was using for this purpose...

I've cleared up some room on the disk and created a 2 gig swap file... Build process went on for 10 minutes and crashed. Okay, let's bump that up to 4 gigs... now it's running for 12 minutes and crashes... Eventually, after scrounging all remaining space on the box, the build has completed with 8 gigs of swap, after whopping 25 minutes.

The app was finally running...

Now my node_modules folder has a .turbo cache folder, that bring the total to 6 gigs of disk space...

Now I felt like Doc Brown in the famous 1.21 Gigawatts scene

All the bugs and configuration issues notwithstanding I have the software running...

A few weeks later I've fetched the most recent release, and the process had to be done once more. Now that they've upgraded to a newer version of NextJS, it now takes 40 minutes to build, and the site itself is slow beyond reason. I though that SSR and fancy new “Oh, we're just like PHP was 10 years ago, but with React on the server” it is supposed to be fast...

I'll likely be nuking this software from my server... I can't be using products that are only usable if you're paying Vercel for the privilege...

I can probably write a small subset of features that I need that will not require 2.5 gigs worth of NPM packages, and such insane build times.

It should just be

npm install
npm run

Or better yet, write it all in zig with a 10Mb binary with no extra dependencies...