video

The FINAL Drupal 7 to 8 migration live stream - May 19

May 19 Update: It was a total success, yay! This site is now running Drupal 8.

Drupal 7 to Drupal 8 live migration - FINAL EPISODE May 19 at 11 am ET

Over 100 days in, the big day has finally arrived—it's time to upgrade this website from Drupal 7 to Drupal 8! The entire process has been documented, one hour at a time, in my 'Drupal 7 to 8' live streams. Visit that link to view all the previous episodes, from setting up a new Drupal codebase, to running the first test drush migrate-upgrade command, to upgrading this site's theme from PHPtemplate in Drupal 7 to Twig in Drupal 8.

Some of the highlights:

10,000 Kubernetes Pods for 10,000 Subscribers

It started with a tweet, how did it end up like this?

I've had a YouTube channel since 2006—back when YouTube was a plucky upstart battling against Google Video (not Google Videos) and Vimeo. I started livestreaming a couple months ago on a whim, and since that time I've gained more subscribers than I had gained between 2006-2020!

So it seems fitting that I find some nerdy way to celebrate. After all, if Coline Furze can celebrate his milestones with ridiculous fireworks displays, I can do ... something?

Raspberry Pi Cluster Episode 2 - Setting up the Cluster

This post is based on one of the videos in my series on Raspberry Pi Clustering, and I'm posting the video + transcript to my blog so you can follow along even if you don't enjoy sitting through a video :)

.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

In the first episode, I talked about how and why I build Raspberry Pi clusters.

I mentioned my Raspberry Pi Dramble cluster, and how it's evolved over the past five years.

Making a Terminal window the right aspect ratio for streaming or recording

Recently I've been spending a bit of time producing video content of both browser windows and Terminal windows for screen recordings and livestreams on my YouTube channel.

One common issue I have to deal with is trying to optimize the aspect ratio of the window for the video dimensions. In 99% of all cases, I need the window to be 16:9. And ideally, I want the window to be recorded at 1280x720 at 2x 'retina' resolution, so when I capture the window, it will be nice and sharp at 1080p, which is my typical output resolution.

In the past, I'd open up a 1280x720 image at 2x resolution, then drag the Terminal window over it. However, getting that to be pixel perfect is sometimes frustrating, and it's always annoying since it takes me an extra 10-20 seconds per recording.

In my searching, I found this handy article from way back in 2013: How to Resize Windows on your Mac to Specific Sizes.

End of April - #DrupalCares pledge matched, $3000 total raised!

.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

At the beginning of April, the Drupal Association announced a new #DrupalCares campaign to secure funding to keep the Association's lights on after DrupalCon Minneapolis was mothballed due to certain global events.

Very quickly, many in the Drupal community stepped up, increasing contributions, making one-time donations, or even pledging a generous 2-for-1 match. I decided to pledge $1 for every like on this video, and as of today, it had over 800 likes!

Raspberry Pi Cluster Episode 1 - Introduction to Clusters

I will be posting a few videos discussing cluster computing with the Raspberry Pi in the next few weeks, and I'm going to post the video + transcript to my blog so you can follow along even if you don't enjoy sitting through a video :)

.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

This is a Raspberry Pi Compute Module.

7 Raspberry Pi Compute Modules in a stack

And this is a stack of 7 Raspberry Pi Compute Modules.

Preserving the Web - JJJCL and 'Duel' video

About two decades ago, I built a website for the National Junior Classical League's individual website competition. This website, JJJCL, won a 2nd place award for how blindingly brilliant it was. I kept the site puttering along as I moved my static HTML site content from 'homepage.mac.com' to a personal bare metal webserver I ran for a few years, then eventually moved it to the server where I hosted this site (jeffgeerling.com).

But along the transition of this site from Drupal 6 to 7, it seems like that site dropped off the face of the Internet. And with it, part of my (embarrassing, design-wise? sure) history on the web. Luckily, I have archives of practically everything I've ever created, so today I'm happy to announce I have restored that part of my personal history to the Internet, along with another purpose-built static HTML site I built in Apple's short-lived iTools HomePage:

How I livestream with OBS, a Sony a6000, and a Cam Link

.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

A few weeks before this year's pandemic started affecting the US, I started live-streaming on my YouTube channel.

In the past, I've helped run live streams for various events, from liturgies in a cathedral to youth events in a stadium. (I even wrote a blog post on the topic a few weeks ago.)

For larger events, there was usually a team of camera operators. We also had remote control 'PTZ' cameras, and dedicated streaming hardware like a Tricaster.

For my own livestreams, I had a very limited budget, and only one person (me) to operate the camera, produce the live stream, and be the content on the live stream!

Ansible 101 by Jeff Geerling - YouTube streaming series

Ansible 101 Header Image

After the incredible response I got from making my Ansible books free for the rest of March to help people learn new automation skills, I tried to think of some other things I could do to help developers who may be experiencing hardship during the coronavirus pandemic and market upheaval.

So I asked on Twitter:

How to livestream Masses or other liturgies on YouTube

Note: I also posted a video with more information and a demonstration of how I live stream.

I've been working on video streaming on a tight budget for years, and have scrambled to get live-streaming going for some liturgies on short notice, so I figured I'd put together a video showing a few options from 'cheap using what you already have' to 'a little more expensive but within a reasonable budget'. Note that if you plan on having regular video streams for the long term, it's better to invest in a proper streaming system with remote-controlled PTZ cameras and hard-wired connections.

All of the options in this post will require at least a smartphone or computer (laptop preferred) with a good WiFi connection. Ideally, you can also plug your phone or laptop into power so the battery doesn't run out in the middle of the stream