Uploaded June 2025 | Updated September 2026, 3 weeks ago
After making almost 300 videos (mostly coding videos), I recently made a breakthrough in how I edit my videos. I want to share it with you. For a long time, I edited my videos together mostly as one take. I want to leave the mistakes in the videos so people can learn from those mistakes, but I have also received feedback in YouTube comments that there is too much "dead air" in the videos I had been releasing.
I started to try to cut parts that didn't add value, but there was a lot of guesswork, trial and error, and lack of precision.
Then I discovered The Way of the Waveform. In OpenShot, you can right click on a clip in the timeline, select Display ➡️ Show Waveform. I zoom down to where the timeline shows you 4 second increments and look for pauses long enough to edit out.
To be even more productive, you can set the playhead to where you want to cut and use CTRL+K (CMD+K for Macs) to split your video. This feels more precise, more productive, and less error-prone than trying to toggle the Razor Tool to cut and then untoggle it to move the clips.
This video covers:
0:00:00 Introduction
0:01:51 Demonstrate the way I had been producing videos
0:04:05 Remove all but the first large clip from the timeline to reset things
0:04:24 Set the zoom level and show the waveform
0:05:12 Start evaluating and clipping out the longer silence spots
0:08:05 Attempt to demonstrate speeding up a clip. Accidentally had multiple clips selected. Recover by using Reset Time.
0:09:51 The importance of saving a project when you are doing this type of editing
0:11:16 Writing video description with timestamps as you edit
0:12:14 Productivity hack: Use the playhead and CTRL+K (CMD+K) instead of the Razor Tool
0:13:31 Actual example of speeding up a clip instead of cutting and removing
0:16:33 Export partial progress when OpenShot starts to lag from too many clips
0:18:32 Import exported clip into a new project and continue editing
0:20:43 Tip: When changing the speed of a clip, explicitly set the volume to zero to avoid weird audio artifacts
0:21:53 Attempt to set volume to zero and speed up multiple clips at once. Use at your own peril...
0:23:16 Demonstration of the "'python 3' is not responding" behavior when you have too many clips on the timeline
0:24:31 Review saved time (over 30 minutes!) and do final export from OpenShot
0:25:41 Use HandBrake to transcode the output file for smaller file size to upload to YouTube
#openshot #editing #statelesscode #deadair #videoediting #waveform #handbrake #transcode #screencast #howthesausageismade
Featured Playlist:
- youtube.com/playlist?list=PL9kkbu1kLUeO1e13EQdiIZ8mO6kHePLYp
Resources that we relied upon for this solution:
- OpenShot openshot.org
- OpenShot User Guide openshot.org/user-guide
The video edited in this video:
- youtu.be/tIN8ymuJep0
This video is CC0 - No rights reserved. (YouTube doesn't allow this option when publishing.) All code is released under the UNLICENSE. Stateless Code denies the concept of "intellectual property". Copying is not stealing.
After making almost 300 videos (mostly coding videos), I recently made a breakthrough in how I edit my videos. I want to share it with you. For a long time, I edited my videos together mostly as one take. I want to leave the mistakes in the videos so people can learn from those mistakes, but I have also received feedback in YouTube comments that there is too much "dead air" in the videos I had been releasing.
I started to try to cut parts that didn't add value, but there was a lot of guesswork, trial and error, and lack of precision.
Then I discovered The Way of the Waveform. In OpenShot, you can right click on a clip in the timeline, select Display ➡️ Show Waveform. I zoom down to where the timeline shows you 4 second increments and look for pauses long enough to edit out.
To be even more productive, you can set the playhead to where you want to cut and use CTRL+K (CMD+K for Macs) to split your video. This feels more precise, more productive, and less error-prone than trying to toggle the Razor Tool to cut and then untoggle it to move the clips.
This video covers:
0:00:00 Introduction
0:01:51 Demonstrate the way I had been producing videos
0:04:05 Remove all but the first large clip from the timeline to reset things
0:04:24 Set the zoom level and show the waveform
0:05:12 Start evaluating and clipping out the longer silence spots
0:08:05 Attempt to demonstrate speeding up a clip. Accidentally had multiple clips selected. Recover by using Reset Time.
0:09:51 The importance of saving a project when you are doing this type of editing
0:11:16 Writing video description with timestamps as you edit
0:12:14 Productivity hack: Use the playhead and CTRL+K (CMD+K) instead of the Razor Tool
0:13:31 Actual example of speeding up a clip instead of cutting and removing
0:16:33 Export partial progress when OpenShot starts to lag from too many clips
0:18:32 Import exported clip into a new project and continue editing
0:20:43 Tip: When changing the speed of a clip, explicitly set the volume to zero to avoid weird audio artifacts
0:21:53 Attempt to set volume to zero and speed up multiple clips at once. Use at your own peril...
0:23:16 Demonstration of the "'python 3' is not responding" behavior when you have too many clips on the timeline
0:24:31 Review saved time (over 30 minutes!) and do final export from OpenShot
0:25:41 Use HandBrake to transcode the output file for smaller file size to upload to YouTube
#openshot #editing #statelesscode #deadair #videoediting #waveform #handbrake #transcode #screencast #howthesausageismade
Featured Playlist:
- youtube.com/playlist?list=PL9kkbu1kLUeO1e13EQdiIZ8mO6kHePLYp
Resources that we relied upon for this solution:
- OpenShot openshot.org
- OpenShot User Guide openshot.org/user-guide
The video edited in this video:
- youtu.be/tIN8ymuJep0
This video is CC0 - No rights reserved. (YouTube doesn't allow this option when publishing.) All code is released under the UNLICENSE. Stateless Code denies the concept of "intellectual property". Copying is not stealing.




![Set up a Salesforce Development Environment on Ubuntu 24.04
In this video, we guide you through setting up a Salesforce development environment on a new install of Ubuntu 24.04. The only things we have installed so far are Visual Studio Code, bzip2 and tar. We have other recent videos linked where we install Node.js (via NVM), VS Code, and Git, so we breeze through those steps quickly in this video.We start by installing Node. Then we install the Java 17 OpenJDK (and save the directory from the installation output so we can set it in the VS Code settings later.) After that we install Git.For the Salesforce CLI, I always use the install via NPM option, irrespective of which operating system I use. I find it to be easier to maintain and upgrade. After the CLI is installed, we install the Salesforce Extension Pack (including the expanded version). After the extension pack is installed we can set the Salesforcedx-vscode-apex Java: Home value in VS Code settings.We authorize our DevHub (a TrailHead developer edition) and create a scratch org and make it our default org with `sf config set`.When we try the `sf org open` command, it fails. Salesforce CLI assumes that the temporary directory being used is the system temporary directory. Ubuntu 24.04 has Firefox installed using snap. Snap sandboxing places the temp directory in the users home directory instead. There are two ways to resolve this. You can execute `TMPDIR=$HOME/temp sf org open [your-flags]` every time you run the sf org open command. This is tedious. The other option is that you can install a browser via apt instead of snap. Unfortunately Chromium will not work for this because the apt install uses snap. To resolve it, we install Chrome and make it the default browser. Theres a privacy trade-off here. Make the decision thats best for you.After we have the ability to open our scratch org, we create a Hello World! Taxation is theft! Lightning Web Component with a simple Jest test. We run npm install on the SFDX project directory so that we can run our JavaScript tests and everything.Finally we deploy the component to our scratch org, create a Lightning page with a few different instances of it, and retrieve everything back to our project.This video covers: 00:00:00 Introduction 00:01:38 Install Node 20 (requires curl and NVM) 00:03:19 Install Java 17 OpenJDK and copy the Java Home directory from the output 00:05:21 Install Git and Salesforce CLI NPM package 00:07:57 Install Salesforce Extension Pack (including Expanded) and configure Salesforce Java Home setting in VS Code 00:11:47 Use Salesforce CLI to login to DevHub 00:14:12 Create a scratch org 00:18:20 Workaround issue to get `sf org open` to work, option 1 adding TMPDIR variable to beginning of command 00:21:45 Alternative workaround, install Chrome via apt and set as default browser 00:29:13 Create a Hello World! Taxation is theft! Lightning Web Component and ensure Jest test framework works 00:36:35 Deploy the component to the scratch org, add to a Lightning Page, and retrieve the whole project back 00:40:37 Conclusion and preview of other upcoming Salesforce material #setup #configuration #install #linux #ubuntu #debian #deb #terminal #ubuntu24 #lts #github #code #visualstudiocode #vscode #apt #git #node #nodejs #nvm #npm #java #jdk #openjdk #salesforce #sfdx #salesforcecli #workaround #scratchorg #helloworldtaxationistheft #jest #lightningwebcomponent #lwcSee other related StatelessCode videos:- Install Ubuntu 24.04 LTS Desktop https://youtu.be/yHxuNUovS20- Install Node.js (versions 18, 20, 22) with NVM on Ubuntu 24.04 https://youtu.be/YyEf1QWfg9Y- Install Visual Studio Code on Ubuntu 24.04 https://youtu.be/GdmHY1JhLI8- Install Git on Ubuntu 24.04 and Configure for Verified Commits in GitHub https://youtu.be/CagiEjuqKxU- Migrate from SFDX CLI version 7.x to Salesforce CLI version 2.x https://youtu.be/kyii2tPwcBI- Codecast: Install Salesforce DX on Ubuntu 20.04 (from 2021) https://youtu.be/JaVf4FYcYw0Resources that we relied upon for this solution:- Lightning Web Components Developer Guide: Develop with Salesforce DX Tools https://developer.salesforce.com/docs/platform/lwc/guide/get-started-sfdx.html- Salesforce CLI Setup Guide https://developer.salesforce.com/docs/atlas.en-us.sfdx_setup.meta/sfdx_setup/sfdx_setup_install_cli.htm- Node.js package manager instructions (you can choose your OS and preferred method) https://nodejs.org/en/download/package-manager - Salesforce CLI Command Reference https://developer.salesforce.com/docs/atlas.en-us.sfdx_cli_reference.meta/sfdx_cli_reference/cli_reference_unified.htm- sf org open GitHub issue on forcedotcom/cli repo https://github.com/forcedotcom/cli/issues/2769- Command line workaround by setting TMPDIR variable https://github.com/salesforcecli/plugin-org/pull/992#issuecomment-2013234183
This video is CC0 - No rights reserved. All code is released under the UNLICENSE. Set up a Salesforce Development Environment on Ubuntu 24.04](https://i.ytimg.com/vi/OC4R71bQO4g/mqdefault.jpg)





