Categories
beachcasts Hardware productivity

Sharing the Beachcasts office and studio set up

I’ve had some ask how my office is set up, and what equipment I use for my various recordings. Since I do podcasts (RunGeekRadio), live streams (Beachcasts on Twitch), and video recording (Beachcasts on YouTube), I needed a versatile setup that facilitated all of these various activities. So, below I will share each aspect of my office/studio, and how I have it set up.

NOTE: I will return to this post from time to time and update it as I update equipment, so it will serve as a good resource to point folks at.

First, here is what takes up 6-feet wide by 5-feet deep. I often hear folks say they can’t do what I do because they don’t have space. Though, in reality, it is pretty compact.

Studio setup as of Apr. 4th, 2020
Studio Setup

I use 2 laptops, and one external monitor/TV.

Everything sits on an adjustable desk from Ikea. I really love this desk for its simplicity, along with being able to hide all the cords underneath because of the handy cord hammock under it. And it is motorized, making it a breeze to raise or lower. I typically set it to 26 inches high when sitting, and 43 inches when standing. Then I simply pull the standing mat forward, and I continue working in a very similar way whether sitting or standing.

Computers and Software

My primary laptop is a Dell 7000 series Inspiron with a 17-inch touch-screen. (No, I never move it. It’s basically a desktop rather than a laptop.) With an Intel i7-4500U CPU (4th Gen), Nvidia GeForce GTX-750M and Intel HD Graphics-4400, 16 GB RAM, and 1 TB SSD, it is able to handle most anything I throw at it even at 6 years old. I run Ubuntu 18.04 LTS as the OS, and yes, I am able to do anything I want to on it. Been using Ubuntu for 10 years, and always feel limited on Mac or Windows. This laptop sits on a SlateGo mobile laptop desk/pad, made of bamboo, which really helps keep it cool. I don’t think it is sold in this form factor any longer, which is sad.

I do all my audio recordings on this laptop using Audacity software.

With this laptop, I use a Maxkeyboard Nighthawk X8 mechanical keyboard with Cherry MX brown switches. I like the mechanical keyboard feel and feedback, and the brown switches give me just enough noise to enjoy the experience. There is a slight clicking, but not as clicky as the blue switches. I recently purchased some rubber rings to install on each key, so the bottoming out noise will not bother others when I’m on conference calls. I haven’t installed them yet.

I also use a Corsair Harpoon RGB wireless mouse. It has a built-in rechargeable battery, and charges really quickly. I like that it has 5 different sensitivity settings that can be changed at the click of a button.

My external monitor is a Samsung 32-inch 4K model with picture-in-picture capability. I typically display the streaming PC/laptop as a small picture in the lower right corner, as shown.

The monitor is mounted on a Humanscale M8 monitor arm, which is wonderful and strong. I get only minimal movement from it, even with such a large/heavy screen mounted on it. A new monitor will be much lighter and will be truly amazing.

The secondary (streaming) laptop is a 15-inch Lenovo Y50 Touch running Windows 10 with Intel i7 CPU (6th Gen), Nvidia GeForce GTX-960M and Intel HD Graphics 4600, 16 GB RAM, and 512 GB SSD. This laptop is what does all the recording, editing, and streaming of video to Twitch and YouTube. At the time of this writing, I am using OBS (Open Broadcaster Software) to record or stream, and I am using DaVinci Resolve 16 for video editing as needed.

The third laptop is a 13″ MacBook Pro (dust collector) mounted on a Roost laptop stand. The Roost was recommended to me by a few friends in the programming space, and it has been amazing. However, you will want an external keyboard and mouse to go with it, as it is hard to type when a laptop is raised from the table. So, next I will talk about those.

The external keyboard is the Apple Magic Keyboard, which is wireless and connects via Bluetooth. The feel of typing on it is really nice, and has a mechanical “feel”. Kinda like the old-style Macbook Pro keys, before they ruined them with butterflies. It charges via USB connection to the laptop, and only needs charged every 3 months.

Instead of a mouse as an external for the Mac I use the Apple Magic Trackpad. It is larger than the trackpad on the Mac, and has all the same features, including Force Touch feedback to simulate a click. It is also Bluetooth and only needs charged every 3 months.

How does it all work?

Yes, I record and stream video from the Lenovo, though all of my coding and activity is happening on the Dell. For months I struggled doing streams and recordings on a single system. However, I found that running the required software for recording (OBS) and development (IDE, Docker, etc.) to be too much for a single system, even as strong as my laptops are. This leads to a vital piece of hardware needed to do what I do, a capture card. I recently purchased the Razer Ripsaw HD capture card. (Not to be confused with the original Razer Ripsaw, which was garbage.) The desk clamp shown in the picture is an extra thing I bought to simply hold it steady on the back of my desk and has a handy arm (it’s actually a headphone holder) for any cables not being used.

Razer Ripsaw HD
Razer Ripsaw HD

Why the Ripsaw HD? Because it is totally plug-n-play and doesn’t require any additional software to work. And it also has 4K passthrough from the source to the external monitor. In addition, it sends 1080p video to the 2nd laptop at 60 fps.

How does the Ripsaw HD work? By using this capture card it enables me to capture the screen from the Dell, and use it in the OBS recording as a source. To do this it sits in the middle of everything. Basically, the HDMI coming out of the Dell is plugged into the capture card, and then another HDMI goes from the capture card to the external monitor. This enables the Dell to use the monitor without any issues, up to 4K video. Meanwhile, there is another USB-c output on the Ripsaw HD that plugs into the USB or USB-c on the 2nd laptop, and can be used as a viewing video source. Then it is a simple matter to add it as a source in an OBS scene.

Audio/Video Stuff

Also for a video cam, I use a Logitech Brio. At 1080p and 30 fps, it does a great job, though the Brio can be costly. I also have multiple Logitech C920 webcams used for additional scenes. I have 2 of them, and sometimes incorporate them as additional views in b-roll footage. They are also handy when I travel, with an extra little hard case I picked up. They are all very versatile webcams. (I’ve added a Nexmo lens cover that can be opened/closed because I bought this up before them came out with the C920S that comes with a privacy cap.)

Logitech Brio 4K webcam
Logitech Brio 4K
Logitech C920 webcam
Logitech C920 webcam

As for audio, I have 2 different configurations. For podcasting, and YouTube videos, I use the Rode Podcaster as my primary microphone. The sound is amazing, and hard to beat. I have it mounted on a Rode PSA1 studio boom arm, with a Rode PSM1 shock mount to prevent desk movement vibrations and sounds. It also has a Rode WS2 pop filter to help keep the audio crisp and free of pops from my talking.

Rode Podcaster
Rode Podcaster

It connects via USB to the Dell, and has an external headphone jack on the top that allows me to hear myself, and any system sounds, while I’m recording. As a dynamic mic, it is very directional and requires me to speak directly into it. This avoids any other background noises, like keyboard typing or air conditioning hums.

Additional audio is provided by a Rode Wireless Go setup. I’ve been using it for live streaming, so I’m not required to be close to the larger Podcaster mic. I also picked up the new Rode Lavalier Go to enable me to clip it on my t-shirt for ease of use, and then clip the Wireless Go on my belt. I picked up an added SC7 cable for connection to a mobile device or Mac.

Wireless Go
Wireless Go with SC7 cable
Lavalier Go
Lavalier Go

Recently, I also added some Audimute acoustic panels on the wall behind my monitor. In the past, I fought to remove the echo from the flat wall. I’m really impressed with how much the panels reduce the echo. Originally, I considered ugly “egg carton” style foam. However, I found they did little to really help, which resulted in spending a little more money for proper panels.

Lighting

As the last bit of equipment, this would not be complete without talking about lighting. In addition to overhead lights, and natural light coming from the large window beside my desk, I’ve added some face lights that help eliminate shadows, and enable the webcam to do a much better job. They were created with a few parts. First, there are 2 inexpensive tripods to use as holders. Each one holds a square Tolifo LED panel light that has adjustable brightness. (here are the power adapters to go with them)

Tolifo LED light
Tolifo LED light

However, I found that even at lower levels the light was a little harsh and needed some diffusion. That is when I picked up the added panels and arms to hold them. This made all the difference in the quality of light, and means I do not have blaring light forced into my eyeballs. Yay, I can actually see the displays! It is very soft, and provides a great spread.

Extras

Some may have noticed the additional Bluetooth speaker on the desk. This is the JBL Charge 3, which is connected to a Google Chromecast Audio and plays music most of the time each day. It has great sound, but I don’t think either of these things are produced any longer.

Closing

I hope you found this enlightening/helpful. Let me know if there are any other aspects of the setup you’d like more details on. And watch for a future post on how I set up OBS.

Categories
Adam Culp beachcasts consulting php Uncategorized

10 reasons to become a consultant or have a consulting business

In this video I share 10 good reasons to start a consulting business or become a consultant. Before you start looking into how to become a consultant, Adam Culp of Beachcasts PHP videos shares points from his experience to help you figure out if being a PHP consultant is the right job for you. As you look into how to become a consultant, and before you become a consultant, consider these things carefully.

Or you can view this video on YouTube at: https://youtu.be/J7gpMYAKmDM

Items:
#10 Multiple Hats
#9 Constant New Problems (to solve)
#8 Always Learning
#7 Helping (mentoring) People
#6 You’re The Fixer
#5 “Expert” vs “Resource”
#4 Fame!
#3 Sell, Sell, Sell!
#2 Travel
#1 Flexible Schedule

BONUS considerations for the self-employed
#1 No Dress Code
#2 Unlimited Earning Potential
#3 Unlimited sick days / vacation
#4 Flexible Work Location
#5 Freedom to say “No” or turn down jobs

Categories
apigility beachcasts expressive laminas project linux foundation php zend Zend Framework Zend Framework 2

Zend Framework becomes Laminas project

Today it was announced that Zend Framework is being rebranded as Laminas project. (drawn from the meaning “a thin layer”) Along with the rebrand comes some other important changes as well. Yes, this includes Expressive and Apigility, so continue reading.

Some History

Zend Framework is one of the largest and oldest PHP frameworks and has become a staple for enterprise development around the world. As of April 2019, it has over 400 million lifetime downloads of all packages associated with the project, which has seen a 4-fold increase in just the last 2 years alone. Despite this amazing track record, up to now the project has been supported and guided single-handedly by Zend Technologies, and later Rogue Wave Software.

Awesome Changes

Therefore, to continue this growth and receive the best support possible, the Zend Framework team is announcing that all projects under that umbrella will rebrand to a newly formed “Laminas” project“, which aims to continue their mission as an open source project hosted by the Linux Foundation. The transition will enable more companies to provide support for the projects they’ve come to depend on and help it continue to grow. As part of this transition, it is important for them to differentiate the open source project from the Zend commercial brand. Therefore, the new name “Laminas” project was created.

As part of this move, the Expressive microframework, Apigility api framework, as well as the MVC framework will all be part of the Laminas project.

I will try to add more details as they become available to us all, and will likely also do a Twitch stream and YouTube video with Beachcasts and that video can be viewed HERE.

Support Laminas Project

For more information, please see the new site dedicated to the Laminas project, and if you would like to become a member and/or support the project at the Linux Foundation (their blog post), please join and become a member.

Impact to current users

The framework team is working on scripts and tools to help users update namespaces and vendor packages with the renaming. See the video below for more info.

Beachcasts Video

I added this, and a little more content about the Zend Framework rebranding to Laminas project under the Linux Foundation. Check it out below.

Categories
Adam Culp beachcasts consulting php

10 bad things about consulting, and why it might not be for you

In this video I share 10 bad things about being a consultant, and why a consulting job might not be a good fit for you. Adam Culp of Beachcasts shares points from his experience to help you figure out if being a PHP consultant is the right job for you.

Or you can view this video on YouTube at: https://youtu.be/ELE0G3e7h3c

Timeline:
#10 Travel
#9 No set schedule
#8 No upward mobility
#7 Not for the introverted
#6 Communication, communication, communication
#5 Swallowing pride
#4 Always be selling
#3 Problems!
#2 Expected to “know it all”
#1 No “new” projects

BONUS considerations for the self-employed
#1 accounting/collections
#2 taxes
#3 No sick days / vacation

Categories
beachcasts command line Docker php Quick Tips video

How to get lines of code in PHP with PHPLoc via CLI or using Docker

This video shows how to get the lines of code in a PHP application by using PHPLoc from the command line or using Docker. PHPLoc is a command line application to generate a small but useful report. Adam Culp will show how to use it from a Docker Container using a Docker Image he created. PHPLoc demonstrated on the Concrete5 CMS codebase.

Key Topics:

  • Why find the lines of code
  • PHPLoc is an application to find the lines of code in PHP
  • Different methods to use PHPLoc
  • How to use a Docker image to run PHPLoc
  • Comments as a code smell

Associated Links:
https://en.wikipedia.org/wiki/Code_smell – Code smells explained
https://www.docker.com/get-started – The place for developers to start with Docker
https://hub.docker.com/r/adamculp/php-code-quality – link to the image used to build the Docker container used in this video
https://github.com/sebastianbergmann/phploc – location of the PHPLoc tool
https://www.concrete5.org/ – Concrete5 CMS code I’m using in this video