Have you ever needed to do search and replace multiple times against the same file or set of files. If so, the Batch Replacer extension for VisualStudio Code makes this very simple.
Open a folder or file in VisualStudio Code
Create a new file (no need to save it) and enter some search and replace instructions, e.g.
In the example above, I want 3 different replacements done in the order shown and I only want the replacements done to a specific file. The “in” command is followed by the path of the file relative to the root of the workspace open in VS Code. If the file is open, you can get it by right clicking on its tab and selecting “Copy relative path”.
3. Execute the replacer script
To run the batch replacements, you active tab must be the tab containing your replacement instructions. Then, hit CTRL+SHIFT+P -> Batch Replace. A status window will appear in the bottom right corner telling you how many files have been modified. If you want to batch replace across all files in your workspace, don’t include the “in” instruction.
I bought a 7’x10′ green screen. I got just the fabric because I semi-permanently attached it to my garage ceiling since I don’t plan on using anywhere else.
Create presentations slides and export them as images
Record video
Stand in front of the green screen with softbox lights on
Clip lavalier mic to shirt and connect it to smartphone on tripod (if necessary, using USB extension cables and an adapter).
Place laptop on laptop stand outside the camera field of view
In video recording app, ensure audio source is set to “external mic”.
Press record and speak while reading and changing slides remotely using the wireless presenter pen
Create final presentation video
Google Slides Tips
Export all slides as images
Creating slides in Google Slides is very similar to how you create them in other presentation apps like MS Powerpoint. In Google Slides, however, if you want to export all slides as images, you need an add-on. I use Slides Toolbox by Digital Thoughts. Once you’ve added that add-on, you can open it
and choose to export all slides as JPG or PNG images.
Set a background with transparency
Notice how in my final rendered video, the background video shows through the slides.
That was accomplished by setting the transparency of the background in Google Slides to around 70% opaque (30% transparent). If you want a semi-transparent background, then you must export the slides as PNG images rather than JPG images.
Test Slides
Download a sample presentation with semi-transparent background in ODP (OpenDocument Presentation) format which you can import into Google Slides.
Position the lavalier mic such that you don’t hear the sound of you breathing.
Stand far from the camera to record more of yourself. You can always crop the video later.
If you have a fast computer with plenty of SSD space, record your video in 4K for ultra hi definition (UHD) resolution. Otherwise, record at 1080p hi definition (HD).
Using the softbox lights, and other lights, if necessary, eliminate as many shadows as possible. For example, the picture below shows dark shadows which will be difficult to remove when you’re editing the video.
In the Cinema FV-5 video recording app, set audio source to “external mic”. When you push the cable into your phone, the wired microphone icon near the top-right corner appears in the app. This tells me the audio source will come from the external mic.
When you export the video, you will have many settings and export presets to choose from. For each preset, you can see the estimated output file size. There’s no point in choosing a high quality output if the source video is low quality. In Windows Explorer, right click on the foreground video and click Properties > Details to see the video specs. The screenshot below shows that my foreground video taken on my phone was 1920×1080 with a bit rate of 22254 kbps (~22 Mbps) and a frame rate of 30 frames per second (fps).
For this, I chose the following spec which gave an estimated output file size of 252 MB for a 13 minute video.
Workflow
In VideoStudio, my workflow is
Create a new project
Add all assets (videos, slides, etc) to the project
Verify SmartProxy is enabled
Add an overlay track so that I have 2 overlay tracks
Drag the background video to the Video track
Drag the slides to the Overlay 1 track in order
Drag the foreground video with the green screen to the Overlay 2 track
Crop the foreground video as necessary
Using NewBlue FX Chroma Key filter, remove the green background so that it’s transparent
Copy and paste the background video multiple times to span the duration of the foreground video
In the Preview panel, drag the foreground video to the left
In the Preview panel, drag the slides to the right and line them up using the grid that appears
Preview the composite video and make changes, as necessary
Most people take pictures by just manually taking a shot when they are ready. Since many things could go wrong with taking just a single shot, e.g. the subject blinks or yawns, a car drives by, etc, then some people will take multiple shots manually – maybe 2 or 3. However, this still doesn’t necessary offer the best shot because the subject may not like how they look in a particular stance or the lighting may not be at their particular angle. Also, photos of people just looking straight at the camera or posing often look boring, as opposed to photos that appear to be taken randomly or without the subject knowing.
Snapshot from Video
To resolve this, you could take a 4K video from your mobile phone, open the video in a video play like VLC, scrub through the video and when you are on a frame you like, take a snapshot (not a screenshot).
Pros:
many frames to choose from (usually 30 frames per second)
Cons:
large file size
must open video and scrub through and pic from you like
videos are generally more compressed than images
Series of Still Images Taken Automatically
To get around the cons of the video approach, you can take a series of still images and just pic the ones you like. This is sometimes called “burst” mode. Ideally, you would be able to
set a delay timer (if you will put the camera down and be in the picture yourself)
set how many pictures to take, e.g. a max of 5 or 10 pictures or unlimited if you want to stop taking pictures when you push a button
an time interval between which photos will be taken, e.g. take a picture every 0.5 seconds, 1 second, 5 seconds, etc.
One app that meets these requirements is Open Camera. It’s free and looks well made. In the screenshot below. I enabled Face detection so that if the subject moves, like when you’re taking a video, the subjects face should always be in focus. I set Repeat to 10x to take a maximum of 10 pictures and I set Repeat mode interval to 1s so a picture will be taken automatically every 1 second.
In this example, I’d end up with 10 pictures. I could then just pick the best one and delete the rest.
Comparison
To compare the picture quality of this method verses taking stills from a video, consider the following photos.
From videoFrom a series of still images
If we zoom in to 100% and focus on a small section, you’ll notice there are more artifacts and blurriness in the still taken from the video, not to mention the contrast and color looks much better in the still shot.
From video
From a series of still images
If I enlarge the images, the artifacts in the video snapshot become much more apparent.
From videoFrom a series of still images
If you set the Repeat to Unlimited and Repeat mode interval to No delay, the app will take as many pictures as it can until you push the stop button. For comparison, a 10 second 4K video consumed 61 MB whereas 10 seconds of unlimited, no delay pictures produced 23 images totaling 45 MB.
The next time you want to take a picture, you may want to try Open Camera and take a series of many pictures as your subject walks around or behaves naturally.
A few years ago I tried a product called Leave-in Hair Treatment with Argan Oil by HSI Professional. It came in a red box and bottle.
You just dab a little in the palm of your hand and massage it through your hair and it instantly makes your hair look and feel better. The ingredients are
Unsurprisingly, it got many good reviews on Amazon.
Unfortunately, this product has been replaced with a similar but slightly different product. It’s good but definitely not as good as the original formula.
To understand the difference and find products that are just as good, if not better, here is a list of products that have similar ingredients. Note that the percent amount of each ingredient is in descending order.
Phenyl Trimethicone reduces the tendency of finished products to generate foam when shaken. It also enhances the appearance and feel of hair, by increasing hair body, suppleness, or sheen, or by improving the texture of hair that has been damaged physically or by chemical treatment. Phenyl Trimethicone slows the loss of water from the skin by forming a barrier on the skin’s surface.
Keratin Amino Acids
Used for conditioning, moisturizing, known to make hair glossy, give it more body, and also for its marketing appeal (natural ingredient as well as hair is made from this). It’s a strong humectant, and pulls water into the hair.
Peg-4 Laurate, Peg-4 Dilaurate
They also clean the skin and hair by helping water to mix with oil and dirt so that they can be rinsed away.
Lodopropynyl Butylcarbamate, Phenoxyethanol
Prevents or retards bacterial growth, thereby protecting cosmetics and personal-care products from spoilage.
This type of light is used to highlight certain subjects or stage pieces with a relatively narrow beam angle.
Parabolic reflectors (PAR)
This type of light is used to light up large areas. They come in a variety of lens types to get different beam angles. This light doesn’t have zoom or focus options. This is the most common fixture because it’s the cheapest.
Fresnel
This type of light is a happy medium between a PAR and an ERS. They have a zoom function but not a focus and usually cast a much “softer” light than ERS light fixtures.
Moving Head
This type of light can move. It offers different beam angles for spot (narrow), wash (wide), beam (laser) and hybrid light effects. It is the most versatile stage lighting option.
Above are only some of the more common types of lights.
To hang your lights, you can get a lighting stand with T-Bar.
DMX Interface
DMX (Digital Multiplexing) or, officially, USITT DMX512, is a unidirectional serial data protocol, meaning the signal leaves the controller (computer or lighting board) and travels through all lighting fixtures in a daisy-chain. It was standardized in 1986. DMX networks typically only have one master device on the network, usually the DAW software / controller, and many slave devices — the lights.
DMX Cable
The 5-pin XLR the standard connector.
The reason for five pins is that pin 1 would be the ground, pins 2 and 3 would be data link 1, and pins 4 and 5 were reserved for data link 2 and/or proprietary data. Over the years, the second pair of pins (pins 4 & 5) on the connector stopped being used, since 3-pin DMX proved to be very reliable. This is why you may sometimes see fixtures with a 3-pin, 5-pin, or both connectors on the fixture.
DMX vs Audio/Mic XLR Cables
Some DMX cables are 3-pin cables. Don’t confuse them with 3-pin audio or mic cables. DMX cables use roughly 110-ohms whereas microphone cables are typically around 45 ohms. The different impedance between these cables matters with lighting networks and can cause your lights to either not respond or respond sporadically.
Number of light fixtures per DMX cable
You cannot have more than 32 devices connected on a single chain. If you have more than 32 light fixtures, you would need to use an Opto-Splitter. A splitter like the Chauvet DJ Data Stream 4 will allow you to have 32 devices connected to each DMX output connector. You cannot use Y-cables, as this approach does not electrically isolate the DMX lines and would cause data reflections.
DMX Channels / Universe
A DMX line is limited to a total of 512 channels, which is also called a universe. Each lighting fixture you have uses a number of DMX channels depending on how many parameters the fixture has. Lights can also have multiple personalities, or profiles, depending on how much or how little control you want. Note that the 512-channel limit is independent of the 32-light fixture limit.
Let’s say you have 40 lighting fixtures that use three channels each: you are only using 120 channels total. You can fit these all in the same universe of control, however, if you have more than 32 devices. You would implement an Opto-Splitter and split your devices up among the outputs in whatever configuration you would like, as long as each DMX leg has less than 32 devices on it.
Example
Let’s look at the Chauvet DJ SlimPAR Pro H.
This light has three different personalities, or profiles. It can be used in a 6-, 7-, and 10-channel mode, and again the more channels a fixture uses, the more control you have. Let’s look at 7-channel mode:
Channel 1: Dimmer
Channel 2: Red
Channel 3: Green
Channel 4: Blue
Channel 5: Amber
Channel 6: White
Channel 7: UV
Each DMX parameter on a fixture operates independently. Say I was to make this fixture a magenta color. I would turn up channel 2 (Red) and channel 4 (Blue) until I got my desired shade of magenta. However, turning up just these channels on the fixture (2 & 4) would not put out any light. I would also need to turn up channel 1, which is my dimmer that controls the overall intensity. On moving fixtures, this control becomes even more complex, because there are other parameters available, such as Pan and Tilt or gobos, again all independent.
The best way to understand a light’s capabilities is by checking its DMX assignments. For example, the ADJ Starbust’s manual shows this.
Addresses
When setting up a lighting rig, each light fixture needs to be assigned a starting address. If I have four of the same fixture mentioned above in the same personality (7-channel mode), their addresses would be 1, 8, 15, and 22. All 512 channels of data flow through every fixture in a DMX lighting chain so each fixture needs to know which channels control it based on channel addressing.
There are many different DAW software, for example, Ableton Live and Pro Tools. They can be used to create music and control lights. This article isn’t about creating music but just controlling lights in sync with existing music. Therefore, the software we’ll use is Show Buddy.
Setup
To sync light effects with music (e.g. an existing mp3 file), we’ll use this setup.
USB to DMX Controller Interface to connect laptop to lights
DMXIS software to control lights / create light effects
Unlike cheaper USB to DMX interfaces, DMXIS has an on-board controller to generate data into DMX format which is much more reliable than letting the computer generate the data.
Show Buddy software to sync light effects with music – $119
DMXIS light controller software is required to run Show Buddy
Terminate the DMX cable chain by inserting a DMX terminator into the DMX Out port of the last light fixture.
DMXIS Software
Important terminology
Show (group of songs) You can create multiple shows. A show typically is the name of a list of songs, e.g. Yanni Concert
Bank (a song) You can create multiple banks per show. A bank can be the name of a song, e.g. Santorini
Preset (a light effect) You can create multiple presets per bank. A preset can be the name of a light effect. You can create multiple presets (light effects) for a bank (song) in order of when you want the preset (light effect) to occur during song playback. You can drag presets up and down to order them.
Workflow
Add a light fixture If the light fixture you want to add isn’t in the DMXIS library, you can search for it at http://fixtures.dmxis.com/ where you can download user-uploaded DMX light fixes for importing into DMXIS. If you don’t find your fixture there, you can create and upload DMX light specs for your particular fixture. It is just a text file defining channel.
Assign each light fixture to a starting address, e.g.
PAR light 1 (3 channels) starts at DMX address 1 (channels 1-3)
PAR light 2 (3 channels) starts at DMX address 4 (channels 4-6)
PAR light 3 (3 channels) starts at DMX address 7 (channels 7-9)
PAR light 4 (3 channels) starts at DMX address 10 (channels 10-12)
Create a “show”, e.g. “Instrumental Songs”
Create a “bank”, e.g. “Santorini”
Create a preset, e.g. “Red”
Adjust the sliders for one or more light fixtures, e.g. by making them show red light
This software allows you to load audio files (e.g. mp3s) and for each song, place a preset (light effect) created in DMXIS at certain points in the song. Light effects can fade out over a specified amount of time.
Workflow
Add audio files (songs / mp3s) to the Track Library
Choose the DMXIS show to use in the DMXIS show dropdown
Choose a DMXIS bank to use in the list of banks
Choose a DMXIS preset to use in the list of presets
Drag the preset to the wave form at the point you want the preset (light effect) to run
Repeat steps 2-5 as much as needed
Resources
Capture Software
This software allows you to preview light effects.
Workflow
Create a 3D stage
Add one or more light fixtures to the 3D stage
Patch light fixtures (assign them to DMX addresses)
If the light fixture address assignment in Capture matches that in DMXIS, then DMXIS can control the light visualizations in Capture
Here’s a quick intro to 3d modeling using SketchUp in the browser.
Note: you can use SketchUp online or using the downloaded app. The free version of SketchUp doesn’t support creating Bezier curves. For that and other features, you’ll have to upgrade to SketchUp Pro.
When we create a new SketchUp sketch, we see this screen.
Let’s say we want to make four posts for a pergola. The posts are 6″x6″x10′ tall (actual dimensions are 5.5″x5.5″x10′).
First, under Model Info, we set the length format and precision.
To create our first post, we choose the Rectangle tool.
We click once in the 3D space and drag to create a rectangle which is 5.5″ x 5.5″. When dragging, we see in the bottom right corner the dimensions of the rectangle.
Instead of dragging until you get the right rectangle dimensions, just type 5.5,5.5 and then hit Enter.
Now, to complete making the first post, we need to “pull” the rectangle (actually, it’s a square) up 10 feet. Click the “pull” button.
Then click the square and drag up.
Again, to simplify getting the right dimensions, just type 120 and hit Enter to make the post 10 feet tall. Since all measurements are in inches, we type 120 instead of 10. SketchUp then converts the 120 to 10′ in the Dimensions box in the bottom right corner.
To verify the dimensions of any side of the object, click the Select tool.
and then click a side, e.g. a long side of the post, and in the Entity Info panel, we see that the length of that side is 10′.
Now, we’ll copy and paste that post by selecting the entire post, hitting Ctrl+C and Ctrl-V, and clicking where we want the other posts to be.
Now, the 2nd post is clearly not lined up with the first so we have to move it. Moving objects in SketchUp can be confusing to new users. Here are some ways to move an object.
Moving an object against another object
Let’s say we want to move the 2nd post flush against the first post. First, we orbit the view, if necessary, and select all of the 2nd post.
Then, we click the Move button.
and click on one corner of the 2nd post that we want to touch a corner on the first post.
Then, we click on the corner of the first post where we want that corner to touch. Now, the posts are flush and lined up together with each other.
Moving an object along an axis to line up with another object
Let’s say the 2nd post is higher up than the first post. We want to lower it so that both are on the ground, so to speak. We want to move the 2nd post vertically along the Z axis down until its bottom is on the same plane as the bottom of the first post. To do this,
select the 2nd post
click the Move button and click the bottom left corner of the 2nd post
drag up and down until you see “On Blue Axis” which is the Z axis
hold the Shift key – you will see the tip “Constrained on line from point” which means your movements are constrained to the axis you were on (blue / vertical / Z)
while holding Shift, drag and click on the bottom right corner of the first post.
You can also constrain movements to other axes as well.
Moving by Coordinates
Using the dimensions tool, we mark the distance between the two posts along the green axis. We get 12′.
Let’s say we want the distance between them to be 10′ instead.
Relative coordinates in SketchUp are indicated as <r,g,b> or <red,green,blue> (the colors of the axes). So, if we want to move 2′ (24″) towards the first post (towards [0,0,0]), we can do this
select all of the 2nd post
click the Move tool and click the bottom left corner
drag a little anywhere to begin movement
type <,-24,> and hit Enter
Now, the distance between the two posts along the green axis is 10′.
Absolute coordinates in SketchUp are indicated as [r,g,b] or [red,green,blue]. So, if we want to move to the center of the coordinate system, we do the same as above except we enter [0,0,0].
Using the techniques above, we can make 4 posts that are exactly 10′ apart and all on the same red-green plane.
For the redwood, I didn’t want to change the color of the wood so I went with a transparent solution. However, I did want to accentuate the natural color and the grain. I also wanted a glossy look. Of all the sealers tested, the Varathane sealer looked the best to me. It also looked good on Douglas fir (cheap construction wood) as it also brought out the grain lines.
Here’s another look at the Varathane oil-based stain on redwood and douglas fir. Of course, the vibrancy of the color will differ in different lighting.
For interior wood, I find that the Minwax oil-based stain in the Gunstock color produces nice red results with clear grain lines followed by triple-thick glossy polyurethane.
As you can see in the photo below, water doesn’t penetrate the wood because the sealer adds a protective layer on it.
Creating a time lapse video is great for quickly showing changes that happen over a long period of time, e.g. the sky changing from day to night. I recently made a time lapse video of a pergola construction project using an Android app called Framelapse. It’s a very simple app which takes pictures at a user-specified interval over a set period of time or until you stop recording. What’s great is this method doesn’t fill up your phone by taking an actual video at the normal frame rate of 30 frames per second. For my first timelapse video, I chose a frame interval of 4 seconds. When I stopped recording, the timelapse video was instantly done and available in my Google Photos app and backed up to Google Photos in the cloud. I added some background music and I was done. Here’s the final video.
This weekend I built the frame of a pergola. The posts are 6x6x10 Redwood posts and they’re heavy. We had the posts go 15″ in the ground but before pouring cement, we wanted to make sure the posts were level and plumb.
To hold the posts in place while we measured, we filled buckets with dirt and temporarily secured each posts to them using either screws or clamps.
Once the posts were held in place, we installed the headers on top. This would hold the posts in place and, theoretically, help ensure the posts are plumb.
We then measured for level and plumb using straight levels and post levels.
We also measured the distance between posts to ensure corresponding sides were the same length. We could have also measure the two diagonal distances but we didn’t. We measured using a laser measure and a tape measure. Unfortunately, these can give inaccurate readings if, for example, the laser or tape measure isn’t perfectly level when taking measurements.
Despite measuring using levels and checking distances, we still found some posts were not lined up perfectly with other posts.
To make measurements easier, stick a nail near the top and bottom of each post at the same vertical position.
Then, hook the end of your tape measure to the nail head and pull to measure the distance to the corresponding nail on other posts.
Another, albeit extreme, way to ensure all posts are plumb and positioned perfectly is to use scrap 2x4s to temporarily secure all sides at the top and bottom. If you don’t have any 2x4s, you can use 2x3s. They are cheap at the Home Depot. If your 2x4s are not long enough, you can join / splice them together using metal plates or scrap plywood.
Again, you can temporarily secure the 2x4s to the posts with either screws or clamps. By securing these 2x4s around the top and bottom of the posts, and ensuring they are level, there’s no way the posts could end up being offset from each other or not plumb.